Videostrong KII Pro (videostrong-kii-pro)

The KII Pro is a set-top box made by Videostrong, using an Amlogic S905 SoC, and running a custom
(proprietary) fork of AOSP based on Amlogic's reference build. It also comes with DVB inputs and 
an infrared TV remote.
This page only documents info specific to this box. For installation instructions, look at the generic port's wiki page instead.
== Beaware of different versions ==
There were different versions of this TV box, all made by the same manufacturer. 
Videostrong just happens to (re)sell some of their products under the Mecool brand, with 
different hardware.
The 2 known versions of the KII Pro are the "original" KII Pro (the version this port is made for), which uses the 
Amlogic S905 SoC, and the newer Mecool KII Pro, which uses the Amlogic S905D SoC instead. They both look the same except 
the newer one most likely has a Mecool logo on the front, and the Mecool KII Pro seems to use Android 7.1.1 instead of 
Android 5.1.1. If you own the Mecool KII Pro then this port won't work there without some changes. 
It may work by using the right DTB file though but that's untested since F doesn't own a Mecool KII Pro.
== How to enter USB mode ==
You need a USB Type-A to USB Type-A cable.
* Unplug everything from your set-top box
* Plug your USB cable to the USB port at the top left (other USB ports won't work)
<pret>
 this one
_______ \/ ____________
 __ __ || \
 |__| |__| || \
 __ |__| |__| || \
__________________________\
</pre>
* Press and hold the reset button
 _||_||____________
| |
| O O |
| ------------ |
| ------------. < here
| ------------ |
| ------------ |
| O O |
|__________________|
* While holding the reset button, plug the USB cable to your computer
* After 5 seconds or so, release the reset button
* Run lsusb, you should see something like this:
$ lsusb
[...]
Bus 003 Device 004: ID 1b8e:c003 Amlogic, Inc. 
[...]
You'd also need a computer running Microsoft Windows with the Amlogic USB Burner or Amlogic Update if you wish to use GNU+Linux. Both software are 
proprietary.
== How to enter recovery mode ==
Also not needed. Press the reset button once while booting. You'll be booted to an Android recovery, where it may 
be possible to flash postmarketOS, but this is untested.
== Booting up (stock U-Boot) ==
# Put the SD card you installed postmarketOS on in the SD card slot
# The steps below need to be done only once (unless you format the internal eMMC)
## Unplug the power supply
## Press and hold the reset button below your TV box
## While holding the reset button, plug in your power supply back
## Keep holding the reset button until your screen gets a signal
A mainline U-Boot should load, and postmarketOS should boot up.
== What works ==
See the device status at the top (mobile) or at the right (desktop).
=== UART ===
File:KIIPro-UART-PinOut.png|thumb|left|Pinout
UART works, but is disabled by default when booting postmarketOS. You can enable UART in postmarketOS by editing the 
extlinux/extlinux.conf file located in the boot partition.
Find this line:
 append console=null
And change it to:
 append console=ttyAML0,115200
Then connect RX, TX, and Ground to your USB-to-TTL, according to the pinout shown above. DO NOT CONNECT THE 3V3 PAD 
Afterwards, you can now run:
# microcom -s 115200 /dev/ttyUSB0 # replace /dev/ttyUSB0 with the path of your USB-to-TTL device
=== LEDs ===
The 2 LEDs the device has are functionnal.
Use /sys/class/leds/red:status to control the LEDs, like this for example:
# echo 1 > /sys/class/leds/red:status/brightness # red: on, blue: off
# echo 0 > /sys/class/leds/red:status/brightness # red: off, blue: on
=== DVB hardware ===
See Videostrong KII Pro (videostrong-kii-pro)/DVB.
=== Wi-Fi and Ethernet ===
Wi-Fi works, but requires a nonfree firmware. It also doesn't seem to work properly sometimes. This issue also happens on the Xiaomi POCO F1 (xiaomi-beryllium). Doesn't happen on LibreELEC, which doesn't use NetworkManager, so it may be a problem with NetworkManager after all.
The TV box has an ethernet port which works fine on postmarketOS as long as you boot it using a mainline U-Boot chainloaded from the vendor U-Boot. This weird quirk has to do with the device tree.
=== Bluetooth ===
Bluetooth works, but requires nonfree firmware. It also requires a DTS patch which has been sent upstream.
== Pictures ==
File:videostrong-kii-pro-running-kde.jpg|300px|thumb|left|Running KDE Plasma!
File:Videostrong-kii-pro-mate.jpeg|300px|thumb|left|Running MATE.
File:Videostrong-kii-pro-tty.jpeg|300px|thumb|left|On a TTY. Running neofetch to look cool.
== Replace the vendor U-Boot ==
See Running mainline U-Boot as the primary bootloader
== Community info ==
=== Maintainers ===
* FerassElHafidi (f_ on IRC)
=== Contributors ===
=== Users owning this device ===
== See also ==
* Initial merge request
* 
* 
* linux-meson.com Porting mainline Linux and U-Boot to Amlogic SoCs
* (Outdated) notes
* LibreELEC has a working port for Amlogic set-top boxes