Xiaomi Redmi Note 8 Pro (xiaomi-begonia): Difference between revisions
Michaelskyf (talk | contribs) mNo edit summary |
Michaelskyf (talk | contribs) Add unbricking guide |
||
Line 93: | Line 93: | ||
* Flash the zip | * Flash the zip | ||
* Reboot | * Reboot | ||
== Unbricking == | |||
If something went terribly wrong (eg. boot.img doesn't contain valid DTB) your device will hard-brick. Fortunately these days it's pretty easy to unbrick the device. | |||
Requirements (GNU/Linux): | |||
* Kernel patched with [https://github.com/amonet-kamakiri/kamakiri/blob/master/kernel.patch this patch] | |||
* Python3: <code>pyusb pyserial json5</code> | |||
* SP Flash Tool (tested with version 5.2208) | |||
* Known working partitions (from backup or [https://forum.xda-developers.com/t/rom-10-0-unofficial-lineageos-17-1-begonia-begoniain.4072137/ Android ROM]) | |||
* MT6785 scatter file | |||
Steps: | |||
# Run the exploit | |||
# Connect the device via USB and hold Volume Up (+) | |||
# When "Protection disabled" message appears, open SP Flash Tool | |||
# Select partition images that you want to write and click Download | |||
# After green checkmark image appears, restart your phone | |||
== Misc == | == Misc == |
Revision as of 12:15, 24 May 2022
![]() Redmi Note 8 Pro running Weston | |
Manufacturer | Xiaomi |
---|---|
Name | Redmi Note 8 Pro |
Codename | xiaomi-begonia |
Released | 2019 |
Hardware | |
Chipset | Mediatek MT6785 (Helio G90T) |
CPU | Octa-core (2x2.05 GHz Cortex-A76 & 6x2.0 GHz Cortex-A55) |
GPU | Mali-G76 MC4 |
Display | 1080 x 2340 |
Storage | 64/128/256 GB |
Memory | 6/8 GB |
Architecture | aarch64 |
Software | |
Original software | Android 9.0, MIUI 11 |
postmarketOS | |
Category | testing |
Pre-built images | no |
Mainline | no |
postmarketOS kernel | 4.14.218 |
Unixbench Whet/Dhry score | 5577.1 |
Flashing |
Works |
---|---|
USB Networking |
Works |
Internal storage |
No data |
SD card |
No data |
Battery |
No data |
Screen |
Works |
Touchscreen |
Works |
Multimedia | |
3D Acceleration |
Broken |
Audio |
Broken |
Camera |
Broken |
Camera Flash |
No data |
Connectivity | |
WiFi |
Partial |
Bluetooth |
Broken |
GPS |
Broken |
NFC |
No data |
Modem | |
Calls |
Broken |
SMS |
Broken |
Mobile data |
Broken |
Miscellaneous | |
FDE |
No data |
USB OTG |
Works |
HDMI/DP |
No data |
Sensors | |
Accelerometer |
Broken |
Magnetometer |
No data |
Ambient Light |
No data |
Proximity |
No data |
Hall Effect |
No data |
Haptics |
No data |
Barometer |
No data |
Contributors
Maintainer(s)
Users owning this device
- Cxt
- KittyLe (Notes: running pmOS)
- Michaelskyf (Notes: Daily driver - LineageOS 19.0)
- Operachi (Notes: Droidian Phosh)
- PiotrZPL (Notes: Sold after the Mediatek CPU ruined my mental health.)
- Prowindows62 (Notes: cannot be used for testing)
- Sohrabbehdani (Notes: running CrDroid)
LED/Torch/Screen brightness/Vibrator
(all files below are in /sys/class/leds
)
- Notification LED:
white/
- Torch:
torch-light0/
andtorch-light1/
- Screen brightness:
lcd-backlight/
- Vibrator:
vibrator/
How to enter flash mode
Unlocking the bootloader
Sign up for a Mi Account, register your device in the settings, and wait for a week. More info
Before you go any further
Please read Redmi Note 8 Pro XDA Megathread
Entering recovery
+
Entering fastboot
+
Installation
!!! Install CFW 2.0
Redmi Note 8 Pro doesn't quite like custom ROMs normally, so you have to flash a few blank files to get different custom ROMs to work.
- Download CFW2.0 and unzip it.
- Go to a folder with your device's codename in it.
- Run
!_FLASH_IT_L.sh
on Linux/macOS or!_FLASH_IT_W.bat
on Windows. - After this, follow the next steps.
Via fastboot
pmbootstrap init
pmbootstrap install
pmbootstrap flasher flash_rootfs
pmbootstrap flasher flash_kernel
fastboot reboot
Via zip
pmbootstrap init
pmbootstrap install --android-recovery-zip
pmbootstrap export
- Transfer the zip to the device
adb push /tmp/postmarketOS-export/pmos-xiaomi-begonia.zip /sdcard
- Flash the zip
- Reboot
Unbricking
If something went terribly wrong (eg. boot.img doesn't contain valid DTB) your device will hard-brick. Fortunately these days it's pretty easy to unbrick the device.
Requirements (GNU/Linux):
- Kernel patched with this patch
- Python3:
pyusb pyserial json5
- SP Flash Tool (tested with version 5.2208)
- Known working partitions (from backup or Android ROM)
- MT6785 scatter file
Steps:
- Run the exploit
- Connect the device via USB and hold Volume Up (+)
- When "Protection disabled" message appears, open SP Flash Tool
- Select partition images that you want to write and click Download
- After green checkmark image appears, restart your phone
Misc
Andoid memory map
$ sudo cat /proc/iomem
0011bb80-0011bbff : /qos@0011bb80
10001000-10001fff : /scpsys@10001000
1000d000-1000dfff : pwrap
10012000-10012fff : /dvfsrc@10012000
10017000-10017fff : sys_timer_base
1020e000-1020efff : /emi@10219000
10219000-10219fff : /emi@10219000
1021a000-1021afff : /device_mpu_low@1021a000
10226000-10226fff : /emi@10219000
10228000-1022bfff : /gce_mbox@10228000
10230000-10231fff : /dramc@10230000
10234000-10234fff : /dramc@10230000
10235000-10235fff : /emi@10219000
10236000-10236fff : /dramc@10230000
10238000-10239fff : /dramc@10230000
10240000-10241fff : /dramc@10230000
10244000-10244fff : /dramc@10230000
10245000-10245fff : /emi@10219000
10246000-10246fff : /dramc@10230000
10248000-10249fff : /dramc@10230000
10400000-10427fff : sspm_base
10440000-1044ffff : cfgreg
10450000-104500ff : mbox0_base
10451000-10451007 : mbox0_ctrl
10460000-104600ff : mbox1_base
10461000-10461007 : mbox1_ctrl
10470000-104700ff : mbox2_base
10471000-10471007 : mbox2_ctrl
10480000-104800ff : mbox3_base
10481000-10481007 : mbox3_ctrl
10500000-105bffff : /scp@10500000
105c0000-105c2fff : /scp@10500000
105c4000-105c4fff : /scp@10500000
105d4000-105d9fff : /scp@10500000
10600000-1060ffff : /adsp@10600000
10610000-10617fff : /adsp@10600000
10630000-10638fff : /adsp@10600000
11000080-110000ff : /i2c0@11007000
11000100-1100017f : /i2c1@11008000
11000180-110002ff : /i2c2@11009000
11000300-1100037f : /i2c3@1100f000
11000380-110004ff : /i2c4@11011000
11000500-1100057f : /i2c5@11016000
11000580-1100067f : /i2c6@11005000
11000680-1100077f : /i2c7@1101a000
11000780-110007ff : /i2c8@1101b000
11000800-1100087f : /i2c9@11015000
11000880-110008ff : /dma-controller@11000880
11000900-1100097f : /dma-controller@11000880
11000980-110009ff : /dma-controller@11000880
11000a00-11000a7f : /dma-controller@11000880
11001000-11001fff : /auxadc@11001000
11002000-1100201f : serial
11003000-1100301f : serial
11005000-11005fff : /i2c6@11005000
11007000-11007fff : /i2c0@11007000
11008000-11008fff : /i2c1@11008000
11009000-11009fff : /i2c2@11009000
1100a000-1100afff : /spi0@1100a000
1100f000-1100ffff : /i2c3@1100f000
11010000-11010fff : /spi1@11010000
11011000-11011fff : /i2c4@11011000
11012000-11012fff : /spi2@11012000
11013000-11013fff : /spi3@11013000
11015000-11015fff : /i2c9@11015000
11016000-11016fff : /i2c5@11016000
11018000-11018fff : /spi4@11018000
11019000-11019fff : /spi5@11019000
1101a000-1101afff : /i2c7@1101a000
1101b000-1101bfff : /i2c8@1101b000
1101d000-1101dfff : /spi6@1101d000
1101e000-1101efff : /spi7@1101e000
11201000-11203fff : mac
11210000-11210fff : /mt6785-afe-pcm@11210000
11270000-112722ff : /ufshci@11270000
13040000-1304ffff : 13040000.mali
14017000-14017fff : /smi_larb0@14017000
14018000-14018fff : /smi_larb1@14018000
14019000-14019fff : /smi_common@14019000
15021000-15021fff : /smi_larb5@15021000
1502f000-1502ffff : /smi_larb4@1502f000
16000000-16000fff : /vdec_gcon@16000000
16010000-16010fff : /smi_larb2@16010000
16025000-16025fff : /vdec_gcon@16000000
17010000-17010fff : /smi_larb3@17010000
17020000-17020fff : /venc_gcon@17000000
18000000-180fffff : AXI-BUS
19180000-19180fff : /apu_dvfs@19180000
1a001000-1a001fff : /smi_larb6@1a001000
1a002000-1a002fff : /smi_larb7@1a002000
40000000-4c3fffff : System RAM
40080000-415fffff : Kernel code
41b70000-4281cfff : Kernel data
4c800000-4cdfffff : System RAM
4d000000-55ffffff : System RAM
56700000-6fffffff : System RAM
74240000-77feffff : System RAM
78000000-7bdbffff : System RAM
7e010000-7eebffff : System RAM
7ffc0000-8bffffff : System RAM
8d100000-8effffff : System RAM
8f300000-8f3fffff : System RAM
90000000-9f7effff : System RAM
9ff00000-bbffffff : System RAM
bc400000-bcffffff : System RAM
bd000000-bd2fffff : AXI-BUS
bd300000-bd55ffff : System RAM
bfff0000-bfffafff : System RAM
c0000000-ffdfffff : System RAM
fff00000-1bfffefff : System RAM
Booting process
1. BROM (Boot ROM)
Boots when power is applied to SoC. Initializes flash storage and starts preloader
2. PL (Preloader)
Initializes basic devices like usb, gpio, timers, etc. If Volume Up (+) is held, PL will hand controll back to BROM wth EDL (Emergency Download Mode).
3. LK (Little Kernel)
Displays logo and verifies some partitions (TODO: which partitions).
If it fails to verify partition, it won't continue.
!IMPORTANT! LK WILL USE DTB (Device Tree Blob) FOUND IN BOOT.IMG which means that if DTB is invalid, the device will be hard-bricked
4. Linux
Additional info
- For now WIFI works only with proprietary tools found in /vendor partition.
- These tools can be run using android runtime's linker64 and its libraries
- Xiaomi_Redmi_Note_7_(xiaomi-lavender)
- Xiaomi_Redmi_Note_8T_(xiaomi-willow)
See also
- pmaports!1909 Initial merge request