Videostrong KII Pro (videostrong-kii-pro)

From postmarketOS
Videostrong KII Pro
Videostrong KII Pro
Videostrong KII Pro
Manufacturer Videostrong
Name KII Pro
Codename videostrong-kii-pro
Released 2016
Category testing
Pre-built images no
Original software Android
Original version 5.1.1 (+ preinstalled KII Pro software and a different launcher)
postmarketOS kernel 6.3.3
Hardware
Chipset Amlogic S905
CPU 2.0 GHz Quad core
GPU Mali 450
Storage 16 GB eMMC
Memory 2 GB
Architecture AArch64
Type set-top box
Features
Flashing
Broken
WiFi
Works
FDE
Mainline
Works
3D Acceleration
Works
Audio
Works
Bluetooth
Works
Internal storage
Misc
Built-in DVB
Broken
USB-A
Works
HDMI/DP
Works
Ir RX
Works
Memory Card
Ethernet
Works
FOSS bootloader
Works
U-Boot
Primary Bootloader
Works
Secondary Bootloader
Works
Mainline
Partial
Internal Storage
SD card
Works
USB Host
Display
Works
Keyboard
Broken
This device is based on the Amlogic S905.
See the SoC page for common tips, guides and troubleshooting steps

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.

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

Note This isn't needed to boot up postmarketOS. It's only really used if you bricked your set-top box.

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)
     this one
_______ \/ ____________
        __   __     || \
       |__| |__|    ||  \
   __  |__| |__|    ||   \
__________________________\
  • 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.

Note If the eMMC and SD card are not bootable or you inserted an Amlogic HDMI dongle (see Amlogic), the set-top box will boot into flash mode.

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

UART

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 PMOS_NO_OUTPUT_REDIRECT

And change it to:

  append console=ttyAML0,115200 PMOS_NO_OUTPUT_REDIRECT

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.

Audio

Works. 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

Disassembly guide

Icon TODO: Good disassembly guide.
  • Flip your set-top box and unscrew the following screws:
         | | | |
       __| |_| |_______________________________
      |                                        |
      |   ( )                           ( )    |
      |                                        |
      |                                        |
      |                                        |
      |                                        |
      |                                        |
      |                                        |
      |                                        |
 this >   (o)                        o  ( )    |
      |                             /\         |
      |_________________________ and this  ____|
  • Unscrew the nut in the DVB-S2 port
  • Pry the top casing

Pictures

Replace the vendor U-Boot

See Running mainline U-Boot as the primary bootloader

Community info

Maintainers

  • FerassElHafidi (f_ on OFTC and Libera, @notrealvitali64:matrix.org on Matrix (NOT USED. PLEASE USE IRC))

Contributors

Users owning this device

  • FerassElHafidi (Notes: Wiped eMMC. Porting postmarketOS and Arm Trusted Firmware-A to it.)


See also