My opinion of LG TVs has changed. I used to really like them. They guaranteed updates for 10 years, and seemed to show far fewer adverts than other Smart TV manufacturers, but they seem to be following the same path of collecting as much data as possible and putting adverts everywhere, at the cost of user experience. So I’ve rooted all of my TVs to take back some control of them.
Login Issues and Changing Terms
Unfortunately, the most recent LG TV I bought has a new restriction. You cannot download apps unless you first login to LG. This seems a ridiculous requirement to me, and was made worse by their login system being broken. When I tried to create an account on the website, it just errored stating “Invalid terms type”. I contacted support, but they seemed unable to help. Best guess is they had misconfigured something, and you have to agree to more terms than what it showed as required on the page. Not wanting to legally agree to terms just to test a theory, I eventually found a workaround from a forum post almost a decade ago, which was to login at lg.com first.
To re-iterate that, this has been an issue with the LG login system for almost 10 years!
There are a few things that bother me with this saga:
- Even with screenshots of the error and a full HTTP dump from my browser, LG seemed unwilling to investigate. They seemed to want me to perform their testing for them, even suggesting I create a new email account to try with in case it is a problem with my account.
- If you don’t login, the TV doesn’t do what it is marketed to do. I was unable to login with an LG account due to their system being broken, so from my perspective, the TV is broken and should be fixed or refunded.
- Many smart products such as TVs now require you to sign up for an account, which usually involves agreeing to some terms at any point, sometimes with no notice at all. They usually also reserve the right to update the terms. This happens AFTER you make the purchase, and I am unsure if they would consider “I don’t agree to the terms”, or “You updated the terms and I no longer agree” as valid reason for a refund, even though they don’t specify anything about the terms at the time of purchase.
I was only trying to download an app, but it ended up taking days. Combined with my annoyance at YouTube putting adverts in the middle of sentences, my patience expired, and I decided to root my TVs.
Rooting My TVs
This was surprisingly straightforward, but annoyingly, you have to have the LG login working.
-
- Ope the LG Content Store. Search for and install “Developer Mode”.
- Open and login to the Developer Mode app.
- Set “Dev Mode Status” to “On”. The TV will reboot.
-
Enable and connect to SSH
-
Reopen the Developer Mode app and set “Key Server” to “On”
-
Download the SSH key from:
http://<hostname>:9991/webos_rsa
-
On linux, ensure the key file permissions are set correctly:
chmod 600 ./webos_rsa
-
Connect to the TV via SSH. You will be prompted for a passphrase, this is shown on the TV.
ssh prisoner@<hostname> -p 9922 -o HostkeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa -i ./webos_rsa
-
-
While connected to the TV via SSH, run autoroot
-
Change to a writable directory:
cd /tmp
-
Download the autoroot script to the TV:
wget https://github.com/throwaway96/faultmanager-autoroot/raw/refs/heads/main/autoroot.sh
-
Make the script executable:
chmod +x ./autoroot.sh
-
Run the script
./autoroot.sh
-
⚠️ IMPORTANT: Remove the Developer Mode app! ⚠️
-
Reboot
-
Post-root Configuration
After rooting, you should have the Homebrew app installed on your TV. I have seen different settings configured by default, some seem questionable for security, so I perform the following steps:
- Open the Homebrew app
- Select the settings cog
- Disable Telnet
- Disable SSH Server
- Turn on “Block system updates”
- Disable “Failsafe mode”