Xiaomi Redmi 1S (xiaomi-armani)

== Contributors ==
* 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 + buttons until fastboot mode is displayed on the screen.
* Entering recovery: hold + buttons. The default is Mi Recovery. TWRP is needed for installation, which can be obtained here
== Installation ==
=== pmbootstrap flasher method ===
* Put the device into fastboot mode by holding both + 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
* 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 + button after flashing TWRP recovery image.
* Connect the device to the computer via usb cable
* Bootstrap PostmarketOS
:$ pmbootstrap init #select xiaomi-armani
:$ pmbootstrap install --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 ==
* Initial pull request
* LineageOS wiki page
* 
*