Videostrong KII Pro (videostrong-kii-pro)

From postmarketOS
Jump to navigation Jump to search
Videostrong KII Pro
Videostrong KII Pro
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)
postmarketOS kernel 6.1.10
Hardware
Chipset Amlogic S905
CPU 2.0 GHz Quad core
GPU Mali 450
Storage 16 GB eMMC
Memory 2 GB
Architecture aarch64
Features
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
Sensors
Accelerometer
Unavailable
Magnetometer
Unavailable
Ambient Light
Unavailable
Proximity
Unavailable
Hall Effect
Unavailable
Barometer
Unavailable
Power Sensor
Unavailable
Misc
Keyboard
Unavailable
Touchpad
Unavailable
USB-A
Works
HDMI/DP
Works
Ir TX
Unavailable
FOSS bootloader
Works
U-Boot
Primary Bootloader
Secondary Bootloader
Works
Mainline
Partial
Internal Storage
SD card
Works
USB Host
USB Peripheral
Unavailable
Display
Works
Keyboard
Broken
Buttons
Unavailable


This device is based on the Amlogic S905.
See the SoC page for common tips, guides and troubleshooting steps

Overall a nice TV Box using the Amlogic S905 SoC. Could make a nice media center, powered by postmarketOS.

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

Icon 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).

Note 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:

  1. Select the correct release channel (this device is currently only supported by edge)
  2. Select the right manufacturer (videostrong)
  3. Select the right device codename (kii-pro)
  4. Choose if you want nonfree firmware or not (required for working Wi-Fi and bluetooth)
  5. Answer all the other questions as you wish

Then:

  1. Put the SD card you installed postmarketOS on in the SD card slot
  2. The steps below need to be done only once (unless you format the internal eMMC)
    1. Unplug the power supply
    2. Press and hold the reset button below your TV Box
    3. While holding the reset button, plug in your power supply back
    4. 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
Icon 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

  1. Below the TV Box there are 2 screws, sometimes hidden by rubber. Peel the rubber off and unscrew the 2 screws.
  2. Remove the nut from the DVB-S2 port.
  3. Start removing the top of the case. A guitar pick can help
  4. Unscrew 3 screws from the PCB and remove it.
Icon 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.

Icon 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