Ares-novacom ERR! [Tips]: Failed to get ssh private key

Hello,

I’m trying to get into my LG TV but without success so far. I followed strictly the guide:

My PC is running under Linux Mint 20.3, which is based on Ubuntu focal.
I am using webos TV CLI 1.12.4-j27
My TV is running webOS 05.50.15 with developer mode enabled.

I have added my tv using the following command:

user@RiailleBox:~/Downloads/webOS_TV_SDK$ ares-setup-device
name                deviceinfo                connection  profile
------------------  ------------------------  ----------  -------
emulator (default)  developer@127.0.0.1:6622  ssh         tv     

** You can modify the device info in the above list, or add new device.
? Select add
? Enter Device Name: tv1
? Enter Device IP address: 192.168.1.18
? Enter Device Port: 9922
? Enter ssh user: prisoner
? Enter description: new device
? Select authentication password
? Enter password: [hidden]
? Set default target ? Yes
? Save ? Yes
name           deviceinfo                  connection  profile
-------------  --------------------------  ----------  -------
tv1 (default)  prisoner@192.168.1.18:9922  ssh         tv     
emulator       developer@127.0.0.1:6622    ssh         tv     

user@RiailleBox:~/Downloads/webOS_TV_SDK$ ares-novacom --device tv1 -k
ares-novacom ERR! [Tips]: Failed to get ssh private key

user@RiailleBox:~/Downloads/webOS_TV_SDK$ ares -V
webOS TV CLI Version: 1.12.4-j27

user@RiailleBox:~/Downloads/webOS_TV_SDK$ echo $LG_WEBOS_TV_SDK_HOME 
/home/user/Downloads/webOS_TV_SDK

I can ping my TV:

user@RiailleBox:~/Downloads/webOS_TV_SDK$ ping -c 3 192.168.1.18
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.18: icmp_seq=1 ttl=64 time=0.902 ms
64 bytes from 192.168.1.18: icmp_seq=2 ttl=64 time=0.756 ms
64 bytes from 192.168.1.18: icmp_seq=3 ttl=64 time=0.847 ms

— 192.168.1.18 ping statistics —
3 packets transmitted, 3 received, 0% packet loss, time 2018ms
rtt min/avg/max/mdev = 0.756/0.835/0.902/0.060 ms

Port 9922 is open and listening on my LG TV:

user@RiailleBox:~/Downloads/webOS_TV_SDK$ nmap -sT -p 9922 192.168.1.18
Starting Nmap 7.80 ( https://nmap.org ) at 2023-11-19 17:40 CET
Nmap scan report for lgwebostv-1.home (192.168.1.18)
Host is up (0.00047s latency).

PORT STATE SERVICE
9922/tcp open unknown

Nmap done: 1 IP address (1 host up) scanned in 0.02 seconds

I can list my device:

user@RiailleBox:~/Downloads/webOS_TV_SDK$ ares-novacom -D
name deviceinfo connection profile
------------- -------------------------- ---------- -------
*tv1 (default) prisoner@192.168.1.18:9922 ssh tv *
emulator developer@127.0.0.1:6622 ssh tv

However I can’t retrieve it’s private key, and I’m stuck at this point:

user@RiailleBox:~/Downloads/webOS_TV_SDK$ ares-novacom --device tv1 -k
ares-novacom ERR! [Tips]: Failed to get ssh private key

I believe I did everything right but still, I cannot get the private key of my LG TV to move on.

Any hints or suggestions of what I should do next ?

Thanks a lot

Did you click Key Server button in Developer Mode app? Key Server must be ON before getting the key file. For more information, please refer to App Testing with Developer Mode App. Thank you.

Hi ! And thanks for your reply. Yes, I did enabled the key server, which is ON, obviously. As I explained earlier, I did followed the guide very carefully, step by step. But still no luck :frowning:

Please make sure your PC is connected to the same network that webOS TV is connected to. If the problem persists, reconnect all devices and check again. Thank you.

My PC and the TV are on the same subnet, with the same netmask. They are on the same network. I have already tried to reconnect all devices several times, but no luck.

Strange thing is, after I try connecting to the TV to get the private key with the ares-novacom command, and despite the error, the developper app on the TV show the session time value. Before trying connecting, the session time is empty like “–:—”. After the ares command, it shows “993:…”

So it seems the TV sees the connection and setup a session, but still don’t send back the private key. This is very strange.

Sorry for the late reply. Please share the results of ares-novacom --device tv1 -k -v command. Thank you.

Thanks for your followup. Here is the results:

wisukind@RiailleBox:~/Downloads/webOS_TV_SDK/CLI/bin$ ./ares-novacom --device tv1 -k -v 
ares-novacom verb argv { device: 'tv1',
ares-novacom verb argv   getkey: true,
ares-novacom verb argv   level: 'verbose',
ares-novacom verb argv   argv: 
ares-novacom verb argv    { remain: [],
ares-novacom verb argv      cooked: [ '--device', 'tv1', '--getkey', '--level', 'verbose' ],
ares-novacom verb argv      original: [ '--device', 'tv1', '-k', '-v' ] } }
ares-novacom verb Resolver#load() 
ares-novacom verb Resolver#_loadOne() Regist privateKey : need to set a SSH private key in /home/wisukind/.ssh for'tv1'
ares-novacom verb Resolver#getDeviceBy() key: name , value: tv1
ares-novacom info Resolver#getSshPrvKey() targetDevice.host: 192.168.1.18
ares-novacom ERR! [Tips]: Failed to get ssh private key
ares-novacom verb Error
    at new b (/home/wisukind/Downloads/webOS_TV_SDK/CLI/lib/base/error-handler.js:7:92)
    at Object.e.getErrMsg (/home/wisukind/Downloads/webOS_TV_SDK/CLI/lib/base/error-handler.js:21:268)
    at Request._callback (/home/wisukind/Downloads/webOS_TV_SDK/CLI/lib/base/novacom.js:11:218)
    at self.callback (/home/wisukind/Downloads/webOS_TV_SDK/CLI/node_modules/request/request.js:185:22)
    at emitOne (events.js:116:13)
    at Request.emit (events.js:211:7)
    at Request.onRequestError (/home/wisukind/Downloads/webOS_TV_SDK/CLI/node_modules/request/request.js:877:8)
    at emitOne (events.js:116:13)
    at ClientRequest.emit (events.js:211:7)
    at Socket.socketErrorListener (_http_client.js:387:9)

After turning on Key Server, please enter the following command in your PC shell and check if the connection fails or the key file is printed.
curl http://<TV_IP>:9991/webos_rsa
If the connection failed, turn off Developer Mode, delete and reinstall Developer Mode app and check again. If the problem persists, reset the TV settings in Settings > General > System > Reset to Initial Settings menu and try again. Thank you.

Key server is enabled, but same story:

wisukind@RiailleBox:~/Downloads/webOS_TV_SDK/CLI/bin$ curl http://192.168.1.18:9991/webos_rsa
curl: (7) Failed to connect to 192.168.1.18 port 9991: Connection refused

I’ve tried uninstalling / reinstalling the dev app several times already, but no luck. Last remaining option is to do a factory reset, which is something I wanted to avoid :frowning:

Can you share your TV model name?

Sure, here you go:

Model: OLED55B8PLA
Serial: 810MACEH4955
WebOS: 4.4.2-11
ESN: LGTV20182=21002062980
Widevine: LGTV18CLGE002032537

Thanks again !

As of now, factory reset seems to be the only option to try. Sorry for not being helpful.

I have just tried factory reset, but unfortunately the problem is the same. Port 9991 remain closed and ares command failed to retrieve the private key.

It seems the dev mode is unfortunately bugged for my TV model :frowning:

Someone on GitHub finally found the solution to this problem. You need to actually uncheck all EULA licences agreement, reboot, enable it again and voila ! It works now thanks to that stupid workaround.

Full reference is here: https://github.com/webosbrew/dev-manager-desktop/issues/163

1 Like

This forum only supports LG SDK and LG API related issues. We cannot check 3rd party tools like this.