Jump to content

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

From postmarketOS Wiki
What works: Buttons work
m Add type
 
(26 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{note| This device is still running on armhf, although the processor supports armv7. If you own it, change it and test it [https://wiki.postmarketos.org/wiki/Tips_and_tricks#Update_the_architecture_of_your_device that] way.}}
{{Infobox device
{{Infobox device
| 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 = Android
| chipset = Qualcomm MSM8226
| originalversion = 4.3 (MIUI 6.0)
| cpu = Quad-core Snapdragon 400 1.6 GHz
| chipset = Qualcomm Snapdragon 400 (MSM8226)
| cpu = Quad-core 1.6 GHz Cortex-A7
| gpu = Adreno 305
| gpu = Adreno 305
| storage = 8GB EMMC, external micro-sd slot
| storage = 8GB eMMC, external micro-sd slot
| display = WLED, 720x1280
| display = 720x1280 WLED
| memory = 1GB
| memory = 1 GB
| architecture = armv7
| type = handset
| 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 44:
== 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 27: Line 51:
* Xwayland
* Xwayland
* Battery: charging status (/sys/class/power_supply/battery/status), capacity reporting (/sys/class/power_supply/battery/capacity)
* 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)
* Buttons: KEY_POWER, KEY_VOLUMEUP, and KEY_VOLUMEDOWN (triggerhappy can be used to handle them, see [[Troubleshooting:HID_buttons]])


== What does not work ==
== What does not work ==
* Screen: framebuffer console (no kernel boot log printed on the display)
 
* 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``)
* 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, buttons)
* 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 ==
== How to enter flash mode ==
* Entering fastboot: hold VolumeKeyDown + Power buttons until fastboot mode displayed on the screen.
* Entering fastboot: hold {{Button|Volume Down}} + {{Button|Power}} buttons until fastboot mode is displayed on the screen.
* Entering recovery: hold VolumeKeyUp + Power buttons. The default is Mi Recovery. TWRP is needed for installation, which can be obtained [https://twrp.me/xiaomi/xiaomiredmi1s.html here]
* Entering recovery: hold {{Button|Volume Up}} + {{Button|Power}} buttons. The default is Mi Recovery. TWRP is needed for installation, which can be obtained [https://twrp.me/xiaomi/xiaomiredmi1s.html here]


== Installation ==
== Installation ==
* 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.
 
=== pmbootstrap flasher method ===
 
* Put the device into fastboot mode by holding both {{Button|Volume Down}} + {{Button|Power}} buttons or rebooting into bootloader from the twrp reboot menu.
* Connect the device to the computer via usb cable
* Connect the device to the computer via usb cable
* Bootstrap PostmarketOS
* 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>


:<code>$ pmbootstrap init #select xiaomi-armani</code>
=== Android recovery.zip sideload method ===


:<code>$ pmbootstrap build -i device-xiaomi-armani</code>
* Put the device into TWRP recovery, either by booting twrp image via fastboot directly or by pressing {{Button|Volume Up}} + {{Button|Power}} button after flashing TWRP recovery image.
* Connect the device to the computer via usb cable
* Bootstrap PostmarketOS


:<code>$ pmbootstrap build -i firmware-xiaomi-armani</code>
:<code>$ pmbootstrap init #select xiaomi-armani</code>
 
:<code>$ pmbootstrap build linux-xiaomi-armani</code>


:<code>$ pmbootstrap install --no-fde --android-recovery-zip</code>
:<code>$ pmbootstrap install --android-recovery-zip</code>


:<code>$ pmbootstrap export # generate symlinks inside /tmp/postmarketOS-export directory</code>
:<code>$ pmbootstrap export # generate symlinks inside /tmp/postmarketOS-export directory</code>
Line 77: Line 115:


:<code>$ echo 3072 | sudo tee "/sys/class/leds/wled:backlight/brightness"</code>
:<code>$ echo 3072 | sudo tee "/sys/class/leds/wled:backlight/brightness"</code>
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 ==


* {{github|1204}} Initial pull request
* {{MR|1204}} Initial pull request
 
* [https://wiki.lineageos.org/devices/armani LineageOS wiki page]
* [https://wiki.lineageos.org/devices/armani LineageOS wiki page]
* {{Device package|xiaomi-armani}}
* {{Kernel package|xiaomi-armani}}

Latest revision as of 14:50, 13 September 2024

Note This device is still running on armhf, although the processor supports armv7. If you own it, change it and test it that way.
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
Type handset
Hardware
Chipset Qualcomm Snapdragon 400 (MSM8226)
CPU Quad-core 1.6 GHz Cortex-A7
GPU Adreno 305
Display 720x1280 WLED
Storage 8GB eMMC, external micro-sd slot
Memory 1 GB
Architecture armv7
Software
Original software Android
Original version 4.3 (MIUI 6.0)
postmarketOS
Category testing
Pre-built images no
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
No data
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
No data
Audio
No data
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
No data
GPS
No data
NFC
No data
Modem
Calls
No data
SMS
No data
Mobile data
No data
Miscellaneous
FDE
No data
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data


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 Volume Down + Power buttons until fastboot mode is displayed on the screen.
  • Entering recovery: hold Volume Up + 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 Volume Down + 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 Volume Up + 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