Xiaomi Redmi 1S (xiaomi-armani)
- 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)
- 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``)
- Sound: msm8226-asoc-tapan can't be built into kernel directly, since the module requests probe deferral.
- Here is part of kernel log with msm8226-asoc-tapan built directly into the kernel.
[ 2.116756] msm8226-asoc-tapan sound-9302.43: Property 'qcom,audio-routing' does not exist or its length is not even [ 2.116772] msm8226-asoc-tapan: probe of sound-9302.43 failed with error -22 [ 2.136644] platform sound.42: Driver msm8226-asoc-tapan requests probe deferral
- Will investigate it later.
- 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
- 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
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.
- #1204 Initial pull request