Difference between revisions of "Xiaomi Redmi 1S (xiaomi-armani)"

From postmarketOS
Jump to: navigation, search
Line 2: Line 2:
| manufacturer = Xiaomi
| manufacturer = Xiaomi
| name =  Redmi 1S
| name =  Redmi 1S
| codename = armani
| codename = xiaomi-armani
| image = File:Armani.jpg
| image = File:Armani.jpg
| imagecaption = PostmarketOS running on Xiaomi Redmi 1S
| imagecaption = PostmarketOS running on Xiaomi Redmi 1S

Revision as of 04:20, 12 September 2018

Xiaomi Redmi 1S
PostmarketOS running on Xiaomi Redmi 1S
PostmarketOS running on Xiaomi Redmi 1S
Manufacturer Xiaomi
Name Redmi 1S
Codename xiaomi-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
Architecture armhf
USB Networking
3D Acceleration
Mobile data


  • alive4ever

What works

  • USB ethernet
  • Flashing, via android-recovery-zip (twrp) and pmbootstrap flasher
  • 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), directfb applications (osk-sdl and charging-sdl)
  • 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``)
  • Sound: don't know how to initialize the sound card
  • Other hardware features are untested (3D, 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


pmbootstrap flasher method

  • Put the device into fastboot mode by holding both VolumeKeyDown + Power buttons or rebooting into bootloader from the twrp reboot menu.
  • Connect the device to the computer via usb cable
  • Bootstrap PostmarketOS
$ pmbootstrap init #select xiaomi-armani
$ pmbootstrap install --no-fde
  • Flash the kernel and system
$ pmbootstrap flasher flash_kernel
$ pmbootstrap flasher flash_rootfs
  • Reboot the device
$ fastboot reboot

Android recovery.zip sideload method

  • 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
$ 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.

Hardware enablement effort

  • Framebuffer: directfb based applications don't work (osk-sdl and charging sdl)
  • Sound: unable to initialize the sound card on PmOS

See also

  • #1204 Initial pull request