Videostrong KII Pro (videostrong-kii-pro)
Overall a nice TV Box using the Amlogic S905 SoC. Could make a nice media center, powered by postmarketOS.
![]() Videostrong KII Pro | |
Manufacturer | Videostrong |
---|---|
Name | KII Pro |
Codename | videostrong-kii-pro |
Released | 2016 |
Category | testing |
Original software | Android |
Original version | 5.1.1 (+ preinstalled KII Pro software and a different launcher) |
Hardware | |
Chipset | Amlogic S905 |
CPU | 2.0 GHz Quad core |
GPU | Mali 450 |
Storage | 16 GB eMMC |
Memory | 2 GB |
Architecture | aarch64 |
USB Networking |
Broken |
---|---|
Flashing |
Broken |
Touchscreen |
Unavailable |
Display |
Unavailable |
WiFi |
Works |
FDE | |
Mainline |
Works |
Battery |
Unavailable |
3D Acceleration |
Works |
Audio |
Works |
Bluetooth |
Works |
Camera |
Unavailable |
GPS |
Unavailable |
Mobile data |
Unavailable |
SMS |
Unavailable |
Calls |
Unavailable |
USB OTG / USB-C Role switching |
Unavailable |
NFC |
Unavailable |
Accelerometer |
Unavailable |
---|---|
Magnetometer |
Unavailable |
Ambient Light |
Unavailable |
Proximity |
Unavailable |
Hall Effect |
Unavailable |
Barometer |
Unavailable |
Power Sensor |
Unavailable |
Keyboard |
Unavailable |
---|---|
Touchpad |
Unavailable |
USB-A |
Works |
HDMI/DP |
Works |
Ir TX |
Unavailable |
FOSS bootloader |
Works |
Primary Bootloader | |
---|---|
Secondary Bootloader |
Works |
Mainline |
Partial |
Internal Storage | |
SD card |
Works |
USB Host | |
USB Peripheral |
Unavailable |
Display |
Works |
Keyboard |
Broken |
Buttons |
Unavailable |
This TV Box runs a modified Android 5.1.1 OS that didn't seem to be updated at all by the manufacturer, it also includes many proprietary (and PUP) software.
Luckily, the KII Pro uses an Amlogic S905, which has some support in the mainline kernel. Even better, a device tree made specifically for the TV Box is also in the mainline kernel. As such, some GNU+Linux distributions support this TV Box with many other Amlogic-based TV Boxes.
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 flash mode
TODO: Figure out how to enter flash mode. |
The flash mode instructions of the Home X X1 might work for this device, but this is untested. The Amlogic HDMI boot dongle might work too but it's again untested.
That's not really needed though unless you bricked your STB (which is very unlikely as postmarketOS doesn't touch the internal eMMC yet, unless, of course, you wiped the eMMC from postmarketOS).
If the eMMC and SD card are not bootable, the STB will probably boot into the flash mode. Again, untested. |
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.
Installation
Only installing to an SD card works currently.
Use pmbootstrap to build your own image, like so:
$ pmbootstrap init
installing to an SD card. change 'mmcblkX' with the path of your SD card.
THIS WILL ERASE ALL DATA IN YOUR SD CARD
$ pmbootstrap install --sdcard=/dev/mmcblkX
What you need to do, basically is:
- Select the correct release channel (this device is currently only supported by edge)
- Select the right manufacturer (videostrong)
- Select the right device codename (kii-pro)
- Choose if you want nonfree firmware or not (required for working Wi-Fi and bluetooth)
- Answer all the other questions as you wish
Then:
- 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).
LEDs
The 2 LEDs the device has are functionnal.
Use /sys/class/leds/red:status
to control the LEDs, like this for example:
turn the blue LED off and the red LED on
# echo 1 > /sys/class/leds/red:status/brightness
turn the blue LED back off and the red LED back on
# echo 0 > /sys/class/leds/red:status/brightness
DVB hardware
See Videostrong KII Pro (videostrong-kii-pro)/DVB.
IR Receiver
Works! No setup is needed apart from using an interface that's optimized for remote controls.
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 8P8C port used for connecting to the internet (so-called 'Ethernet port') which works fine on postmarketOS as long as you boot it using a mainline U-Boot chainloaded from the vendor U-Boot.
Bluetooth
Bluetooth works, but requires nonfree firmware. It also requires a DTS patch which has been sent upstream.
FOSS bootloader
The KII Pro uses U-Boot as its primary bootloader. U-Boot v2020.07 (with some minor modifications) works on the TV Box. Newer versions also work, although HDMI output (until postmarketOS boots) and ethernet are broken.
Audio
Works. Needs a DTS kernel patch, which has been sent upstream. There are no ALSA UCM configs, so you may need to tinker around a little bit with alsamixer
for HDMI audio to work, which is fairly straightforward. And when you're done, you can save your configuration with this command:
# alsactl store
TODO: ALSA UCM |
Hardware acceleration
Seems to work! Weston and Plasma, as well as Plasma Bigscreen run fine on the device and the postmarketOS demos work fine too. Video encoding/decoding doesn't work however.
X11
Works fine. A custom configuration file is needed else it crashes (included).
HDMI-CEC
Sort of works. The TV detects a CEC device, but you cannot use the TV's remote to control the set top box (at least, on Plasma Bigscreen).
Seems like libcec
does detect which button in the remote is pressed.
UIs
Most UIs are expected to work, although you may want to use one suited for televisions (such as Plasma Bigscreen).
(This list isn't in any particular order)
Name | Display server | Notes |
---|---|---|
Phosh | Wayland | Works. |
KDE Plasma Desktop | Wayland | Works. A little unstable. |
KDE Plasma Mobile | Wayland | Doesn't work. After the lockscreen it's completly unusable. |
KDE Plasma Bigscreen | Wayland | Works. |
Weston | Wayland | Works. The cursor disappears sometimes when using an XWayland app. A little unstable (less than Plasma Desktop) |
LXQt | X11 | Works. |
Kodi on framebuffer | - | Works. |
GNOME and GNOME Classic | Wayland | Works. A little laggy. |
SXMO | X11 | Works. |
SXMO | Wayland | Works. |
MATE | X11 | Works. |
XFCE4 | X11 | Works. |
Disassembly guide
- Below the TV Box there are 2 screws, sometimes hidden by rubber. Peel the rubber off and unscrew the 2 screws.
- Remove the nut from the DVB-S2 port.
- Start removing the top of the case. A guitar pick can help
- Unscrew 3 screws from the PCB and remove it.
TODO: Add pictures and better explain what to do |
Pictures
Boot process
(Useful for porting other OSes to it)
if emmc +------+
+---------->| emmc |---------------+
| +------+ |
+---------+ | else if sd card +---------+ |
| SPI NOR |------+------------------>| sd card | |
+---------+ +---------+ |
|
+--------------------------------------------+
|
| +---------+ +-------------------+ +-----------------+
v +---->| sd card |---->| 's905_autoscript' |---->| v2020.07 u-boot |
+---------------+ if sd and multiboot mode | +---------+ +-------------------+ +-----------------+
| vendor u-boot |---------------------------+ |
+---------------+ else if emmc | +------+ +-----------------------------+ v
+---->| emmc |---->| vendor's android 5.1.1 fork | +----------+
+------+ +-----------------------------+ | extlinux |
+----------+
|
v
+--------------+
| postmarketOS |
+--------------+
Replace the vendor U-Boot
There are some experiments for replacing the vendor U-Boot in https://github.com/hexdump0815/u-boot-misc/releases made on some other, similar TV boxes.
In the Amediatech x96 mini (amediatech-x96 mini), for example, one can wipe the vendor U-Boot and replace it with a mainline U-Boot, but this is untested here and it may BRICK YOUR STB IF YOU TRY TO FOLLOW THE INSTRUCTIONS FOUND ON THE WIKI PAGE.
TODO: Figure out how to replace the vendor U-Boot. The Amediatech x96 mini guides might help. |
Maintainer
Contributors
- exkc (kernel package co-maintainer, helped writing the wiki, hacker that likes porting Amlogic devices to pmOS)
Users owning this device
- F (Notes: Porting postmarketOS to it. ONE BROKEN SCREW!!!)
See also
- pmaports!3833 -- Initial merge request
- Device package
- Kernel package
- linux-meson.com -- Porting mainline Linux and U-Boot to Amlogic SoCs
- (Outdated) notes
- LibreELEC -- has a working port for Amlogic set top boxes
- hexdump0815's U-Boot notes -- May be useful for replacing the vendor U-Boot