[GUIDE] How to Avoid Killing Your OnePlus 8 Pro / 8T / 9R with OxygenOS 12 / ColorOS 12

Search This thread

ProtoDeVNan0

Senior Member
Apr 3, 2013
1,409
6,040
HTC Sensation
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.

1649027073073.png

1649027150167.png


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:

nkhater

Senior Member
Dec 1, 2006
661
203
Jerusalem Palestine
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!


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?

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.

View attachment 5578875
View attachment 5578877


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.

This is so F'ing insane
 

mlgmxyysd

Recognized Developer
Some extra warnings:
1. OnePlus 8T/9R also has LPDDR4x variant, make sure the variants before flashing.
2. The DDR detection process was artificially killed, stay away from the Magisk modules to keep safe.
3. TWRP is no longer recommended, use OxygenOS modified recovery or other ROM's recovery instead.
4. Flash/Root has huge risks, all operations need to be careful.

OnePlus 8 - LPDDR4x
OnePlus 8 Pro - LPDDR5
OnePlus 8T - LPDDR4x/LPDDR5
OnePlus 9R - LPDDR4x/LPDDR5
 

ProfEngr

Senior Member
Aug 25, 2009
617
57
Looks as if I need to just bite the bullet and roll back to 11 until 12 gets sorted. I won't hold my breath though with the rollout of the new "flagship" I doubt fixing 12 is a high priority.
 

xtcislove

Senior Member
Jan 17, 2010
1,377
284
Gummersbach
OnePlus 8 Pro
OnePlus 9 Pro
Holy ****...

These are the images of IN2025_11_C_OTA_1100


Code:
abl.img
aop.img
bluetooth.img
boot.img
cmnlib.img
cmnlib64.img
devcfg.img
dsp.img
dtbo.img
featenabler.img
hyp.img
imagefv.img
keymaster.img
logo.img
mdm_oem_stanvbk.img
modem.img
multiimgoem.img
my_bigball.img
my_carrier.img
my_company.img
my_engineering.img
my_heytap.img
my_manifest.img
my_preload.img
my_product.img
my_region.img
my_stock.img
odm.img
product.img
qupfw.img
recovery.img
spunvm.img
storsec.img
system.img
system_ext.img
tz.img
uefisecapp.img
vbmeta.img
vbmeta_system.img
vendor.img
xbl.img
xbl_config.img
xbl_config_lp5.img
xbl_lp5.img

And these are the images of 11.0.11.11

Code:
abl.img
aop.img
bluetooth.img
boot.img
cmnlib.img
cmnlib64.img
devcfg.img
dsp.img
dtbo.img
featenabler.img
hyp.img
imagefv.img
keymaster.img
logo.img
mdm_oem_stanvbk.img
modem.img
multiimgoem.img
odm.img
product.img
qupfw.img
recovery.img
reserve.img
spunvm.img
storsec.img
system.img
system_ext.img
tz.img
uefisecapp.img
vbmeta.img
vbmeta_system.img
vendor.img
xbl.img
xbl_config.img

Usually i use this script after changing a rom and after using MSM tool.


Code:
fastboot -w
fastboot flash boot boot.img
fastboot flash dtbo dtbo.img
fastboot flash modem modem.img
fastboot flash recovery recovery.img
fastboot --disable-verity flash vbmeta vbmeta.img
fastboot --disable-verity flash vbmeta_system vbmeta_system.img
fastboot reboot fastboot
fastboot flash abl abl.img
fastboot flash aop aop.img
fastboot flash bluetooth bluetooth.img
fastboot flash cmnlib cmnlib.img
fastboot flash cmnlib64 cmnlib64.img
fastboot flash devcfg devcfg.img
fastboot flash dsp dsp.img
fastboot flash featenabler featenabler.img
fastboot flash hyp hyp.img
fastboot flash imagefv imagefv.img
fastboot flash keymaster keymaster.img
fastboot flash logo logo.img
fastboot flash mdm_oem_stanvbk mdm_oem_stanvbk.img
fastboot flash multiimgoem multiimgoem.img
fastboot flash odm odm.img
fastboot flash opproduct opproduct.img
fastboot flash qupfw qupfw.img
fastboot flash spunvm spunvm.img
fastboot flash storsec storsec.img
fastboot flash tz tz.img
fastboot flash uefisecapp uefisecapp.img
fastboot flash xbl xbl.img
fastboot flash xbl_config xbl_config.img
fastboot flash system system.img
fastboot flash vendor vendor.img
fastboot flash product product.img
fastboot reboot fastboot
fastboot flash --slot=all abl abl.img
fastboot flash --slot=all aop aop.img
fastboot flash --slot=all bluetooth bluetooth.img
fastboot flash --slot=all cmnlib64 cmnlib64.img
fastboot flash --slot=all cmnlib cmnlib.img
fastboot flash --slot=all devcfg devcfg.img
fastboot flash --slot=all dsp dsp.img
fastboot flash --slot=all featenabler featenabler.img
fastboot flash --slot=all hyp hyp.img
fastboot flash --slot=all imagefv imagefv.img
fastboot flash --slot=all keymaster keymaster.img
fastboot flash --slot=all logo logo.img
fastboot flash --slot=all mdm_oem_stanvbk mdm_oem_stanvbk.img
fastboot flash --slot=all modem modem.img
fastboot flash --slot=all multiimgoem multiimgoem.img
fastboot flash --slot=all qupfw qupfw.img
fastboot flash --slot=all spunvm spunvm.img
fastboot flash --slot=all storsec storsec.img
fastboot flash --slot=all tz tz.img
fastboot flash --slot=all uefisecapp uefisecapp.img
fastboot flash --slot=all xbl_config xbl_config.img
fastboot flash --slot=all xbl xbl.img
fastboot reboot-bootloader

If i would have used this with OOS12 i would have bricked my phone on both slots instantly.....

Im so glad that i was sceptical because OOS12 had more .img files compared to OOS11 and i did not use the script.

People need to know this...


Am i right that as long as we stay on OOS11 and dont use anything from OOS12 we are good to go like before?
 

Niekdeg

Member
Jul 23, 2021
13
0
OnePlus 8 Pro
Hi, i wanted twrp on my oneplus 8 pro IN2021 India and now i can't exit fastboot mode... when i press recovery mode then it boot into fastboot mode again.. and when i boot other rom's it stay the same (sorry bad english i am dutch lol)
 

nkhater

Senior Member
Dec 1, 2006
661
203
Jerusalem Palestine
Dude, be very careful, any wrong move you can lose your phone. I am not sure if MSMTool can help take you back to OOS 11.

download this https://androidfilehost.com/?fid=2188818919693750622

from here:

have you ever used MSMTool?
 
  • Sad
Reactions: takichiman

Niekdeg

Member
Jul 23, 2021
13
0
OnePlus 8 Pro
Dude, be very careful, any wrong move you can lose your phone. I am not sure if MSMTool can help take you back to OOS 11.

download this https://androidfilehost.com/?fid=2188818919693750622

from here:

have you ever used MSMTool?
i have that but my device isn't there... i have install the driver but noting..
 

Top Liked Posts

  • There are no posts matching your filters.
  • 28
    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.

    1649027073073.png

    1649027150167.png


    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.
    9
    Some extra warnings:
    1. OnePlus 8T/9R also has LPDDR4x variant, make sure the variants before flashing.
    2. The DDR detection process was artificially killed, stay away from the Magisk modules to keep safe.
    3. TWRP is no longer recommended, use OxygenOS modified recovery or other ROM's recovery instead.
    4. Flash/Root has huge risks, all operations need to be careful.

    OnePlus 8 - LPDDR4x
    OnePlus 8 Pro - LPDDR5
    OnePlus 8T - LPDDR4x/LPDDR5
    OnePlus 9R - LPDDR4x/LPDDR5
    6
    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!


    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?

    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.

    View attachment 5578875
    View attachment 5578877


    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.

    This is so F'ing insane
    3
    Holy ****...

    These are the images of IN2025_11_C_OTA_1100


    Code:
    abl.img
    aop.img
    bluetooth.img
    boot.img
    cmnlib.img
    cmnlib64.img
    devcfg.img
    dsp.img
    dtbo.img
    featenabler.img
    hyp.img
    imagefv.img
    keymaster.img
    logo.img
    mdm_oem_stanvbk.img
    modem.img
    multiimgoem.img
    my_bigball.img
    my_carrier.img
    my_company.img
    my_engineering.img
    my_heytap.img
    my_manifest.img
    my_preload.img
    my_product.img
    my_region.img
    my_stock.img
    odm.img
    product.img
    qupfw.img
    recovery.img
    spunvm.img
    storsec.img
    system.img
    system_ext.img
    tz.img
    uefisecapp.img
    vbmeta.img
    vbmeta_system.img
    vendor.img
    xbl.img
    xbl_config.img
    xbl_config_lp5.img
    xbl_lp5.img

    And these are the images of 11.0.11.11

    Code:
    abl.img
    aop.img
    bluetooth.img
    boot.img
    cmnlib.img
    cmnlib64.img
    devcfg.img
    dsp.img
    dtbo.img
    featenabler.img
    hyp.img
    imagefv.img
    keymaster.img
    logo.img
    mdm_oem_stanvbk.img
    modem.img
    multiimgoem.img
    odm.img
    product.img
    qupfw.img
    recovery.img
    reserve.img
    spunvm.img
    storsec.img
    system.img
    system_ext.img
    tz.img
    uefisecapp.img
    vbmeta.img
    vbmeta_system.img
    vendor.img
    xbl.img
    xbl_config.img

    Usually i use this script after changing a rom and after using MSM tool.


    Code:
    fastboot -w
    fastboot flash boot boot.img
    fastboot flash dtbo dtbo.img
    fastboot flash modem modem.img
    fastboot flash recovery recovery.img
    fastboot --disable-verity flash vbmeta vbmeta.img
    fastboot --disable-verity flash vbmeta_system vbmeta_system.img
    fastboot reboot fastboot
    fastboot flash abl abl.img
    fastboot flash aop aop.img
    fastboot flash bluetooth bluetooth.img
    fastboot flash cmnlib cmnlib.img
    fastboot flash cmnlib64 cmnlib64.img
    fastboot flash devcfg devcfg.img
    fastboot flash dsp dsp.img
    fastboot flash featenabler featenabler.img
    fastboot flash hyp hyp.img
    fastboot flash imagefv imagefv.img
    fastboot flash keymaster keymaster.img
    fastboot flash logo logo.img
    fastboot flash mdm_oem_stanvbk mdm_oem_stanvbk.img
    fastboot flash multiimgoem multiimgoem.img
    fastboot flash odm odm.img
    fastboot flash opproduct opproduct.img
    fastboot flash qupfw qupfw.img
    fastboot flash spunvm spunvm.img
    fastboot flash storsec storsec.img
    fastboot flash tz tz.img
    fastboot flash uefisecapp uefisecapp.img
    fastboot flash xbl xbl.img
    fastboot flash xbl_config xbl_config.img
    fastboot flash system system.img
    fastboot flash vendor vendor.img
    fastboot flash product product.img
    fastboot reboot fastboot
    fastboot flash --slot=all abl abl.img
    fastboot flash --slot=all aop aop.img
    fastboot flash --slot=all bluetooth bluetooth.img
    fastboot flash --slot=all cmnlib64 cmnlib64.img
    fastboot flash --slot=all cmnlib cmnlib.img
    fastboot flash --slot=all devcfg devcfg.img
    fastboot flash --slot=all dsp dsp.img
    fastboot flash --slot=all featenabler featenabler.img
    fastboot flash --slot=all hyp hyp.img
    fastboot flash --slot=all imagefv imagefv.img
    fastboot flash --slot=all keymaster keymaster.img
    fastboot flash --slot=all logo logo.img
    fastboot flash --slot=all mdm_oem_stanvbk mdm_oem_stanvbk.img
    fastboot flash --slot=all modem modem.img
    fastboot flash --slot=all multiimgoem multiimgoem.img
    fastboot flash --slot=all qupfw qupfw.img
    fastboot flash --slot=all spunvm spunvm.img
    fastboot flash --slot=all storsec storsec.img
    fastboot flash --slot=all tz tz.img
    fastboot flash --slot=all uefisecapp uefisecapp.img
    fastboot flash --slot=all xbl_config xbl_config.img
    fastboot flash --slot=all xbl xbl.img
    fastboot reboot-bootloader

    If i would have used this with OOS12 i would have bricked my phone on both slots instantly.....

    Im so glad that i was sceptical because OOS12 had more .img files compared to OOS11 and i did not use the script.

    People need to know this...


    Am i right that as long as we stay on OOS11 and dont use anything from OOS12 we are good to go like before?
    3
    Friendly reminder:
    OnePlus8ProOxygen_15.E.15_OTA_1032_all_2204021901_1b9e6
    IN2023_11_C.15 - European Firmware - 3.9 GB

    Still has the potential to brick your device! I dont know if they fixed the checks now.

    IMG List:

    Code:
    44
    abl.img
    aop.img
    bluetooth.img
    boot.img
    cmnlib.img
    cmnlib64.img
    devcfg.img
    dsp.img
    dtbo.img
    featenabler.img
    hyp.img
    imagefv.img
    keymaster.img
    logo.img
    mdm_oem_stanvbk.img
    modem.img
    multiimgoem.img
    my_bigball.img
    my_carrier.img
    my_company.img
    my_engineering.img
    my_heytap.img
    my_manifest.img
    my_preload.img
    my_product.img
    my_region.img
    my_stock.img
    odm.img
    product.img
    qupfw.img
    recovery.img
    spunvm.img
    storsec.img
    system.img
    system_ext.img
    tz.img
    uefisecapp.img
    vbmeta.img
    vbmeta_system.img
    vendor.img
    xbl.img
    xbl_config.img
    xbl_config_lp5.img
    xbl_lp5.img