Jump to content

Xiaomi Mi TV Stick (xiaomi-aquaman)

From postmarketOS Wiki
Revision as of 15:35, 23 February 2025 by Exkc (talk | contribs) (Installation)
Note This device is supported as part of a generic port. Refer to Amlogic Generic TV Box (amlogic-tvbox) for installation instructions and more information.
This device has been tested with postmarketOS, but its device package has not yet been added to the postmarketOS repositories.
This means that it cannot be selected in pmbootstrap.
Xiaomi Mi TV Stick
Manufacturer Xiaomi
Name Mi TV Stick
Codename xiaomi-aquaman
Released 2020
Type set-top box
Hardware
Chipset Amlogic S805Y
CPU Quad-core 1.2 GHz Cortex-A53
GPU ARM Mali-450
Display Up to 1080p over HDMI
Storage 8GB
Memory 1GB
Architecture aarch64
Software
Original software Android (TV)
Original version 9
Extended version 10
FOSS bootloader no
postmarketOS
Category testing
Pre-built images no
Mainline partial
Generic port Amlogic Generic TV Box (amlogic-tvbox)
Features
USB Networking
Broken
Internal storage
No data
SD card
No data
Multimedia
3D Acceleration
Partial
Audio
Works
Connectivity
WiFi
Broken
Bluetooth
Broken
Miscellaneous
FDE
No data
USB OTG
Works
HDMI/DP
Works
Sensors
Power Sensor
No data


Contributors

Users owning this device

  • 19atlas (Notes: 1080p green version, No go command, edited bootcmd)
  • Exkc
  • FerassElHafidi (Notes: Green 3rd variant. Runs Android 10.)
  • Knuxify (Notes: 2x; one works (blue variant), one has random shutdowns which seem to be caused by it overheating, since it works fine with the top of the casing taken off (green variant). Both running Android 9)
  • Mertoalex (Notes: family uses it, I debloated it with UAD-ng.)


How to enter bootROM USB mode

Plug an Amlogic HDMI boot dongle.

The USB mode does not seem to be password-locked, although SecureBoot is enabled.

How to enter recovery mode

Note On older firmware versions, you can get a shell in recovery via UART, however it is heavily restricted due to SELinux. Newer firmware versions do not expose a shell via UART.

Hold down the OK+Back keys on the remote while booting to boot into recovery.

Alternatively,

  • Plug in to PC
  • Enable devloader mode in settings
  • Run adb reboot recovery

Note that OTG does not work in the recovery, unlike on the Mi Box 3.

How to enter fastboot

  • Plug in to PC
  • Enable devloader mode in settings
  • Run adb reboot fastboot

WiFi

There are many variants with many different WiFi chips, including ones from Amlogic (not supported in mainline) or Realtek (some are supported, others aren't).

PCB variants

There are three variants of the stick. The first one has a green PCB, and was presumably sold in 2020. The second one is recognisable because of its blue PCB, and very different layout. It has been discovered that there is a third variant, which is similar to the first one, with a green PCB, and some minor layout changes.

UART pinout is known for the first and third variant, but not for the second variant (with the blue PCB).

The third variant seems to come with Android 10 out of the box, although upgrades to Android 10 are available in some regions for the other 2 variants. All three are functionally identical (if you don't take the Wi-Fi chip into account).It seem that the third variant are manufactured in 2024 and there are sticker on the box of third variant saying it is manufactured at 2024.

Identify your firmware versions

Based on what we know so , there are mainly three type of version android 10 ,newer android 9,older android 9.they all behave definitely thus we can identify the firmware by their uboot's behavior.

After running the command :

fastboot oem go 0x1000

then the device should behave as fellow :

1. Crashed and reboot (That mean you are likely on older android 9 with unlocked/locked bootloader)

2. The device responding bootloader is locked (That mean you are likely on android 10 with unlocked/locked bootloader)

3. The device didnt crash and it is still in fastboot (That you are likely on android 10 with unlocked bootloader or newer android 9 with unlocked/locked bootloader)

Installation

Note WiP

Installing pmOS to your disk

Warning WARNING: DO NOT PLUG multiple USB stick into the stick during boot.If you do have multiple USB stick pluged in druing boot , please make sure the usb 0 in u-boot is the pm os usb stick.

Use pmbootstrap to build your own image, like so:

$ pmbootstrap init
$ pmbootstrap install --sdcard=/dev/sdX # change 'sdX' with the path of your USB drive

Booting

Due to the different behavior mention above hence are different way to boot pmos on the stick.

Older Android 9

Newer Android 9

Android 10

see also