Jump to content

Xiaomi Mi 5s (xiaomi-capricorn)

From postmarketOS Wiki
Xiaomi Mi 5S
Xiaomi Mi 5S Running PMOS
Xiaomi Mi 5S Running PMOS
Manufacturer Xiaomi
Name Mi 5S
Codename capricorn
Released 2016
Type handset
Hardware
Chipset Qualcomm Snapdragon 821 (MSM8996Pro)
CPU Quad-core (2x2.15 GHz Kryo
2x1.6 GHz Kryo)
GPU Adreno 530
Display 5.15 inch 1080p
Storage 64 GB / 128 GB
Memory 3 GB / 4 GB
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android (MIUI) 6.0
Extended version
The most recent supported version from the manufacturer.
Android (MIUI) 7.0
FOSS bootloader no
postmarketOS
Category testing
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
pmOS kernel
The kernel version that runs on the device's port.
6.2.0
Features
Flashing
It is possible to flash the device with pmbootstrap flasher.
Works
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Partial
Battery
Charging and battery level reporting works
Works
Screen
Display works. Ideally with sleep mode and brightness control.
Works
Touchscreen
Works
Multimedia
3D Acceleration
Untested
Audio
Audio playback, microphone, headset and buttons.
Untested
Camera
Untested
Camera Flash
Untested
IR TX
Untested
IR RX
Untested
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Untested
NFC
Near Field Communication
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB-A
Full-sized USB-A port works (Usually applicable to SBCs and laptops).
Untested
USB OTG
USB On-The-Go or USB-C Role switching
Untested
HDMI/DP
Video and audio output with HDMI or Display Port works.
Untested
Sensors
Accelerometer
Auto screen rotation works in desktops e.g. Phosh or Plasma Mobile
Untested
Magnetometer
Sensor to measure magnetism
Untested
Ambient Light
Untested
Proximity
Untested
Hall Effect
Also known as flip cover sensor
Untested
Haptics
Untested
Barometer
Sensor to measure air pressure
Untested
Power Sensor
Sensor to monitor current, voltage and power. Not fuel gauge!
Untested

Contributors

  • Furkan Sonkaya (sepkov)

Users owning this device

  • Sepkov (Notes: 64GB Storage, 3GB Memory, Screen died mid project)


How to enter flash mode

Hold Power + Volume Down while the phone is turned off. This will make the phone boot into fastboot mode Hold Power + Volume Up while the phone is turned off. This will make the phone boot into reboot mode

Installation

You will need to unlock the bootloader in order to be able to flash anything onto the phone.

Installing TWRP before doing anything else is recommended, as it makes dealing with the phone easier later on, and allows for quick restoration by taking backups of /system and /boot, then flashing them back in order to restore the device to its original state. Note that this method has only been tested with LineageOS, and running its installation ZIP in TWRP after restoring the backup was necessary to get it to boot, otherwise it would just keep loading forever.

Note NOTE: Flashing to the system and boot partitions will wipe the Android core but will leave all apps and user files. If you want to be able to easily restore Android, it is recommended to backup both partitions using the method above.
Warning WARNING: Flashing to the data partition will erase all user data! Make sure all important files are backed up before flashing.
$ pmbootstrap init
$ pmbootstrap install

Manual Build

To build your own image, follow the pmbootstrap article.

Once you reach the flashing step:

  • Flash the rootfs:
$ pmbootstrap flasher flash_rootfs
Note NOTE: If you need more space in the rootfs, you can also flash to the data partition by appending --partition data to this command. More information about the partitions can be found in the prebuilt images section above.
  • Flash the kernel and initramfs to the boot partition:
$ pmbootstrap flasher flash_kernel

You can also avoid flashing them and instead, boot the kernel directly:

$ pmbootstrap flasher boot

Mainline

MSM8996 common mainline kernel fork There is none currently.

Known issues:

  • The display comes up black after initialization, works correctly after a reboot.

See also

Currently device is failing to give ip to the usb connected computer. Under linux you can use these commands to assign ip and connect to ssh. Replace X with your usb device. To list all network adapters:

$ ip a

And to change the ip address:

$ sudo ip addr add 172.16.42.2/24 dev usbX
$ sudo ip link set usbX up
OSZAR »