Jump to content

Xiaomi Redmi Note 6 Pro (xiaomi-tulip)

From postmarketOS Wiki
Xiaomi Redmi Note 6 Pro
Xiaomi Redmi Note 6 Pro
Xiaomi Redmi Note 6 Pro
Manufacturer Xiaomi
Name Redmi Note 6 Pro
Codename xiaomi-tulip
Released 2018
Type handset
Hardware
Chipset Qualcomm Snapdragon 636 (SDM636)
CPU 4x1.8 GHz Kryo 260 Gold
4x1.6 GHz Kryo 260 Silver
GPU Adreno 509
Display 1080x2280 (403 PPI) IPS
Storage 32/64 GB
Memory 3/4/6 GB
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android (MIUI) 8.1
Extended version
The most recent supported version from the manufacturer.
Android (MIUI)
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.19.10
Device package device-xiaomi-tulip
Kernel package linux-postmarketos-qcom-sdm660
Firmware package firmware-xiaomi-tulip
Features
Flashing
Whether 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).
Works
Internal storage
eMMC, SD cards, UFS...
Works
SD card
Also includes other external storage cards.
Works
Battery
Whether charging and battery level reporting work.
Works
Screen
Whether the display works; ideally with sleep mode and brightness control.
Partial
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
Broken
Camera Flash
Broken
IR TX
Broken
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Broken
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Works
USB OTG
USB On-The-Go or USB-C Role switching.
Works
Sensors
Accelerometer
Handles automatic screen rotation in many interfaces.
Works
Magnetometer
Sensor to measure the Earth's magnetism
Broken
Ambient Light
Measures the light level; used for automatic screen dimming in many interfaces.
Broken
Proximity
Broken
Hall Effect
Measures magnetic fields; usually used as a flip cover sensor
Works
Haptics
Works
U-Boot
Primary Bootloader
Whether it is possible to replace stock bootloader with U-Boot.
Broken
Secondary Bootloader
Whether it is possible to chainload U-Boot from stock bootloader.
Works
Mainline
Whether latest upstream versions of U-Boot are not broken and it is possible to use them.
Broken
Internal Storage
Whether it is possible to boot from internal storage (e.g. eMMC or UFS).
Untested
SD card
Whether it is possible to boot from SD card.
Untested
USB Host
Whether it is possible to boot from a USB storage or connect a keyboard.
Untested
USB Peripheral
Whether it is possible to use device as a peripheral in U-Boot, e.g. for fastboot mode.
Works
Display
Works
Buttons
Whether it is possible to navigate in boot menu or grub with volume and power buttons.
Works

Maintainer(s)

  • M0Rf30

Users owning this device

  • Alexei-ii (Notes: a bit cracked screen, but it works)
  • DiabloSat
  • M0Rf30
  • Mechanix (Notes: Running Postmarket OS)
  • Sputnik1973 (Notes: Can't unlock the bootloader, dead screen and back coming apart, thinking of getting another one.)
  • VertexIsHere (Notes: Running on stock, not able to unlock)

How to enter flash mode

  1. Turn off the device
  2. Press Power + Volume Down to enter fastboot

Installation

TWRP

Note There is an official support of TWRP for this device, so it can be downloaded here.
  1. Flash recovery with
    fastboot flash recovery twrp.img
  2. Recovery partition will be reflashed to stock automaticaly while boot process. To prevent that just boot TWRP
    fastboot boot twrp.img
  3. Then reboot device holding Volume Up to check installation.

PostmarketOS

There are various ways to install PostmarketOS.

Option A

Here's how to boot pmOS via TWRP recovery:

  1. Install to a recovery flashable zip archive
    pmbootstrap install --android-recovery-zip --recovery-install-partition=data
  2. Export the archive
    pmbootstrap export
  3. Connect the device to your PC
  4. Enter the recovery mode and enable sideload
  5. Finally, install pmOS:
    pmbootstrap flasher --method=adb sideload

Option B

Note Be careful with apk upgrade, may reflash boot partition. Then it will make boot into Android impossible.

Install pmOS on SD-card and make it boot both Android and Linux:

  1. First of all, create bootable SD-card with
    pmbootstrap install --sdcard=/dev/<your-sdcard-devicename>
  2. Export files
    pmbootstrap export
  3. Then, flash boot.img to the recovery partition
    fastboot flash recovery path/to/exported/boot.img
  4. Finally, switch the device off, insert SD-card and switch it on holding Volume Up in order to boot Linux. To launch Android, turn on the phone without pressing any buttons.

Also, PostmarketOS' boot.img may be flashed to the boot partition while Android's boot partition writed to the recovery partition keeping both systems bootable.

Hardware info

Wi-Fi

There is a possibility that Wi-fi will not work, even though the device (e.g. wlan0) will be available. To solve this problem, it's necessary to flash the latest firmware (can be downloaded here). Then, extract NON-HLOS.bin and flash it to the modem partition.

Bluetooth

Works. Also, it seems to be the only way to play sound for now.

Display/GPU

Works. X11 sessions have issues with displaying text (tested with sxmo-i3 and sxmo-dwm). Wayland sessions have some quirks too, but seems to be more stable and usable than X11 on this device (tested with sxmo-sway).

Adjusting the brightness and turning off the screen works, but you may need to press the power button to turn on the screen.

USB

Works, but only as a peripheral device. USB host mode does not seem to be working. Charging works at least, but it has some quirks.

Additional info

Partition layout

This device has A-only partition table (no A/B slots).

Parition Device Node
boot /dev/block/mmcblk0p58
cache /dev/block/mmcblk0p60
cust /dev/block/mmcblk0p63
misc /dev/block/mmcblk0p42
modem /dev/block/mmcblk0p56
modemst1 /dev/block/mmcblk0p46
modemst2 /dev/block/mmcblk0p47
persist /dev/block/mmcblk0p53
recovery /dev/block/mmcblk0p59
sec /dev/block/mmcblk0p6
splash /dev/block/mmcblk0p52
system /dev/block/mmcblk0p61
tz /dev/block/mmcblk0p32
userdata /dev/block/mmcblk0p64
vbmeta /dev/block/mmcblk0p7
vendor /dev/block/mmcblk0p62
xbl /dev/block/mmcblk0p40

See also