Xiaomi Mi A1 (xiaomi-tissot)
![]() Xiaomi Mi A1 | |
Manufacturer | Xiaomi |
---|---|
Name | Mi A1 |
Codename | xiaomi-tissot |
Released | 2017 |
Hardware | |
Chipset | Qualcomm Snapdragon 625 (MSM8953) |
CPU | Octa-core 2.0 GHz Cortex-A53 |
GPU | Adreno 506 |
Display | 1080x1920 IPS LCD |
Storage | 32 GB / 64 GB |
Memory | 4 GB |
Architecture | aarch64 |
Software | |
Original software | Android |
Original version | 7.1.2 |
Extended version | 9.0 (Linux 3.18.31 - 3.18.120) |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
postmarketOS kernel | Mainline: 5.16 |
Unixbench Whet/Dhry score | 3703.7 |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
Partial |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Partial |
Camera |
Broken |
Camera Flash |
No data |
IR TX |
Broken |
Connectivity | |
WiFi |
Works |
Bluetooth |
Works |
GPS |
Broken |
Modem | |
Calls |
Broken |
SMS |
Broken |
Mobile data |
Broken |
Miscellaneous | |
FDE |
Works |
USB OTG |
Broken |
Sensors | |
Accelerometer |
Works |
Magnetometer |
Broken |
Ambient Light |
Broken |
Proximity |
Broken |
Hall Effect |
Works |
Haptics |
No data |
This device is based on the Snapdragon 625. See the SoC page for common tips, guides and troubleshooting steps |
Xiaomi Mi A1 (xiaomi-tissot) is Xiaomi Mi 5X (xiaomi-tiffany), but with on board and structure. On the Xiaomi Mi A1 (xiaomi-tissot), unlike the Xiaomi Mi 5X (xiaomi-tiffany), you do not need to link your Mi Account and wait 15 days (360 hours) to unlock the bootloader.
Contributors
Users owning this device
- AAT596 (Notes: LineageOS 18.1)
- Augis154 (Notes: PMOS with Plasma mobile)
- Bczeman (Notes: Has 2 with replacement display 1 with orignal display)
- Dferrg
- Hiddener (Notes: pmOS + LineageOS, new battery from woyax/deji, new screen from replacebase)
- IonAgorria (Notes: LineageOS - OK)
- Jenneron
- JIaxyga (Notes: x2 Mainline maintainer)
- Kevinwidjaja21 (Notes: Stuck in fastboot.)
- Miki (Notes: cracked but working display, broken power button)
- Netman (Notes: Dead battery, cracked screen (got 2 screens, replaced & og, both cracked))
- Paradox (Notes: Daily driver. Goodix, Nohon battery, EBBG/ILITEK)
- Tfuxu (Notes: Flashed recently with LineageOS 18.1)
- Ungeskriptet
Installation
- Follow the Installation guide
Note: lk2nd is a hard dependency, without it the mainline kernel will not select the panel. |
WARNING: At the moment, there is no charging driver in the kernel. You must not allow discharge below 15%, otherwise if there is a very low charge level and the smartphone cannot be loaded even in fastboot! You can charge in twrp. If you don't want to risk it, you can use the downstream kernel. |
- Use the
--add lk2nd-msm8953
flag duringpmbootstrap install
to get the lk2nd package.
$ pmbootstrap install --add lk2nd-msm8953
$ pmbootstrap flasher flash_lk2nd
- Power off the device.
- Start lk2nd Fastboot by powering on the device and, after it vibrates, holding
$ pmbootstrap flasher flash_kernel
$ pmbootstrap flasher flash_rootfs --partition userdata
How to enter flash mode
- Stock Fastboot: Power on the device with both and buttons
- lk2nd Fastboot: Power on the device. After it vibrates, hold
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 and buttons
OEM unlock
First make sure to enable USB debugging [1] and OEM unlock in Android. Then with device powered off, hold down and buttons simultaneously for a few seconds, until Fastboot Mode screen appears. Plug in USB cable and do:
$ sudo fastboot oem unlock
Wipes
Wipes work very strangely. Fastboot says that the wipes were successfully completed, but the partitions are not cleared. Therefore, the only way out is to make wipes from twrp or use formatting.
$ sudo fastboot format:ext4 boot_a
$ sudo fastboot format:ext4 boot_b
$ sudo fastboot format:ext4 system_a
$ sudo fastboot format:ext4 system_b
$ sudo fastboot format:ext4 userdata
Dual booting
We can use the a/b markup feature for dual booting. In this case, we will have the kernel in the boot_a (or boot_b) section and the rootfs will be located in the same system_a (or system_b) slot. The opposite slot will use Android. The system partition severely limits the available space, so you can use an sd card for rootfs.
To find out the active slot, run in fastboot:
$ sudo fastboot getvar current-slot
To switch a slot, run:
$ sudo fastboot set_active a / b
What works
Main:
- USB Networking
- Flashing
- Touchscreen - focaltech,ft5435 (edt-ft5x06)
- Display - EBBG ili7807(ilitek) / tianma otm1911(focal) / EBBG ft8716(focal)
- WiFi - WCN3680B (WCN36XX)
- Xwayland
- FDE
- Bluetooth - WCN3680B (WCN36XX)
- Hall Effect Sensor - BU52061NVX (gpio-keys)
- Charger - qcom,smbcharger Works from here
Other:
- Notification LED - awinic,aw2013
What works partially
Main:
- Battery - qcom,fg
- Audio - maxim,max98927 Everything except the speaker works
What does not work
Main:
- Accelerometer - bosch,bmi120 (bosch,bmi160) Works from here
- Magnetometer - AKM, AK09918 (asahi-kasei,ak8975)
- Proximity Sensor - LiteOn, LTR579 (liteon,ltr501?)
- Ambient Light Sensor - LiteOn, LTR579 (liteon,ltr501?)
- Camera - Front Cam: samsung_s5k5e8 Back Cam: ov_12a10 Back Sub Cam: ov_13880
- OTG - Requires a couple of changes to dts and charger driver
- GPS
- Mobile data - Works with ipa patches. So far, not in the branch
- SMS - Works with ipa patches. So far, not in the branch
- Calls
- Ir TX
- TrustZone
Other:
- Flashlight - qcom,spmi-flash Works from here
- Keypad backlights
- Haptics
- Fingerprint - fpc,fpc1020 / goodix,gf3208
Downstream
There is an alternative device port using the downstream kernel, xiaomi-tissot-downstream
. It can be selected by entering the name in pmbootstrap init
.
Note: The downstream kernel is entirely unmaintained and only intended for testing features for the mainline kernel. |
Serial debugging (UART)
See also: Serial debugging