Xiaomi Redmi 1S (xiaomi-armani)

From postmarketOS
Revision as of 00:22, 17 February 2018 by Alive4ever (talk | contribs) (→‎What works: add reference to buttons troubleshooting page)
Jump to navigation Jump to search
Xiaomi Redmi 1S
PostmarketOS running on Xiaomi Redmi 1S
PostmarketOS running on Xiaomi Redmi 1S
Manufacturer Xiaomi
Name Redmi 1S
Codename armani
Released 2014
Category testing
Original software MIUI 6.0 (based on Android 4.3)
Chipset Qualcomm MSM8226
CPU Quad-core Snapdragon 400 1.6 GHz
GPU Adreno 305
Display WLED, 720x1280
Storage 8GB EMMC, external micro-sd slot
Memory 1GB
USB Networking
3D Acceleration
Mobile data


  • alive4ever

What works

  • USB ethernet
  • Flashing, via android-recovery-zip (twrp)
  • Touchscreen (ft5x06_i2c)
  • Screen: framebuffer (/dev/fb0), backlight & brigtness control (/sys/class/leds/wled:backlight/brightness)
  • Notification leds (/sys/class/leds/red/brigtness, /sys/class/leds/green/brightness, /sys/class/leds/blue/brightness)
  • Wifi: via wcnss-wlan and wlanarmani service (which does modprobe wlan on system boot after wcnss-wlan service has been initialized)
  • Xwayland
  • Battery: charging status (/sys/class/power_supply/battery/status), capacity reporting (/sys/class/power_supply/battery/capacity)
  • Buttons: KEY_POWER, KEY_VOLUMEUP, and KEY_VOLUMEDOWN (triggerhappy can be used to handle them, see Troubleshooting:HID_buttons)

What does not work

  • Screen: framebuffer console (no kernel boot log printed on the display)
  • Wifi: rfkill (no support for blocking wireless via rfkill block wifi or nmcli radio wifi off). The only way to block wireless is unloading wlan module (``rmmod wlan`` or ``/etc/init.d/wlanarmani stop``)
  • Other hardware features are untested (3D, sound, bluetooth, modem, gps, accelerometer)
  • Xorg based UI: postmarketos-ui-xfce4 displays nothing on the screen.

How to enter flash mode

  • Entering fastboot: hold VolumeKeyDown + Power buttons until fastboot mode displayed on the screen.
  • Entering recovery: hold VolumeKeyUp + Power buttons. The default is Mi Recovery. TWRP is needed for installation, which can be obtained here


  • Put the device into TWRP recovery, either by booting twrp image via fastboot directly or by pressing VolumeKeyUp + Power button after flashing TWRP recovery image.
  • Connect the device to the computer via usb cable
  • Bootstrap PostmarketOS
$ pmbootstrap init #select xiaomi-armani
  • Optional: build the device specific packages. Actually, there is no need to build the device specific packages since they are available on PostmarketOS repository.
$ pmbootstrap build -i device-xiaomi-armani
$ pmbootstrap build -i firmware-xiaomi-armani
$ pmbootstrap build linux-xiaomi-armani
$ pmbootstrap install --no-fde --android-recovery-zip
$ pmbootstrap export # generate symlinks inside /tmp/postmarketOS-export directory
  • Put the twrp recovery into sideload mode
$ adb shell "twrp sideload"
  • Start sideloading the recovery file
$ adb sideload /tmp/postmarketOS-export/pmos-xiaomi-armani.zip
  • Reboot the device
$ adb reboot

Additional info

It's necessary to unplug the usb cable after issuing ``poweroff`` command to properly shut down PostmarketOS.

Don't leave screen on for a long time, otherwise there will be LED burn-in. If the display screen is not used, turn the screen off.

$ echo 0 | sudo tee "/sys/class/leds/wled:backlight/brightness"

The screen can be turned on with maximum value up to 4095

$ echo 3072 | sudo tee "/sys/class/leds/wled:backlight/brightness"

Battery state can be monitored. Refer to Battery capacity monitoring for more information.

See also

  • #1204 Initial pull request