Jump to content

Xiaomi Redmi Note 4 (xiaomi-mido): Difference between revisions

From postmarketOS Wiki
Bczeman (talk | contribs)
update status matrix
No edit summary
 
(47 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Infobox device
{{Infobox device
| genericdevice = Generic MSM8953 (qcom-msm8953)
| manufacturer = Xiaomi
| manufacturer = Xiaomi
| name = Redmi Note 4
| name = Redmi Note 4 / 4X
| codename = xiaomi-mido
| codename = xiaomi-mido
| image = File:mido.jpg
| image = File:mido.jpg
| imagecaption = Xiaomi Redmi Note 4
| imagecaption = Xiaomi Redmi Note 4
| releaseyear = 2017
| releaseyear = 2017
| originalsoftware = MIUI 9
| originalsoftware = Android (MIUI)
| originalversion = 6 (MIUI 9)
| chipset = Qualcomm Snapdragon 625 (MSM8953)
| chipset = Qualcomm Snapdragon 625 (MSM8953)
| cpu = Octa-core 2 GHz Cortex-A53
| cpu = Octa-core 2 GHz Cortex-A53
| category = community
| gpu = Adreno 506
| gpu = Adreno 506
| storage = 16 GB / 32 GB / 64 GB
| storage = 16 GB / 32 GB / 64 GB
Line 14: Line 17:
| memory = 2 GB / 3 GB / 4 GB
| memory = 2 GB / 3 GB / 4 GB
| architecture = aarch64
| architecture = aarch64
| type = handset
| whet_dhry = 3697.5
| whet_dhry = 3697.5
| status_usbnet = Y
| status_usbnet = Y
Line 21: Line 25:
| status_wifi = Y
| status_wifi = Y
| status_xwayland = Y
| status_xwayland = Y
| status_fde =  
| status_fde = Y
| status_mainline = Y
| status_mainline = Y
| status_battery = Y
| status_battery = Y
| status_3d = Y
| status_3d = Y
| status_accel = N
| status_accel = Y
| status_audio = Y
| status_audio = Y
| status_bluetooth = Y
| status_bluetooth = Y
| status_camera = P
| status_camera = P
| status_gps = N
| status_gps = P
| status_mobiledata = N
| status_mobiledata = P
| status_sms = P
| status_sms = Y
| status_calls = P
| status_calls = Y
| status_otg = Y
| status_emmc = Y
| status_nfc = -
| status_irtx = Y
| status_irrx = -
| status_sdcard = Y
| status_haptics = Y
| booting = Y
| booting = Y
}}
}}
== Maintainer(s) ==
* [[User:Bczeman]]


== Contributors ==
== Contributors ==
* [[User:Kiciuk]]
* [[User:Kiciuk]]
== Maintainer(s) ==
* [[User:Bczeman]]


== Users owning this device ==
== Users owning this device ==
{{Device owners}}
{{Device owners}}


== What works ==
== Device Notes ==
* Screen
 
* Touchscreen
=== Touchscreen ===
* Wifi
* '''focaltech''' variant is enabled.
* USB Net
* '''goodix''' variant is added but '''disabled''' in dts. For enable custom lk2nd build is needed and goodix touchscreen-compatible should be selected. https://github.com/msm8916-mainline/lk2nd/blob/main/lk2nd/device/dts/msm8953/msm8953-xiaomi-common.dts#L73-L92.
* Sound
 
* Bluetooth
<syntaxhighlight lang="devicetree">
// touchscreen-compatible = "edt,edt-ft5406";
touchscreen-compatible = "goodix,gt917d";
</syntaxhighlight>
 
=== Modem ===
Modem works with ipa-lite since 6.7.2, but mobile data is not working on all variants yet, calls and sms are working.


== Device Notes ==
=== Display Panels ===
=== Display Panels ===


Line 72: Line 88:
| scope="row"| Tianma
| scope="row"| Tianma
| otm1911
| otm1911
| Need testing
| Yes
|-
|-
| scope="row"| BOE
| scope="row"| BOE
Line 80: Line 96:
| scope="row"| EBBG(Foxconn)
| scope="row"| EBBG(Foxconn)
| Synaptics r63350
| Synaptics r63350
| Need testing
| Yes
|}
|}


Line 97: Line 113:
| scope="row"|Samsung S5K3L8
| scope="row"|Samsung S5K3L8
| Ofilm/qtech/sunny
| Ofilm/qtech/sunny
| Not in mainline however there is some initial support.
| It was added to 6.7.5 and configuration is merged in megapixels.
|-
|-
| scope="row"|Samsung S5K5E8
| scope="row"|Samsung S5K5E8
Line 116: Line 132:
|-
|-
| scope="row"| Desay lisheng 4v4
| scope="row"| Desay lisheng 4v4
| No
| Yes
|-
|-
| scope="row"| Sunwooda atl
| scope="row"| Sunwooda atl
| No
| Yes
|}
|}


=== Sensors ===
=== Sensors ===
Bosch BMI160 is supported since 6.6.8
All sensors are handled by remote processor and exposed via QMI, they all will work once proper driver lands in mainline.


All sensors are handled by remote processor and exposed via QMI, they all will work once proper driver lands in mainline.  
=== IR led ===
IR led support is landed in 6.7.2.
It can be used with: <code># ir-ctl -S rc5:0x1e01</code>


== How to enter flash mode ==
=== GPS ===
[[Qualcomm_Snapdragon_450/625/626/632_(MSM8953)#GPS]]


Press Power and Volume Down(fastboot mode)
== Installation ==
* Follow the [[Installation guide]]
{{Note|'''Warning:''' Flashing [[lk2nd]] is '''required''', as it is a hard dependency. Without it the mainline kernel will not select the display panel (resulting in black screen on boot).}}
<syntaxhighlight lang="shell-session">
$ pmbootstrap init # choose Vendor: qcom Device codename: msm8953
$ pmbootstrap install
$ pmbootstrap flasher flash_lk2nd
$ pmbootstrap flasher flash_rootfs
</syntaxhighlight>


== Installation ==
=== How to enter flash mode ===
# Install custom [https://github.com/msm8953-mainline/lk2nd lk2nd] (alternative bootloader that provides a standard fastboot interface). You need to compile it yourself.
* '''Stock Fastboot''': Power on the device with both {{Button|Power}} and {{Button|Volume Down}} buttons
# Follow the [[Installation guide]]
* '''lk2nd Fastboot''': Power on the device. After it vibrates, hold {{Button|Volume Down}}
# If using recovery zip, boot into lk2nd and flash boot.img into lk2nd using
{{note|'''Note:''' Pressing the keys too early will cause the stock bootloader to handle the key combination. You will end up in the wrong Fastboot interface.}}
<code>$ fastboot flash boot boot.img</code>, then hit the power button to reboot
* '''Recovery''': Power on the device with both {{Button|Power}} and {{Button|Volume Up}} buttons


== GPU bug workaround ==
== Focaltech touch buttons ==
At the time of writing, Freedreno ( the GPU driver ) has some bug. If you encounter any of this, try to create a file with <code>export FD_MESA_DEBUG=nobin</code> in <code>/etc/profile.d/gpu-nobin.sh</code> and reboot.
Touchscreen reports buttons as ABS_X values. <br>
You can map it to key events via [https://gitlab.com/NekoCWD/mido-touch-buttons python script]
== See also ==
* [https://github.com/msm8953-mainline/linux Kernel source]
* {{Kernel package|postmarketos-qcom-msm8953|community}}
* {{Device package|xiaomi-mido|community}}
* {{Firmware package|xiaomi-mido|community}}

Latest revision as of 15:06, 2 March 2025

Note This device is supported as part of a generic port. Refer to Generic MSM8953 (qcom-msm8953) for installation instructions and more information.
Xiaomi Redmi Note 4 /
4X
Xiaomi Redmi Note 4
Xiaomi Redmi Note 4
Manufacturer Xiaomi
Name Redmi Note 4 /
4X
Codename xiaomi-mido
Released 2017
Type handset
Hardware
Chipset Qualcomm Snapdragon 625 (MSM8953)
CPU Octa-core 2 GHz Cortex-A53
GPU Adreno 506
Display 1080x1920
Storage 16 GB / 32 GB / 64 GB
Memory 2 GB / 3 GB / 4 GB
Architecture aarch64
Software
Original software Android (MIUI)
Original version 6 (MIUI 9)
postmarketOS
Category community
Pre-built images yes
Unixbench Whet/Dhry score 3697.5
Generic port Generic MSM8953 (qcom-msm8953)
Features
Flashing
Works
USB Networking
Works
Internal storage
Works
SD card
Works
Battery
Works
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Works
Camera
Partial
Camera Flash
No data
IR TX
Works
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Partial
Modem
Calls
Works
SMS
Works
Mobile data
Partial
Miscellaneous
FDE
Works
USB OTG
Works
HDMI/DP
No data
Sensors
Accelerometer
Works
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
Works
Barometer
No data


Maintainer(s)

Contributors

Users owning this device


Device Notes

Touchscreen

// touchscreen-compatible = "edt,edt-ft5406";
touchscreen-compatible = "goodix,gt917d";

Modem

Modem works with ipa-lite since 6.7.2, but mobile data is not working on all variants yet, calls and sms are working.

Display Panels

LCD Vendor IC Vendor Supported?
BOE Novatek NT35532 Yes
Tianma Novatek NT35596 Yes
Tianma otm1911 Yes
BOE IlItek ili9885 Need testing
EBBG(Foxconn) Synaptics r63350 Yes

Camera

Camera Sensor Package vendor Supported?
Sony IMX258 Ofilm/qtech/sunny imx258.c in mainline - need testing
Samsung S5K3L8 Ofilm/qtech/sunny It was added to 6.7.5 and configuration is merged in megapixels.
Samsung S5K5E8 Ofilm/qtech/sunny No support for now
Omnivision ov13855 Ofilm/qtech/sunny No support for now

Battery

Battery Vendor Supported?
Desay lisheng 4v4 Yes
Sunwooda atl Yes

Sensors

Bosch BMI160 is supported since 6.6.8 All sensors are handled by remote processor and exposed via QMI, they all will work once proper driver lands in mainline.

IR led

IR led support is landed in 6.7.2. It can be used with: # ir-ctl -S rc5:0x1e01

GPS

Qualcomm_Snapdragon_450/625/626/632_(MSM8953)#GPS

Installation

Note Warning: Flashing lk2nd is required, as it is a hard dependency. Without it the mainline kernel will not select the display panel (resulting in black screen on boot).
$ pmbootstrap init # choose Vendor: qcom Device codename: msm8953
$ pmbootstrap install
$ pmbootstrap flasher flash_lk2nd
$ pmbootstrap flasher flash_rootfs

How to enter flash mode

  • Stock Fastboot: Power on the device with both Power and Volume Down buttons
  • lk2nd Fastboot: Power on the device. After it vibrates, hold Volume Down
Note Note: Pressing the keys too early will cause the stock bootloader to handle the key combination. You will end up in the wrong Fastboot interface.
  • Recovery: Power on the device with both Power and Volume Up buttons

Focaltech touch buttons

Touchscreen reports buttons as ABS_X values.
You can map it to key events via python script

See also