Georift / install-jellyfin-tizen

Install Jellyfin on your Samsung TV
https://tim.wants.coffee/posts/install-jellyfin-on-a-samsung-tv/
585 stars 40 forks source link

RTL layout in developer settings #30

Closed Natanel-Shitrit closed 1 month ago

Natanel-Shitrit commented 5 months ago

This isn't really an issue, just a problem I had and a fix for it - if someone else encounters it!

TL;DR

Someone at Samsung thought it was a good idea to make the Developer settings UI direction the same as the TV language, resulting with an RTL UI if your TV language is configured to an RTL language (Hebrew, Arabic, etc..)

This means that If you put the IP address in the settings like this:

192 168 1 2

It would result with the actual IP: 2.1.168.192

So in order to put the correct IP address, you need to put:

2 1 168 192

Which would be the correct address: 192.168.1.2

Details

I've tried to install Jellyfin on my Samsung TV but I was unsuccessful, and kept trying for a couple of weeks - but nothing really worked.

No matter what I've tried to do, I wasn't able to connect to my TV - not with Tizen Device Manager, not with sdb.exe, not with this docker image.

Error from Tizen Device Manager:

"error: failed to connect to remote target ..."

image

Error from sdb.exe:

"failed to connect to ..."

C:\tizen-studio\tools>sdb connect 192.168.1.89
* Server is not running. Start it now on port 26099 *
* Server has started successfully *
connecting to 192.168.1.89:26101 ...
failed to connect to 192.168.1.89:26101

Error from docker image:

"failed to connect to ...", "There is no connected target."

Attempting to connect to Samsung TV at IP address 192.168.1.89
* Server is not running. Start it now on port 26099 *
* Server has started successfully *
connecting to 192.168.1.89:26101 ...
failed to connect to 192.168.1.89:26101
Attempting to get the TV name...
Found TV name: XXXXX
Attempting to install jellyfin-tizen-builds Jellyfin-TrueHD.wgt from release: 2024-05-25-1632
https://github.com/jeppevinkel/jellyfin-tizen-builds/releases/download/2024-05-25-1632/Jellyfin-TrueHD.wgt
...

There is no connected target.

Finally today I was able to find the problem, I saw that the docker image is querying the TV model name from some HTTP server on the TV I checked the whole response:

curl -s http://192.168.1.89:8001/api/v2/ | jq
{
  "device": {
    "EdgeBlendingSupport": "",
    "EdgeBlendingSupportGroup": "",
    "FrameTVSupport": "",
    "GamePadSupport": "",
    "ImeSyncedSupport": "",
    "Language": "he_IL",
    "OS": "",
    "PowerState": "",
    "TokenAuthSupport": "",
    "VoiceSupport": "",
    "WallScreenRatio": "",
    "WallService": "",
    "countryCode": "",
    "description": "",
    "developerIP": "2.1.168.192",
    "developerMode": "1",
    "duid": "",
    "firmwareVersion": "",
    "id": "",
    "ip": "192.168.1.89",
    "model": "",
    "modelName": "",
    "name": "",
    "networkType": "",
    "resolution": "",
    "smartHubAgreement": "",
    "ssid": "",
    "type": "",
    "udn": "",
    "wifiMac": ""
  },
  "id": "",
  "isSupport": "",
  "name": "",
  "remote": "",
  "type": "",
  "uri": "",
  "version": ""
}

Unrelated things are redacted

There it was, the IP is reversed - I immediately knew this was an RTL issue because I'm used to it so much from other things.

Fix

Either:

Georift commented 1 month ago

Thanks for the report, it would be good to add a note to the readme about this. I'll leave this issue open until we do that.