Hello all. A few days ago I was gifted a TV box to do whatever with it. It was being thrown out because it didn’t work anymore the way it was supposed to when bought.
The TV box is sold by a Russian company TVIP. This model has been discontinued some time ago (dunno when exactly) and all support is dropped, but it uses an Amlogic S805 CPU which was revealed in 2014, so you can say this device was being sold for at least a few years after.
This is my second device that I bring back to life. The first one was the MXQ S805 with pretty much the same hardware. Until I got it, I didn’t know anything about these things, but they seemed like small computers and the one I got had Android installed on it. Needless to say it was shit with Android – it lagged so much and the user wanted to throw it out also because he didn’t have any need for it anymore. Installing LibreELEC on it wasn’t much of a hassle and worked right away.
Before I got the MXQ, I was using LibreELEC on RPi1. It wasn’t great experience – RPi1 isn’t capable of running the system very well, but it worked. I am so happy with the MXQ device now – it’s fast and works flawlessly.
Getting back to TVIP… These devices were sold with two different firmwares from the manufacturer – some Linux-qt and Android variants, both of which suck. Actually the Android version is still usable, it can launch Kodi (v15 I think?) and the device doesn’t lag too much in general. The Linux-qt variant is pretty much broken and the device becomes useless because it doesn’t have any other functionality other than watching online TV. Might be because the IPTV links configured in the device are dead. But I don’t know for sure, would be nice if anyone could explain more :)
But these CPUs are pretty capable still, they were used in mini computers like Odroid C1. They are considered very old now and it’s hard to find general-purpose OSs built for this. It might be possible to turn it into a home-server by installing Armbian.
I didn’t want a home-server, so I chose to turn it into a usable tv-box and install LibreELEC on it. There also exists a fork of that called AlexELEC (latest version at this time is 3.2.9 and only the V31 worked). I had tried AlexELEC too, it looks like it’ll have more versions in the future, but I ultimately stuck with LibreELEC since it has a much larger community and it’s a very well known OS.
Installing and making it work for this particular device was a little more tedious than I expected. Below are the steps that I took to have a properly working system.
Firstly, I opened up the case to see what’s inside and there was a button on the board. Keeping it pressed while plugging in power would get you to a recovery window which is limited in itself. To install anything more you need to replace that with a custom recovery like TWRP (but it needs to be compiled for this CPU). To get custom recovery booted and installed you need to root the device first. Now it’s probably not necessary to install Android first on this device, but I did that to feed my curiosity to see how it looks and works.
Both Linux-qt and Android images are still available from their wiki page, so following the URL format there we get these:
Installing their update is simple: place the firmware zip file on an SD card, boot into recovery and do the update. More here.
After fiddling around with the system, I tried various rooting apps. None of which worked, might be that the android system was somehow modified or patched or something. After some time searching I found a root update file and it worked great. It must be installed like any update. The root update file can be downloaded here.
Ok, now the device is rooted. Download this custom recovery file and place it on the root of your SD card. Upon inserting the power it should boot into TWRP recovery, from there install it on the device to store it permanently.
Now it’s time to install the OS. Grab this image: http://kszaq.libreelec.tv/s805/18.104.22.168/LibreELEC-S805.arm-8.2-22.214.171.124-m201d.img.gz
Extract that to get an img file and using win32diskimager write it to your SD card. Insert the SD card into your tv-box and when turned on it should boot into LibreELEC.
When it’s done booting, you have the option to install it to your device or leave it like this to boot from your card. I prefer to boot from internal memory, so connect to it via SSH (using putty or some other client), use root:libreelec login (for AlexELEC it’s something else) and issue the command
And that should be it. For MXQ it was, but for TVIP the remote didn’t work at all. I had to create a new mapping file. Following instructions here it was very easy. To save you the trouble, you can try and use my file first.
Few things I did differently was that I didn’t need to kill lircd, only kodi, but it doesn’t hurt to do it anyway.
systemctl stop eventlircd
systemctl stop lircd
systemctl stop kodi
Also if you want to test something with ir-keytable, the command is like this:
ir-keytable -d /dev/input/event0 -t
And the way I got all the remote codes was that I ran the command
watch -n 5 dmesg -c and pressed one button at a time, writing down its code into the file.
If you want to test the file right away without rebooting, this command can be used:
Also, a remote for this tv-box has a few buttons to control your TV. They don’t work out of the box and must be programmed. How to do that you can read in the instruction manual here on the last page.
That’s it. I hope everything worked for you as easily as it did for me.