Xiaomi Mi A2 (xiaomi-jasmine): Difference between revisions
Appearance
No edit summary |
Vishalbala (talk | contribs) No edit summary |
||
(28 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
{{Infobox device | {{Infobox device | ||
| manufacturer = Xiaomi | | manufacturer = Xiaomi | ||
| name = | | name = Mi A2 | ||
| codename = xiaomi- | | codename = xiaomi-jasmine_sprout | ||
| image = File:xiaomi-jasmine.jpg | | image = File:xiaomi-jasmine.jpg | ||
| imagecaption = | | imagecaption = Xiaomi Mi A2 | ||
| releaseyear = 2018 | | releaseyear = 2018 | ||
| originalsoftware = Android 8.1 | | originalsoftware = Android (MIUI) | ||
| chipset = Qualcomm | | originalversion = 8.1 | ||
| cpu = 8-core ( | | pmoskernel = 6.10 | ||
| chipset = Qualcomm Snapdragon 660 (SDM660) | |||
| cpu = 8-core (4x 2.2 GHz Kryo 260 & 4x 1.8 GHz Kryo 260) | |||
| gpu = Adreno 512 | | gpu = Adreno 512 | ||
| storage = | | storage = 32/64/128 GB | ||
| display = 1080 x 2160 LTPS IPS LCD | | display = 1080 x 2160 LTPS IPS LCD | ||
| memory = | | memory = 4/6 GB | ||
| architecture = aarch64 | | architecture = aarch64 | ||
| status_usbnet = | | type = Handset | ||
| status_flashing = | | status_usbnet = Y | ||
| status_touch = | | status_flashing = Y | ||
| status_screen = | | status_touch = Y | ||
| status_wifi = | | status_screen = Y | ||
| status_xwayland = | | status_wifi = Y | ||
| status_xwayland = P | |||
| status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? --> | | status_fde = <!-- When installing with full disk encryption, can you type in the password with the on screen keyboard? --> | ||
| status_mainline = | | status_mainline = Y | ||
| status_battery = | | status_emmc = Y | ||
| status_3d = | | status_battery = Y | ||
| status_accel = | | status_3d = Y | ||
| status_audio = | | status_accel = N | ||
| status_bluetooth = | | status_audio = N | ||
| status_camera = | | status_bluetooth = P | ||
| status_gps = | | status_camera = N | ||
| status_mobiledata = | | status_gps = N | ||
| status_sms = | | status_nfc = - | ||
| status_calls = | | status_sdcard = - | ||
| status = | | status_mobiledata = N | ||
| booting = | | status_sms = N | ||
| status_calls = N | |||
| status_haptics = Y | |||
| status = Booting | |||
| booting = yes | |||
<!-- you can also use these lines if you need to: | <!-- you can also use these lines if you need to: | ||
Version of the kernel that pmos is running | Version of the kernel that pmos is running | ||
| pmoskernel = 3.x.x | | pmoskernel = 3.x.x | ||
Line 43: | Line 48: | ||
| whet_dhry = 0.0 | | whet_dhry = 0.0 | ||
Is OTG available, not used in wiki | Is OTG available, not used in wiki | ||
| status_otg = | | status_otg = N | ||
--> | --> | ||
}} | }} | ||
== Contributors == | == Contributors == | ||
* Profmagija | * [[User:robante15|robante15]] | ||
* [[User:Profmagija|Profmagija]] | |||
== Maintainer(s) == | == Maintainer(s) == | ||
Line 60: | Line 66: | ||
<!-- you may need to purge page cache to see changes (more->purge cache)--> | <!-- you may need to purge page cache to see changes (more->purge cache)--> | ||
<!-- you can use {{My devices}} on your profile page to show table with all your devices --> | <!-- you can use {{My devices}} on your profile page to show table with all your devices --> | ||
== Notes == | |||
This device is quite similar to the [[Xiaomi Redmi Note 7 (xiaomi-lavender)]] and [[Xiaomi Redmi Note 8T (xiaomi-willow)]], and many of the issues were solved with steps from that devices pages, so if you're hacking on the Mi A2 it's a good idea to read the xiaomi-lavender and the xiaomi-willow page closely. | |||
== How to enter flash mode == | == How to enter flash mode == | ||
=== Bootloader Unlocking === | === Bootloader Unlocking === | ||
Unlocking the bootloader will erase all your data, so make sure you have backed up all your data before proceeding with unlocking the bootloader. | |||
Because this device is an Android One device, it can be unlocked using <code>fastboot oem unlock</code> and then <code>fastboot flashing unlock_critical</code> from fastboot mode. | |||
=== Recovery mode === | === Recovery mode === | ||
* Turn the device off (or restart also works) | * Turn the device off (or restart also works) | ||
* Hold | * Hold {{button|Volume Up}} and {{button|Power}} button | ||
* Once you feel vibration and phone turns on, release | * Once you feel vibration and phone turns on, release {{button|Power}} button | ||
* Keep holding | * Keep holding {{button|Volume Up}} until you get to recovery. | ||
=== Flashing (Download, Fastboot) mode === | === Flashing (Download, Fastboot) mode === | ||
* Same as recovery, but this time hold the | * Same as recovery, but this time hold the {{button|Volume Down}} and {{button|Power}} keys. | ||
== Installation == | == Installation == | ||
* [[Installing_pmbootstrap|Install pmbootstrap]] first on your PC | |||
* <code>pmbootstrap -y zap; pmbootstrap init</code>, choose <code>xiaomi-jasmine_sprout</code> as your device | |||
* <code>pmbootstrap install</code> | |||
* Enter fastboot, plug USB into computer | |||
* <code>pmbootstrap flasher flash_kernel</code> | |||
* <code>pmbootstrap flasher flash_rootfs</code> | |||
* Reboot, sometimes <code>fastboot reboot</code> works, otherwise hold down {{button|Power}} until it reboots. | |||
* In addition to the GUI, you can also connect via SSH <code>ssh user@172.16.42.1</code> | |||
== Known Issues == | |||
* X11 based DEs (like xfce) have this weird issue where letters are missing on text. Wayland based DEs do not have this issue | |||
* Gnome has severe graphical issues and is quite unusable and slow | |||
* Phosh does not start up at all on this device | |||
* Bluetooth for some reason works only on systemd and not when OpenRC is used | |||
* Occasionally the wifi driver crashes. This can be fixed by unloading and reloading ath and the dependant modules | |||
* Charging sometimes does not work when connected to a computer. Charging via a power brick works fine | |||
* Reboot and shutdown sometimes results in an endless Shutting down screen and the device must be force restarted in this case (this issue mainly occurs when systemd is used and occasionally when OpenRC is used) | |||
== Hardware == | |||
{| class="wikitable" | |||
|- | |||
| Touchscreen | |||
| Novatek NT36672 | |||
|- | |||
| Main cameras (front/back) | |||
| Sony IMX376 | |||
|- | |||
| Secondary back camera | |||
| Sony IMX486 | |||
|- | |||
| Proximity sensor | |||
| Liteon LTR-579ALS | |||
|- | |||
| Gyroscope | |||
| Bosch BMI120 | |||
|- | |||
| Compass | |||
| AKM AK09918 | |||
|- | |||
| IR Blaster | |||
| Willsemi WNM2046 | |||
|- | |||
| WiFi/Bluetooth | |||
| Qualcomm WCN3980 | |||
|- | |||
| RFFE | |||
| Qualcomm QET4101 | |||
|- | |||
| Audio amplifier | |||
| Texas Instruments TAS2555 | |||
|- | |||
| Quick Charge Controller (PMIC?) | |||
| Qualcomm SMB1351 | |||
|} | |||
== UART == | |||
<div class="toccolours mw-collapsible mw-collapsed" style="width: 620px; overflow: auto;"> | |||
Bootloader UART logs: | |||
<div class="mw-collapsible-content"> | |||
<pre> | |||
Format: Log Type - Time(microsec) - Message - Optional Info | |||
Log Type: B - Since Boot(Power On Reset), D - Delta, S - Statistic | |||
S - QC_IMAGE_VERSION_STRING=BOOT.XF.1.4-00262-S660LZB-1 | |||
S - IMAGE_VARIANT_STRING=Sdm660LA | |||
S - OEM_IMAGE_VERSION_STRING=c3-bsp-builder-job004.bj | |||
S - Boot Interface: eMMC | |||
S - Secure Boot: On | |||
S - Boot Config @ 0x00786070 = 0x000001c1 | |||
S - JTAG ID @ 0x00786130 = 0x0008c0e1 | |||
S - OEM ID @ 0x00786138 = 0x00000000 | |||
S - Serial Number @ 0x00784138 = 0xf688ea69 | |||
S - Feature Config Row 0 @ 0x007841a0 = 0x0050200010f80000 | |||
S - Feature Config Row 1 @ 0x007841a8 = 0x00000000000000c0 | |||
S - Core 0 Frequency, 3715 MHz | |||
S - PBL Patch Ver: 5 | |||
S - I-cache: On | |||
S - D-cache: On | |||
B - 0 - PBL, Start | |||
B - 7027 - bootable_media_detect_entry, Start | |||
B - 80724 - bootable_media_detect_success, Start | |||
B - 80730 - elf_loader_entry, Start | |||
B - 82294 - auth_hash_seg_entry, Start | |||
B - 109960 - auth_hash_seg_exit, Start | |||
B - 160810 - elf_segs_hash_verify_entry, Start | |||
B - 210662 - elf_segs_hash_verify_exit, Start | |||
B - 210678 - auth_xbl_sec_hash_seg_entry, Start | |||
B - 239734 - auth_xbl_sec_hash_seg_exit, Start | |||
B - 239736 - xbl_sec_segs_hash_verify_entry, Start | |||
B - 246449 - xbl_sec_segs_hash_verify_exit, Start | |||
B - 246494 - PBL, End | |||
B - 272487 - SBL1, Start | |||
B - 387960 - usb: hs_phy_nondrive_start | |||
B - 388295 - usb: hs_phy_nondrive_finish | |||
B - 391162 - boot_flash_init, Start | |||
D - 0 - boot_flash_init, Delta | |||
B - 398513 - sbl1_ddr_set_default_params, Start | |||
D - 122 - sbl1_ddr_set_default_params, Delta | |||
B - 406473 - boot_config_data_table_init, Start | |||
B - 425810 - Using default CDT | |||
D - 14823 - boot_config_data_table_init, Delta - (0 Bytes) | |||
B - 427732 - CDT Version:3,Platform ID:8,Major ID:1,Minor ID:0,Subtype:0 | |||
B - 433191 - Image Load, Start | |||
D - 17660 - Auth Metadata | |||
D - 488 - Segments hash check | |||
D - 28091 - PMIC Image Loaded, Delta - (34240 Bytes) | |||
B - 464545 - pm_device_init, Start | |||
B - 471774 - PM: PON REASON: PM0=0x8000028000000001:0x0 PM1=0x8000088000000020:0x0 | |||
B - 513986 - PM: SET_VAL:Skip | |||
D - 45079 - pm_device_init, Delta | |||
B - 515907 - pm_driver_init, Start | |||
B - 523075 - PM: OCP Clearing for L4A is Skipped :PM660 is not supported the LDO4 | |||
D - 4239 - pm_driver_init, Delta | |||
B - 530120 - pm_sbl_chg_init, Start | |||
B - 535549 - PM: Trigger FG IMA Reset | |||
B - 537013 - PM: Trigger FG IMA Reset.Completed | |||
B - 541893 - PM: EntryVbat: 4202; EntrySOC: -1 | |||
B - 545065 - PM: BATT TEMP: 27 DegC | |||
D - 16226 - pm_sbl_chg_init, Delta | |||
B - 552843 - vsense_init, Start | |||
D - 0 - vsense_init, Delta | |||
B - 608749 - Pre_DDR_clock_init, Start | |||
D - 396 - Pre_DDR_clock_init, Delta | |||
D - 0 - sbl1_ddr_set_params, Delta | |||
B - 620309 - DSF version = 35.0, DSF RPM version = 22.0 | |||
B - 620309 - Max Frequency = 1804 MHz | |||
B - 624426 - do_ddr_training, Start | |||
B - 636840 - Bootup frequency set to 1296000 | |||
D - 8814 - do_ddr_training, Delta | |||
B - 656756 - clock_init, Start | |||
D - 274 - clock_init, Delta | |||
B - 659227 - Image Load, Start | |||
D - 2501 - APDP Image Loaded, Delta - (0 Bytes) | |||
B - 664808 - usb: EMMC Serial - 2a2bca61 | |||
B - 669536 - usb: fedl, vbus_low | |||
B - 676764 - PM: 0: PON=0x1:HARD_RESET: ON=0x80:PON_SEQ: POFF=0x2:PS_HOLD: OFF=0x80:POFF_SEQ | |||
B - 676856 - PM: 1: PON=0x20:PON1: ON=0x80:PON_SEQ: POFF=0x8:GP1: OFF=0x80:POFF_SEQ | |||
B - 685152 - PM: SMEM Chgr Info Write Success | |||
B - 692533 - alloc smem for SMEM_ID_VENDOR2 successful | |||
B - 697077 - sbl1_efs_handle_cookies, Start | |||
D - 762 - sbl1_efs_handle_cookies, Delta | |||
B - 706166 - Image Load, Start | |||
D - 19764 - Auth Metadata | |||
D - 1037 - Segments hash check | |||
D - 27481 - QSEE Dev Config Image Loaded, Delta - (42084 Bytes) | |||
B - 736148 - Image Load, Start | |||
D - 579 - SEC Image Loaded, Delta - (4096 Bytes) | |||
B - 744993 - Image Load, Start | |||
D - 57127 - Auth Metadata | |||
D - 18269 - Segments hash check | |||
D - 98362 - QSEE Image Loaded, Delta - (1946008 Bytes) | |||
B - 845216 - Image Load, Start | |||
D - 19764 - Auth Metadata | |||
D - 4026 - Segments hash check | |||
D - 34038 - QHEE Image Loaded, Delta - (273136 Bytes) | |||
B - 881297 - Image Load, Start | |||
D - 19856 - Auth Metadata | |||
D - 2196 - Segments hash check | |||
D - 33184 - RPM Image Loaded, Delta - (219340 Bytes) | |||
B - 917226 - Image Load, Start | |||
D - 4331 - STI Image Loaded, Delta - (0 Bytes) | |||
B - 925065 - Image Load, Start | |||
D - 19764 - Auth Metadata | |||
D - 1586 - Segments hash check | |||
D - 28273 - ABL Image Loaded, Delta - (146000 Bytes) | |||
B - 955656 - Image Load, Start | |||
D - 20374 - Auth Metadata | |||
D - 13969 - Segments hash check | |||
D - 50843 - APPSBL Image Loaded, Delta - (1792000 Bytes) | |||
B - 1008879 - SBL1, End | |||
D - 741302 - SBL1, Delta | |||
S - Flash Throughput, 95000 KB/s (4462116 Bytes, 46962 us) | |||
S - DDR Frequency, 1296 MHz | |||
UEFI Start [ 1182] SEC | |||
PROD Mode : On | |||
DEBUG Mode : On | |||
ASLR : On | |||
Timer Delta : +7 mS | |||
RAM Entry 0 : Base 0x0000000080000000 Size 0x0000000080000000 | |||
RAM Entry 1 : Base 0x0000000100000000 Size 0x000000007E4C0000 | |||
UEFI Ver : 4.2.181123.BOOT.XF.1.4-00262-S660LZB-1 | |||
Build Info : 64b Nov 23 2018 20:52:46 | |||
Boot Device : eMMC | |||
DALLOG Device [0x2000145]: Cannot turn on source[ACPL | |||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, PmicDxe:: PmicSchgSetChargerDefaultSetting Setting ICL = 500 mA | |||
1, PmicDxe:: PmicSchgInitialChargerCheckup APSD done status: 0, Port Type = 8 | |||
1, 1, 1, 1, QcomChargerDxe:: ChargerPlatform_Init Enabled WDOG. | |||
Setvariable returned Success | |||
zjl haptic_on | |||
zjl haptic_off | |||
[CheckPanel] panel reg[0xc] value: 0x00000007, uReponseSize:2 | |||
Panel_CDP_GetID: temp1 =0;temp2 =1 | |||
Display:jdi nt36672! | |||
ReadKeyInternal: gEfiSimpleTextInputExProtocolGuid handles = 3 | |||
ReadKeyInternal: Read KEY = 0x0 | |||
bootstate = 0 | |||
PanelWidth=1080,PanelHeight=2160 | |||
ImageWidth=1080,ImageHeight=2160,LogoPosX=0,LogoPosY=0 | |||
Avoid flicking for 2160x1080 images | |||
PanelWidth=1080,PanelHeight=2160 | |||
Render Splash [ 1913] | |||
EnvDxe Render Callback | |||
LoadSecureApps: Load app from partition(keymaster): Status = 0x0, AppId = 65537 | |||
APC1 IDDQ WC 0 , L2:0, CPU[0]:175, CPU[1]:175, CPU[2]:175, CPU[3]:175 | |||
APC1 Total 700 | |||
Load CPU 0 Slp: 0x8A, Int: 0xA | |||
Load CPU 1 Slp: 0x1, Int: 0x0 | |||
Load CPU 2 Slp: 0xB3, Int: 0x1F | |||
Load CPU 3 Slp: 0x1, Int: 0x0 | |||
GLD IDDQ WC 0 | |||
CPU PART GOOD [0x0] SUB_BIN[0x0] | |||
----------------------------- | |||
Platform Init [ 2073] BDS | |||
UEFI Ver : 4.2.181123.BOOT.XF.1.4-00262-S660LZB-1 | |||
Platform : MTP | |||
Chip Name : SDM660 | |||
Chip Ver : 1.0 | |||
Core 0 Freq: 1382400 MHz | |||
----------------------------- | |||
2, ChargerLib:: ChargerLib_GetErrors Battery Presence = 1 | |||
ChargerLib:: ChargerLib_GetBatteryID BATT_ID_2 = 68589 | |||
2, PmicDxe:: PmicFgCommon_GetBatteryStatus StateOfCharge = 98, VBat = 4206 mV Current = 205 mA Temperature = 27 C | |||
2, PmicDxe:: PmicFgCommon_GetBatteryStatus StateOfCharge = 98, VBat = 4206 mV Current = 205 mA Temperature = 27 C | |||
ChargerLib::ChargerLib_GetErrors ERROR Charging source not detected | |||
2, 2, 2, 2, 2, 2, 2, ChargerLib:: ChargerLib_GetErrors Battery Presence = 1 | |||
ChargerLib:: ChargerLib_GetBatteryID BATT_ID_2 = 68589 | |||
2, PmicDxe:: PmicFgCommon_GetBatteryStatus StateOfCharge = 98, VBat = 4206 mV Current = 205 mA Temperature = 27 C | |||
2, PmicDxe:: PmicFgCommon_GetBatteryStatus StateOfCharge = 98, VBat = 4206 mV Current = 205 mA Temperature = 27 C | |||
ChargerLib::ChargerLib_GetErrors ERROR Charging source not detected | |||
2, PmicDxe:: PmicFgCommon_GetBatteryStatus StateOfCharge = 98, VBat = 4206 mV Current = 205 mA Temperature = 27 C | |||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, PmicDxe:: PmicFgSram_ReadBattID: BATT_ID_2 = 68589 | |||
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, PmicDxe:: PmicFgSram_CondRestart VShadw = 4206 mv VEmpty = 2843 mv VPred = 4191 mv VBattEst = -15 mv | |||
2, 2, 2, 2, 2, 2, 2, 2, ChargerLib:: ChargerLib_GetErrors Battery Presence = 1 | |||
ChargerLib:: ChargerLib_GetBatteryID BATT_ID_2 = 68589 | |||
2, PmicDxe:: PmicFgCommon_GetBatteryStatus StateOfCharge = 98, VBat = 4206 mV Current = 205 mA Temperature = 27 C | |||
2, PmicDxe:: PmicFgCommon_GetBatteryStatus StateOfCharge = 98, VBat = 4206 mV Current = 205 mA Temperature = 27 C | |||
ChargerLib::ChargerLib_GetErrors ERROR Charging source not detected | |||
2, ChargerLib:: ChargerLib_GetErrors Battery Presence = 1 | |||
ChargerLib:: ChargerLib_GetBatteryID BATT_ID_2 = 68589 | |||
2, PmicDxe:: PmicFgCommon_GetBatteryStatus StateOfCharge = 98, VBat = 4206 mV Current = 205 mA Temperature = 27 C | |||
2, PmicDxe:: PmicFgCommon_GetBatteryStatus StateOfCharge = 98, VBat = 4206 mV Current = 205 mA Temperature = 27 C | |||
ChargerLib::ChargerLib_GetErrors ERROR Charging source not detected | |||
2, PmicDxe:: PmicFgCommon_GetBatteryStatus StateOfCharge = 98, VBat = 4206 mV Current = 205 mA Temperature = 27 C | |||
2, 2, 2, PmicDxe:: PmicFgCommon_GetBatteryStatus StateOfCharge = 98, VBat = 4206 mV Current = 205 mA Temperature = 27 C | |||
2, 2, 2, PmicDxe:: PmicSchgSetChargerDefaultSetting Setting ICL = 500 mA | |||
zjlz 3333 QcomChargerApp:: ChargerLib_Exit Error getting platform type | |||
2, UEFI Total : 915 ms | |||
POST Time [ 2097] OS Loader | |||
Loader Build Info: Dec 6 2018 19:53:30 | |||
VB: RWDeviceState: Succeed using rpmb! | |||
KeyPressed = (0x9CE58000) | |||
Reboot reason: 0 | |||
Platform version : 0x10000 | |||
Booting from slot (_b) | |||
Loading Image Start : 2115 ms | |||
Loading Image Done : 2115 ms | |||
Total Image Read size : 512 Bytes | |||
Loading Image Start : 2116 ms | |||
Loading Image Done : 2285 ms | |||
Total Image Read size : 28921856 Bytes | |||
No dtbo partition is found, Skip dtbo | |||
VB: DeviceInit: Device is unlocked! Skipping verification! | |||
ReadKeyInternal: gEfiSimpleTextInputExProtocolGuid handles = 3 | |||
ReadKeyInternal: Read KEY = 0x0 | |||
bootstate = 4 | |||
var = UNLOCK splash update | |||
Cannot find GraphicsHandles. | |||
ImageWidth=1080,ImageHeight=2160,LogoPosX=0,LogoPosY=0 | |||
Avoid flicking for 2160x1080 images | |||
Cannot find GraphicsHandles. | |||
Render Splash [ 2351] | |||
VB: VerifyImage: Image verification done! boot state is: ORANGE | |||
Exit key detection timer | |||
No Ffbm cookie found, ignore: Not Found | |||
Memory Base Address: 0x80000000 | |||
Decompressing kernel image start: 12539 ms | |||
Decompressing kernel image done: 13023 ms | |||
BootLinux: failed to get dtbo image | |||
Best match DTB tags 317/00000008/0x00000000/0/1001B/102001A/0/0/(offset)0x99F32B30/(size)0x0005C540 | |||
Using pmic info 0x1001B/0x102001A/0x0/0x0 for device 0x2001B/0x102001A/0x0/0x0 | |||
Memory Base Address: 0x80000000 | |||
smem protocol = 9C2FD0A0 | |||
board_id1 is 1 | |||
board_id2 is 0 | |||
board_id3 is 1 | |||
board_id is 1 | |||
get_boardid_from_smem,SUCCESS ,board_id=0x102 | |||
PON Reason is 0x200001 cold_boot:1 charger path: 0 | |||
GetCheckPanelPressGuid:checkPanel = 0x1;Status:0x0 | |||
panel is Exist | |||
get_hwconfig_cmdline, board_id=0x102 | |||
get_hwconfig_cmdline, hwlevel=0x1 | |||
get_hwconfig_cmdline, maxcount=0x30 | |||
aaaaaa | |||
get_hwconfig_cmdline, i=0x15 | |||
Cmdline: ttyMSM0,115200,n8 androidboot.console=ttyMSM0 earlycon=msm_serial_dm,0xc170000 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x37 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 sched_enable_hmp=1 sched_enable_power_aware=1 service_locator.e | |||
RAM Partitions | |||
Add Base: 0x0000000080000000 Available Length: 0x0000000080000000 | |||
Add Base: 0x0000000100000000 Available Length: 0x000000007E4C0000 | |||
WARNING: Could not find mem-offline node. | |||
kaslr-Seed is added to chosen node | |||
pureason = 40001 | |||
Shutting Down UEFI Boot Services: 13118 ms | |||
BDS: LogFs sync skipped, Unsupported | |||
App Log Flush : 14 ms | |||
Exit BS [13139] UEFI End | |||
</pre> | |||
</div> | |||
</div> | |||
* Pins GPIO_4 and GPIO_5 from U201 are connected to TP11 and TP10. | |||
* GPIO4 = TP11 = UART TX | |||
* GPIO5 = TP10 = UART RX | |||
* UART interface is 1.8v. Not sure if RX is working yet, because there's no voltage on this pin. | |||
== Additional Info == | |||
Info from the Xiaomi Redmi Note 7, and Redmi Note 8 port that also applies to the Mi A2: | |||
* [[Xiaomi Redmi Note 7 (xiaomi-lavender)]] | |||
* [[Xiaomi Redmi Note 8T (xiaomi-willow)]] | |||
* [[USB Internet]] | |||
== Photos == | |||
<gallery> | |||
File:Xiaomi-jasmine_sprout-uart.jpg|200px|thumb|right|UART pins location | |||
</gallery> | |||
== See also == | == See also == | ||
Line 87: | Line 427: | ||
--> | --> | ||
<!-- | <!-- | ||
If you manage to get your device packages merged, uncomment links below | If you manage to get your device packages merged, uncomment links below. | ||
* | * {{Device package|xiaomi-jasmine}} | ||
* | * {{Kernel package|xiaomi-jasmine}} | ||
--> | --> | ||
* [https://app.element.io/#/room/#sdm660-mainline:matrix.org Chat room: SDM660 devices development] | |||
* [https://github.com/xiaomi-sdm660/android_kernel_xiaomi_sdm660 Kernel used as downstream kernel source for jasmine_sprout] |
Latest revision as of 09:08, 4 March 2025
![]() Xiaomi Mi A2 | |
Manufacturer | Xiaomi |
---|---|
Name | Mi A2 |
Codename | xiaomi-jasmine_sprout |
Released | 2018 |
Type | handset |
Hardware | |
Chipset | Qualcomm Snapdragon 660 (SDM660) |
CPU | 8-core (4x 2.2 GHz Kryo 260 & 4x 1.8 GHz Kryo 260) |
GPU | Adreno 512 |
Display | 1080 x 2160 LTPS IPS LCD |
Storage | 32/64/128 GB |
Memory | 4/6 GB |
Architecture | aarch64 |
Software | |
Original software | Android (MIUI) |
Original version | 8.1 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | yes |
postmarketOS kernel | 6.10 |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
Works |
Battery |
Works |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Works |
Audio |
Broken |
Camera |
Broken |
Camera Flash |
No data |
Connectivity | |
WiFi |
Works |
Bluetooth |
Partial |
GPS |
Broken |
Modem | |
Calls |
Broken |
SMS |
Broken |
Mobile data |
Broken |
Miscellaneous | |
FDE |
No data |
USB OTG |
No data |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
Broken |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
Works |
Barometer |
No data |
Contributors
Maintainer(s)
Users owning this device
- Joeth
- Jojo autoboy
- M.01001101.01010110
- Profmagija
- Rambonette (Notes: Ubuntu Touch)
- Robante15
- Shouko
- Somekool
- Vishalbala
- XRayMan (Notes: Main device)
Notes
This device is quite similar to the Xiaomi Redmi Note 7 (xiaomi-lavender) and Xiaomi Redmi Note 8T (xiaomi-willow), and many of the issues were solved with steps from that devices pages, so if you're hacking on the Mi A2 it's a good idea to read the xiaomi-lavender and the xiaomi-willow page closely.
How to enter flash mode
Bootloader Unlocking
Unlocking the bootloader will erase all your data, so make sure you have backed up all your data before proceeding with unlocking the bootloader.
Because this device is an Android One device, it can be unlocked using fastboot oem unlock
and then fastboot flashing unlock_critical
from fastboot mode.
Recovery mode
- Turn the device off (or restart also works)
- Hold and button
- Once you feel vibration and phone turns on, release button
- Keep holding until you get to recovery.
Flashing (Download, Fastboot) mode
- Same as recovery, but this time hold the and keys.
Installation
- Install pmbootstrap first on your PC
pmbootstrap -y zap; pmbootstrap init
, choosexiaomi-jasmine_sprout
as your devicepmbootstrap install
- Enter fastboot, plug USB into computer
pmbootstrap flasher flash_kernel
pmbootstrap flasher flash_rootfs
- Reboot, sometimes
fastboot reboot
works, otherwise hold down until it reboots. - In addition to the GUI, you can also connect via SSH
ssh user@172.16.42.1
Known Issues
- X11 based DEs (like xfce) have this weird issue where letters are missing on text. Wayland based DEs do not have this issue
- Gnome has severe graphical issues and is quite unusable and slow
- Phosh does not start up at all on this device
- Bluetooth for some reason works only on systemd and not when OpenRC is used
- Occasionally the wifi driver crashes. This can be fixed by unloading and reloading ath and the dependant modules
- Charging sometimes does not work when connected to a computer. Charging via a power brick works fine
- Reboot and shutdown sometimes results in an endless Shutting down screen and the device must be force restarted in this case (this issue mainly occurs when systemd is used and occasionally when OpenRC is used)
Hardware
Touchscreen | Novatek NT36672 |
Main cameras (front/back) | Sony IMX376 |
Secondary back camera | Sony IMX486 |
Proximity sensor | Liteon LTR-579ALS |
Gyroscope | Bosch BMI120 |
Compass | AKM AK09918 |
IR Blaster | Willsemi WNM2046 |
WiFi/Bluetooth | Qualcomm WCN3980 |
RFFE | Qualcomm QET4101 |
Audio amplifier | Texas Instruments TAS2555 |
Quick Charge Controller (PMIC?) | Qualcomm SMB1351 |
UART
Bootloader UART logs:
- Pins GPIO_4 and GPIO_5 from U201 are connected to TP11 and TP10.
- GPIO4 = TP11 = UART TX
- GPIO5 = TP10 = UART RX
- UART interface is 1.8v. Not sure if RX is working yet, because there's no voltage on this pin.
Additional Info
Info from the Xiaomi Redmi Note 7, and Redmi Note 8 port that also applies to the Mi A2:
Photos
-
UART pins location