Getting shell access on NETTV's Android Setup Box using the UART interface
Since the launch of IPTV in 2016 by NETTV, it has been dominating the TV market. Because of its many features and capabilities, the Dish TV market has been declining in city areas or areas where there is a reach of fiber connection. Over the years, NETTV as a brand has come through many changes. As of now, Worldlink Communications owns it. The ISP is known for its restrictive methods, as it doesn't allow router access to its customers. The same thing is done on the setup box they are using for the NETTV.
The setup box they are using for their IPTV packs average specs, with only 1 GB of RAM, an Amlogic S905X Processor, and a mere 8 GB of Internal Storage. It's running Android OS with a very restrictive launcher kept on the home screen. This means you won't be able to use developer tools settings or adb on it.
The problem here is you won't be able to sideload any apps on it. You are stuck with the apps that the company chooses to provide. There have been many attempts and bypasses to sideload the apps. But they were patched in the latest firmware update.
Previously there was a feature introduced on the NETTV box that let users remote control it through the network. But some users found a way to use that to send some other remote navigation packets to the box, making it open Android's Native System Settings. With that opened, users could enable the developer option and with adb enabled basically have shell access. Also, the box comes pre-rooted.
This method stopped working soon after NETTV noticed it and they removed the Remote feature from the Box.
Another method surfaced which involved using IR Blaster phones to send the right keymap to open the Native Setting again on the box. But that was also patched by on the firmware version 020809. If you have firmware version 020F07 or less, you can try this method to bypass the restriction in a much easier way.
Now talking about the UART Interface method. You need to have a UART to USB converter dongle first. You can buy it from Daraz. I used this one and it worked flawlessly.
If you don't know what is UART and how it works you can watch this video.
Now once you know how it works. Open your NETTV setup box. Look for that UART Pin out and connect it to the right pin.
Since I have done it myself and figured out which PIN is for what, I have this image labeled below that will help you.
Once you connect the right PIN, power on the box while connecting it to the converter that is connected to the PC, and use the right bit rate for the communication. I think used 115200, but I might be wrong. If it starts throwing gibberish try 9600.
I used Putty on Windows for the serial connection. You can use whatever tool you like. Once you get everything right you should get a booting info throw in the screen that is similar to Linux. Once it completes booting, you have the shell access. It's that easy.
You can go full root using
su and start modifying things you would like to change. The first thing I did was install a different launcher and that's all. Since it's an adb shell, you can directly install apps using adb commands.
And that's all. With a different launcher, you can install other 3rd party apps. For me, installing SmartTubeNext was a big deal, as this app has tons of features including Sponsorblock and Adblocks.