I must admit, I’m baffled to see LG pull a stunt like this after having faced public backlash over their spying on their customers’ TV viewing habits. After backpedaling on the issue last year, they’ve now done a full 180 and reserve the right to record your entire viewing habits and share this data with everyone and their mom, even in countries with most likely less strict data protection laws. And here’s the kicker: if you don’t agree to these terms, many of the SmartTV features you paid for will be lost!
That’s apparently par for the course cause LG also removed the ability to switch audio tracks on local DLNA playback some firmwares ago (alledgedly due to copyright reasons). And when I set my LG TV to a non-existant gateway to stop it from sending my data to LG (my old Fritzbox does not blacklist), I could not connect to my local NAS anymore despite it being in the same network segment.
Also bad is the fact that, probably due to being embarrassed on a regular basis by all the bugs and removed features of their firmwares, LG does not offer changelogs. So when you’ve updated your TV’s firmware on the slim hope of seeing some improvements/fixes, you’ll notice the new terms you’ll be forced to agree to only after the fact! And since LG offers no way to downgrade the firmware, you’re suddenly stuck with a device with less features and more spying on you than you bargained for.
Fortunately, some Russian hackers felt the need to adress the issue and reverse engineered the firmware update process and made a small business out of giving the LG customers what they want. Others took note and devised a do-it-yourself approach to downgrade your TV (thx, nenif).
How to downgrade your LG TV’s firmware
The idea is simple enough: download an older official firmware from the LG website and use your own DNS server on your PC/laptop to trick your TV into thinking it’s downloading from the official site. Supposedly this method applies to the 2012/2013 models, I’ve successfully done it with my 40LN5758 (downgrading from 04.22.xx to 04.04.05) using the instructions below. With more recent firmwares you might have to add some additional steps mentionend in the comments (thanks to all contributers). So if at first you don’t succeed, please check em out.
NOTE: I’M NOT RESPONSIBLE FOR ANYTHING THAT MIGHT GO WRONG WITH THE DOWNGRADE – YOU’RE DOING THIS AT YOUR OWN RISK!
- Download LgDTVUpDater_new.zip and unzip it to your drive c:\ so that you end up with a dir called c:\LgDTVUpDater (another destination will likely result in error messages later on).
- Check out the folder “Antwort” inside the htdocs folder. That’s a translation of “response”, meaning the server’s responses people already received and listed for your convenience. Browsing the files inside you can see links to lots of older firmwares.
- Download the firmware you want to downgrade to and unzip it to C:\LgDTVUpDater\htdocs\
- Open C:\LgDTVUpDater\dns\AcrylicHosts.txt in an editor like Notepad++ and change the IP adress of snu.lge.com in the last line to your PC’s address (in my case 10.10.10.40), then save the file. As suggested in the comments, downgrading from more recent firmwares might require to add additional servers: rdvs.alljoyn.org, fi.lgtvsdp.com, us.lgtvsdp.com – one per line – with the same IP address.
- Start C:\LgDTVUpDater\startDNS.bat and then C:\LgDTVUpDater\startHTTP.bat with a double-click resulting in 2 black windows (showing that the Acrylic DNS server and the Apache server are running) and probably your firewall complaining. In that case, allow both.
- On your TV select Settings > Network Connection > Start Connection > Cancel > Manual Setup > Wired (firmware updates are huge and any disconnects over wireless might lead to bricking your TV). Keep IP MODE on Auto Input, set DNS MODE to Manual Input and enter your PC’s IP address
- Select Settings > Support > Software Update > Check Update Version but do not update! Close when the check has been performed. This check generates a file with some needed info on your TV’s model.
- Open C:\LgDTVUpDater\htdocs\in_dump.txt and copy your TV’s model name from inside the MODEL_NM-tag. For my LN5758 it’s
- Check C:\LgDTVUpDater\htdocs\ if a file of that name already exists (these are text files with a simple xml structure inside, they have no extension like .txt or .xml). If not, copy one of the other files over to that name
- Edit the new file, in my case HE_DTV_NC4H_AFAAABAA. It will look quite jumbled cause there are no line breaks. If you add them manually, it looks something like this:
- There are only a few entries to change:
IMAGE_URL: the IP of your PC
IMAGE_NAME: name of the firmware file you unzipped
CDN_URLIP: IP of your PC and name of the firmware
You can also change
UPDATE_MAJOR_VER: major version of the firmware
UPDATE_MINOR_VER: minor version of the firmware
but this should only be cosmetic cause the revision number is also stored inside the epk. The FORCE_FLAG set to Y should ensure any current version being overwritten with the one you’ve downloaded, thus enabling the downgrade in the first place.
Save the file.
- Now close the two command prompt windows and double-click again on C:\LgDTVUpDater\startDNS.bat and then C:\LgDTVUpDater\startHTTP.bat
- On your TV select Settings > Support > Software Update > Check Update Version: a new firmware is found! Update.
- When the update is through (which should be pretty fast since it’s done from your PC), the TV will reboot.
- Upon restart, you’ll get a message window with another progress bar (in my case a yellow frame with the foreign language text flipped). The firmware you just downloaded to your TV is now being installed. Once this is through, the downgrade is complete.
Feel free to add model numbers of TVs you successfully downgraded or links to firmwares in the comment section.