As You can see, recently we started seeing more and more threads complaining about OxygenOS 12 killing people's devices. I lost my 8 Pro the same way few months ago and we finally know what caused this!
ANSWER - THE BOOTLOADER!
Massive Update! Someone found a way to recover the phone using EDL Deep Flash Cable.
XDA Thread Link
(Even though I tried it when it happened to me all this time ago and it didn't work, but it does seem to work for few people who used a Black & White cable from AliExpress (maybe there's some hidden tech inside) so give it a try and report, there's also a chance that maybe some devices don't get burned out but simply refuse to boot because voltage is too high, and others might be fried forever, we will see with time I guess. Nonetheless, Good Luck!)
While OxygenOS OTA is mostly safe, it can still accidentally flash the wrong bootloader on Your phone! Examples are having Magisk Props Module installed which will lead to OxygenOS flashing the wrong image or TWRP telling payload to flash DDR4 bootloader onto DDR5 device.
But wait.. how can an official bootloader kill the motherboard beyond MSM?! Well.. Here's the thing, OnePlus uses same signature to sign all four firmwares, OP8, OP8T, OP8Pro, 9R all use identical signature, which means that PBL (Primary Bootloader) will load XBL (Secondary Bootloader) no matter which one You flash.
But wait.. isn't there any protection to stop this from happening? Well.. there should be. In fact previously OnePlus 8 and 8 Pro firmwares both shipped with single bootloader that was either designed for DDR4 or DDR5. Now since OxygenOS 12 they started shipping DDR4 and DDR5 in the same package. And the reason why the phone dies is because LPDDR5 RAM uses lower voltage compared to LPDDR4X, and just because there's no code to prevent XBL from setting voltage too high on LPDDR5, it leads to RAM getting overvolted and dying.
How can we tell which one we should flash if we end up flashing OOS OTA manually through fastboot?
Update: Double check Your RAM just in case!
Post #3
If You have OnePlus 8 (DDR4) You're supposed to flash xbl.img & xbl_config.img
If You have OnePlus 8 Pro / 8T / 9R (DDR5) You're supposed to flash xbl_lp5.img & xbl_config_lp5.img
I recommend everyone who makes fastboot flashers to include that change or make separate flashers for each codename!
Previously LP5 was only available in 9R firmware but it seems that OnePlus after joining OPPO has changed things a little and made things quite dangerous for many people.
Images above show that there are some checks but unfortunately they don't seem to work correctly and voltage is being set too high anyway.
So, Dear OnePlus, please stop adding non DDR5 bootloader to 8 Pro firmware builds! Or at least add protection to fail boot if DDR5 is detected.
ANSWER - THE BOOTLOADER!
Massive Update! Someone found a way to recover the phone using EDL Deep Flash Cable.
XDA Thread Link
(Even though I tried it when it happened to me all this time ago and it didn't work, but it does seem to work for few people who used a Black & White cable from AliExpress (maybe there's some hidden tech inside) so give it a try and report, there's also a chance that maybe some devices don't get burned out but simply refuse to boot because voltage is too high, and others might be fried forever, we will see with time I guess. Nonetheless, Good Luck!)
While OxygenOS OTA is mostly safe, it can still accidentally flash the wrong bootloader on Your phone! Examples are having Magisk Props Module installed which will lead to OxygenOS flashing the wrong image or TWRP telling payload to flash DDR4 bootloader onto DDR5 device.
But wait.. how can an official bootloader kill the motherboard beyond MSM?! Well.. Here's the thing, OnePlus uses same signature to sign all four firmwares, OP8, OP8T, OP8Pro, 9R all use identical signature, which means that PBL (Primary Bootloader) will load XBL (Secondary Bootloader) no matter which one You flash.
But wait.. isn't there any protection to stop this from happening? Well.. there should be. In fact previously OnePlus 8 and 8 Pro firmwares both shipped with single bootloader that was either designed for DDR4 or DDR5. Now since OxygenOS 12 they started shipping DDR4 and DDR5 in the same package. And the reason why the phone dies is because LPDDR5 RAM uses lower voltage compared to LPDDR4X, and just because there's no code to prevent XBL from setting voltage too high on LPDDR5, it leads to RAM getting overvolted and dying.
How can we tell which one we should flash if we end up flashing OOS OTA manually through fastboot?
Update: Double check Your RAM just in case!
Post #3
If You have OnePlus 8 (DDR4) You're supposed to flash xbl.img & xbl_config.img
If You have OnePlus 8 Pro / 8T / 9R (DDR5) You're supposed to flash xbl_lp5.img & xbl_config_lp5.img
I recommend everyone who makes fastboot flashers to include that change or make separate flashers for each codename!
Previously LP5 was only available in 9R firmware but it seems that OnePlus after joining OPPO has changed things a little and made things quite dangerous for many people.
Images above show that there are some checks but unfortunately they don't seem to work correctly and voltage is being set too high anyway.
So, Dear OnePlus, please stop adding non DDR5 bootloader to 8 Pro firmware builds! Or at least add protection to fail boot if DDR5 is detected.
Last edited: