Difference between revisions of "Xiaomi Redmi 1S (xiaomi-armani)"
Jump to navigation
Jump to search
Alive4ever (talk | contribs) (→Installation: add debug shell hook to troubleshoot the boot loop) |
m (chipset) |
||
(7 intermediate revisions by 5 users not shown) | |||
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 | ||
| releaseyear = 2014 | | releaseyear = 2014 | ||
| originalsoftware = MIUI 6.0 (based on Android 4.3) | | originalsoftware = MIUI 6.0 (based on Android 4.3) | ||
− | | chipset = Qualcomm | + | | chipset = Qualcomm MSM8228 Snapdragon 400 |
| cpu = Quad-core Snapdragon 400 1.6 GHz | | cpu = Quad-core Snapdragon 400 1.6 GHz | ||
| gpu = Adreno 305 | | gpu = Adreno 305 | ||
Line 13: | Line 13: | ||
| display = WLED, 720x1280 | | display = WLED, 720x1280 | ||
| memory = 1GB | | memory = 1GB | ||
+ | | architecture = armhf | ||
+ | | status_usbnet = Y | ||
+ | | status_flashing = Y | ||
+ | | status_touch = Y | ||
+ | | status_screen = Y | ||
+ | | status_wifi = Y | ||
+ | | status_xwayland = Y | ||
+ | | status_fde = | ||
+ | | status_mainline = | ||
+ | | status_battery = | ||
+ | | status_3d = | ||
+ | | status_accel = | ||
+ | | status_audio = | ||
+ | | status_bluetooth = | ||
+ | | status_camera = | ||
+ | | status_gps = | ||
+ | | status_mobiledata = | ||
+ | | status_sms = | ||
+ | | status_calls = | ||
+ | | booting = yes | ||
}} | }} | ||
Line 20: | Line 40: | ||
== What works == | == What works == | ||
* USB ethernet | * USB ethernet | ||
− | * Flashing, via android-recovery-zip (twrp) | + | * Flashing, via android-recovery-zip (twrp) and pmbootstrap flasher |
* Touchscreen (ft5x06_i2c) | * Touchscreen (ft5x06_i2c) | ||
* Screen: framebuffer (/dev/fb0), backlight & brigtness control (/sys/class/leds/wled:backlight/brightness) | * Screen: framebuffer (/dev/fb0), backlight & brigtness control (/sys/class/leds/wled:backlight/brightness) | ||
Line 31: | Line 51: | ||
== What does not work == | == What does not work == | ||
− | + | * Screen: framebuffer console (no kernel boot log printed on the display), directfb applications (osk-sdl and charging-sdl) | |
− | |||
− | * 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``) | * 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: | + | * Sound: don't know how to initialize the sound card |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
* Other hardware features are untested (3D, bluetooth, modem, gps, accelerometer) | * Other hardware features are untested (3D, bluetooth, modem, gps, accelerometer) | ||
* Xorg based UI: postmarketos-ui-xfce4 displays nothing on the screen. | * Xorg based UI: postmarketos-ui-xfce4 displays nothing on the screen. | ||
Line 170: | Line 63: | ||
== Installation == | == Installation == | ||
+ | |||
+ | === 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 | ||
+ | ::<code>$ pmbootstrap init #select xiaomi-armani</code> | ||
+ | ::<code>$ pmbootstrap install</code> | ||
+ | * Flash the kernel and system | ||
+ | ::<code>$ pmbootstrap flasher flash_kernel</code> | ||
+ | ::<code>$ pmbootstrap flasher flash_rootfs</code> | ||
+ | * Reboot the device | ||
+ | ::<code>$ fastboot reboot</code> | ||
+ | |||
+ | === 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. | * 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 | * Connect the device to the computer via usb cable | ||
Line 176: | Line 85: | ||
:<code>$ pmbootstrap init #select xiaomi-armani</code> | :<code>$ pmbootstrap init #select xiaomi-armani</code> | ||
− | + | :<code>$ pmbootstrap install --android-recovery-zip</code> | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | :<code>$ pmbootstrap install | ||
:<code>$ pmbootstrap export # generate symlinks inside /tmp/postmarketOS-export directory</code> | :<code>$ pmbootstrap export # generate symlinks inside /tmp/postmarketOS-export directory</code> | ||
Line 218: | Line 113: | ||
Battery state can be monitored. Refer to [[Battery capacity monitoring]] for more information. | 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 == | == See also == |
Revision as of 23:54, 28 August 2019
USB Networking |
Works |
---|---|
Flashing |
Works |
Touchscreen |
Works |
Display |
Works |
WiFi |
Works |
Xwayland |
Works |
FDE | |
Mainline | |
Battery | |
3D Acceleration | |
Accelerometer | |
Audio | |
Bluetooth | |
Camera | |
GPS | |
Mobile data | |
SMS | |
Calls | |
USB OTG | |
Contents
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 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
Installation
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
- 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 --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