banner
小忧忧

Hi,小忧忧

比起昨天还要高,比起前天连升八度!
github
tg_channel

How to Prevent and Remedy Crashes Caused by Flashing Incorrect XBL

In April 2022, my 8 Pro bricked in the same way, and I finally found out the reason!

Answer - Bootloader!#

OnePlus signs all four firmware with the same signature, OP8, OP8T, OP8Pro, and 9R all use the same signature, which means that regardless of which one you flash, their PBL (Primary Bootloader) will load the XBL (Secondary Bootloader).

While OxygenOS OTA is generally safe, it can still accidentally lead to OxygenOS flashing the wrong image or TWRP telling the payload to flash the DDR4 bootloader onto a DDR5 device. Previous OnePlus 8 and 8 Pro firmware came with a single bootloader designed for either DDR4 or DDR5. But starting from OxygenOS 12, they began shipping both DDR4 and DDR5 in the same package. The reason the phone bricks is that LPDDR5 uses a lower voltage compared to LPDDR4X, and simply because there is no code to prevent the XBL from setting the voltage too high on LPDDR5, the RAM fails to load the correct voltage and cannot function properly, causing the phone to fail to boot.

So if we manually flash OOS OTA via fastboot, we should check if it is the correct XBL to prevent this from happening.

ModelRAM
OnePlus 8LPDDR4
OnePlus 8 ProLPDDR5
OnePlus 8TLPDDR4x/LPDDR5
OnePlus 9RLPDDR4x/LPDDR5

If you are OnePlus 8 (DDR4), you should flash xbl.img and xbl_config.img.
If you are OnePlus 8 Pro/8T/9R (DDR5), you should flash xbl_lp5.img and xbl_config_lp5.img.
I suggest that everyone making fastboot flashers include this change or create separate flashers for each code name!

Previously, LP5 was only available for the 9R firmware, but it seems some changes occurred after OnePlus joined OPPO, making many people feel it was dangerous.

image

image

The images above have some checks, but they seem to not be functioning normally, and the voltage is set too high.

So, please stop flashing non-DDR5 bootloaders onto the 8 Pro firmware! Or at least add protection to prevent boot failures when DDR5 is detected.

How to Remedy#

Flashing the wrong XBL generally results in the phone behaving like an electronic brick (unable to power on, enter fastboot, 9008 mode, and no screen charging animation response when charging).

We can purchase an engineering cable with specific resistors to connect to your phone and use this cable for normal 9008 flashing operations to rescue your phone.

Of course, if your area does not sell cables explicitly with resistors, you can also use cables with similar PCB 2.0 functionality for flashing, which generally contain various types of resistors and typically look like this.

image image

I hope this post can help others who encounter the same issue.

Article references:
XDA(GUIDE How to Avoid Killing Your OnePlus 8 Pro/8T/9R with OxygenOS 12 / ColorOS 12)
Coolapk @Jpnx49Db0 related images and text
GUIDE How to Avoid Killing Your OnePlus 8 Pro / 8T / 9R with OxygenOS 12 / ColorOS 12

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.