Xiaomi Mi A2 Lite (xiaomi-daisy)
Xiaomi-daisy Booting | |
Manufacturer | Xiaomi |
---|---|
Name | Mi A2 Lite |
Codename | xiaomi-daisy |
Released | 2018 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon 625 (MSM8953) |
CPU | 2 GHz 8 Core Cortex-A53 |
GPU | Adreno 506 |
Display | 1080 x 2280 IPS |
Storage | 32/64 GB |
Memory | 3/4 GB |
Architecture | aarch64 |
Software | |
Original software | Android (MIUI) |
Original version | 8.1 |
postmarketOS | |
Category | community |
Pre-built images | yes |
postmarketOS kernel | 6.8.2 |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
Works |
SD card | |
Battery |
Works |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Works |
Camera |
Partial |
Camera Flash | |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
GPS |
Partial |
Modem | |
Calls |
Partial |
SMS |
Works |
Mobile data |
Partial |
Miscellaneous | |
FDE |
Works |
USB OTG |
Works |
HDMI/DP | |
Sensors | |
Accelerometer |
Works |
Magnetometer | |
Ambient Light | |
Proximity | |
Hall Effect | |
Haptics | |
Barometer | |
This device is also known as Xiaomi Redmi 6 Pro (sakura). The only difference is that sakura has MIUI preinstalled instead of stock Android One.
Contributors
- Ash
- Alikates
Users owning this device
- Alikates (Notes: Two devices, one with android and the other with pmOS)
- Ash (Notes: Broken part of screen)
- Imre (Notes: pmos 24.06, touchscreen is not well aligned)
- ItsVixano (Notes: Has a non-OEM battery replacement)
- Manut (Notes: edge, phosh)
- Progmetalbg (Notes: running Android One 10)
- Russanandres (Notes: Android 12 Custom)
- SoupBorsh (Notes: stable pmOS as server with removed battery)
- StephanieBread (Notes: pmOS edge with Phosh, for some experiments)
- Victorbnl
- XVT 360 (Notes: Running pmOS)
Installation
Fastboot Mode
First make sure to enable USB debugging in Android ([1]). Then with device powered off, hold the Volume Down and Power buttons simultaneously for a few seconds, until Fastboot Mode screen appears.
OEM Unlock
Get device into Fastboot Mode, plug in USB cable, then:
$ sudo fastboot oem unlock
When prompted on device, use Volume-Up/Down buttons to highlight choice, then Power button to select it. The Fastboot Mode screen will appear again, and a message saying that the device isn't secure will appear briefly.
Installation
Build the image
$ pmbootstrap init
$ pmbootstrap install
Install the image
$ pmbootstrap flasher flash_lk2nd
$ pmbootstrap flasher flash_rootfs
Install to xiaomi-sakura
xiaomi-sakura has rollback protection, some manually steps are needed.
$ fastboot boot lk2nd.img
$ fastboot flash lk2nd lk2nd.img
$ pmbootstrap flasher flash_rootfs
If you want to install pmOS to an SD card instead of internal storage, you need to add --sdcard <device path> at the end of the install command.I.e. (using lk2nd): pmbootstrap install --add msm8953-lkn2d --sdcard /dev/<your_sdcard> |
Mainline Kernel
To use it select mainline kernel when running pmbootstrap init
Flashing lk2nd is needed. ([2]).
Feature table
Parts | Status | Notes |
---|---|---|
Modem | Partial | It works with ipa-lite on 6.7.0/main branch. |
WiFi | Works | |
Sensors | Partial | Working with i2c-gpio from here. WIP SSC driver here. |
GPU | Works | |
Audio | Works | Everything works. Speaker works since version 6.4.7. Needs alsa UCM config from this package. |
Touchscreen | Works | Both touchscreen variant are supported. |
Charger | Works | Driver added in 6.1 |
Panel | Partial | Only supported hx8933, ili8707 and otm1911 models (not sure if there are any other panels) |
GPS | Partial | Driver added in 6.8.2 |
Camera | Partial | ov5675 front camera was enabled in 6.7.2 and in megapixels 1.8.2.
There are variants with different i2c address 0x10. |
Modem
Firmware loads and modem boots. It detects SIM card and can be unlocked and configured with qmicli.
Because audio needs more work i couldn't test audio quality on calls but with q6voiced it should work.
Mobile data
Mobile data works with ipa-lite on 6.7.0/main branch.
To configure the mobile network settings, use NetworkManger (mobile network menu on phosh settings) so it sets up the network interface and IP routing.
After that, two new network interfaces should appear. The rmnet one is the connection to the modem, and the other one is virtual and the one that is used to transmit mobile data.
GPS
Qualcomm_Snapdragon_450/625/626/632_(MSM8953)#GPS
Touchscreen
Both goodix and edt touchscreens are supported.
However, touchscreen selection is binded to the display panel, and sometimes the same panel comes with a different touchscreen. As a result, you might need to manually override it in lk2nd.
To do so, you will need to edit and compile lk2nd yourself. First, clone msm8916-mainline/lk2nd.
Edit touchscreen-compatible
Next, edit the following parts of the DTS file corresponding to your device.
sakura | lk2nd/device/dts/msm8953/msm8953-xiaomi-common.dts#L48-L59 |
daisy | lk2nd/device/dts/msm8953/msm8953-xiaomi-daisy.dts#L23-L34 |
Play with the displays' touchscreen-compatible
value. This value should be either of:
"goodix,gt917d"
"edt,edt-ft5406"
For example, if your touchscreen does not work, change every goodix to edt and vice-versa.
Build lk2nd
After that, you need to build the lk2nd image. Run the following command from the repository's root directory:
$ make TOOLCHAIN_PREFIX=arm-none-eabi- lk2nd-msm8953
See msm8916-mainline/lk2nd/README.md#building for more details on the building process.
The resulting image will be in the build-lk2nd-msm8953
folder as lk2nd.img
.
Flash lk2nd
To flash lk2nd.img
, run the following commands:
$ fastboot boot lk2nd.img
$ fastboot flash lk2nd lk2nd.img
Finally, you can run:
$ pmbootstrap flasher flash_rootfs
And reboot your device.
Goodix touch display calibration
Install device-xiaomi-daisy-fake-goodixPMOS if your replacement display with goodix touch controller is not calibrated well.
Images
1: Tx, 2: GND, 3: EDL test-points |
See also
- Qualcomm Snapdragon 450/625/626/632 (MSM8953)
- pmaports!1687 Initial merge request
- pmaports!2225 Mainline merge request
- Device package
- Kernel package
- Mainline kernel
- lk2nd
- Charger driver fork