Jump to content

Xiaomi Mi A1 (xiaomi-tissot)

From postmarketOS Wiki
Revision as of 16:05, 7 August 2023 by Bczeman (talk | contribs) (flash_kernel is not needed anymore because if fs-boot and charging is working now)
Xiaomi Mi A1
Xiaomi Mi A1
Xiaomi Mi A1
Manufacturer Xiaomi
Name Mi A1
Codename xiaomi-tissot
Released 2017
Type handset
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: 6.3
Unixbench Whet/Dhry score 3703.7
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Works
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
Works
Ambient Light
Broken
Proximity
Broken
Hall Effect
Works
Haptics
No data

Xiaomi Mi A1 (xiaomi-tissot) is Xiaomi Mi 5X (xiaomi-tiffany), but with Android One on board and A/B 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

Note Note: lk2nd is a hard dependency, without it the mainline kernel will not select the panel.
  • Use the --add lk2nd-msm8953 flag during pmbootstrap install to get the lk2nd package.
$ pmbootstrap install --add lk2nd-msm8953
$ pmbootstrap flasher flash_lk2nd
$ pmbootstrap flasher flash_rootfs --partition userdata

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

OEM unlock

First make sure to enable USB debugging [1] and OEM unlock in Android. Then with device powered off, hold down Volume Down and Power buttons simultaneously for a few seconds, until Fastboot Mode screen appears. Plug in USB cable and do:

$ 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.

$ fastboot format:ext4 boot_a
$ fastboot format:ext4 boot_b
$ fastboot format:ext4 system_a
$ fastboot format:ext4 system_b
$ 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:

$ fastboot getvar current-slot

To switch a slot, run:

$ fastboot set_active a / b

What works

Main:

Other:

What works partially

Main:

Battery

Battery charge appears to work as expected.

Please confirm. -- SoySoy

Audio

Audio doesn't appearr to work.

Once connected to JACK, you may hear signals while playing audio. -- SoySoy

Bluetooth

Neverthless you can use a bluetooth headphone/speaker or another device to stream your audio. -- SoySoy

What does not work

Main:

  • 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:

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 Note: The downstream kernel is entirely unmaintained and only intended for testing features for the mainline kernel.

Serial debugging (UART)

See also: Serial debugging

See also