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

Search This thread

raybonz420

Member
Jul 26, 2011
19
5
43
Arizona
OnePlus 8T
if you hold volume up and power the device will reboot. as soon as it reboots hold both volume up and down buttons while MSMdownload tool is started and waiting for device. this will then trigger the tool to begin but it will freeze. you can avoid this by continuing to hold both buttons until it makes it passed the point it would normally freeze, then the tool will recover OOS 11 from borked 12.
 

raybonz420

Member
Jul 26, 2011
19
5
43
Arizona
OnePlus 8T
Im in the exact same boat - I just cant get my phone to go to EDL mode. Im stuck at the Fastboot screen and nothing seems to work to try and get the MSM tool to recognise my device. Im hoping someone has a way out of this.

- Ive tried the usual hardware vol up+down and plugging in the cable but it just goes to fast boot again.
- every option ive tried at Fastboot goes back to fastboot after restart.

I know MSM will work, I just cant seem to force the phone to go into EDL. help :(
hold vol up and power as soon as device begins to boot hold both vol up and down while msmtool is started and waiting, this will trigger EDL mode, if if it hangs, close msmtool and try again only keep holding vol up and down until it makes it past the part that it hangs at.
 

Igor.Arusa

New member
Oct 2, 2015
1
0
Eu souI'm extremely confused. This topic made me anxious. This risk of killing Oneplus is who has custom recovery? I got very confused. I confess that doing all this is not for amateurs! I, who understand a lot about technology, found it very boring to do this for something that should be simple. A great update! Let me know if this still applies. Because I don't even want to risk it.
 

MetalBeard

New member
May 7, 2022
2
2
hold vol up and power as soon as device begins to boot hold both vol up and down while msmtool is started and waiting, this will trigger EDL mode, if if it hangs, close msmtool and try again only keep holding vol up and down until it makes it past the part that it hangs at.
DUUUUUUUDE .. you LEGEND!!

It finally worked. I don't know what I was doing wrong before but I kept holding vol up+down and it finally recognised the device and started install.

I ordered a Pixel6pro which I'm now returning back - you just saved me £800. Thank you so much for replying!
 

Rain_-

Member
May 21, 2022
6
0
OnePlus 7 Pro
Nintendo Switch
Hi, I'm hoping that there is a fix but I'm guessing there isnt from reading this. I am on the same boat and did flash the OTA firmware files on both slots and now cannot boot. I have torn down the phone to disconnect the battery and try to get into EDL cuz I know it's the only way to recover it and it's not working. I did make a thread but hoping this will help.

 

kebabish

New member
Mar 7, 2011
3
1
Hi, I'm hoping that there is a fix but I'm guessing there isnt from reading this. I am on the same boat and did flash the OTA firmware files on both slots and now cannot boot. I have torn down the phone to disconnect the battery and try to get into EDL cuz I know it's the only way to recover it and it's not working. I did make a thread but hoping this will help.

Two really important things:

1. Install the qualcom drivers. Make sure it's showing up in the list. Enable legacy device display if you don't see com/ports in the list.

2. Make sure you download the correct region msm tool and enable it after the correct key combo as per three posts above.

That's what allowed me to unbrick and restore to android 11.
 

Rain_-

Member
May 21, 2022
6
0
OnePlus 7 Pro
Nintendo Switch
Two really important things:

1. Install the qualcom drivers. Make sure it's showing up in the list. Enable legacy device display if you don't see com/ports in the list.

2. Make sure you download the correct region msm tool and enable it after the correct key combo as per three posts above.

That's what allowed me to unbrick and restore to android 11.
Yeah, I did all of that and it doesn't seemed to work.
 

sirhc

Senior Member
Jun 7, 2012
1,478
2,231
Charlotte
I've tried every button combination humanly possible and it's still not getting to EDL or Fastboot. It's still responding to my button presses but idk. Am I missing something here?

Yup my 8pro just got fried as well, flashed A12 fastboot images and didn't know about the xbl image issues until after the fact. The phone does nothing, and can't even boot edl mode or get it detected by my PC. I've tried making an EDL cable and still nothing.

Last thing I heard was using the test points on the board to force it into EDL mode but if what OP is saying is true about the RAM being overvolted and fried then you're gonna need another motherboard, better yet a another phone lol
 

Rain_-

Member
May 21, 2022
6
0
OnePlus 7 Pro
Nintendo Switch
Yup my 8pro just got fried as well, flashed A12 fastboot images and didn't know about the xbl image issues until after the fact. The phone does nothing, and can't even boot edl mode or get it detected by my PC. I've tried making an EDL cable and still nothing.

Last thing I heard was using the test points on the board to force it into EDL mode but if what OP is saying is true about the RAM being overvolted and fried then you're gonna need another motherboard, better yet a another phone lol
Yeah I ended up getting the Pixel 6 Pro. Now I'm just waiting for OnePlus to respond to my emails on hoping to get a repair for it. But so far they're ghosting me
 

gasroca

Senior Member
Feb 13, 2014
317
107
London, UK
Samsung Galaxy Note 3
LG G4
Guys I just got a OP8P international and am currently on a12 full stock no bootloader unlocked nothing, can I use the msm tool to go back to OOS11? My last OP phone was a 6t so I kinda know how A/B partitions work but we never had this lpddr bs with it..
 

xtcislove

Senior Member
Jan 17, 2010
1,083
187
Gummersbach
OnePlus 8 Pro
Guys I just got a OP8P international and am currently on a12 full stock no bootloader unlocked nothing, can I use the msm tool to go back to OOS11? My last OP phone was a 6t so I kinda know how A/B partitions work but we never had this lpddr bs with it..
Yes use msm to go back to 11.0.4.4 and then upgrade to 11.0.11.1 via local upgrade TWO TIMES.



You will get an anoying permament notification to upgrade to a12 i deactivated it this way:
adb shell pm disable-user --user 0 com.oneplus.opbackup
 

gasroca

Senior Member
Feb 13, 2014
317
107
London, UK
Samsung Galaxy Note 3
LG G4
Yes use msm to go back to 11.0.4.4 and then upgrade to 11.0.11.1 via local upgrade TWO TIMES.



You will get an anoying permament notification to upgrade to a12 i deactivated it this way:
adb shell pm disable-user --user 0 com.oneplus.opbackup
That's awesome, thanks man appreciate the help 👍
 
  • Like
Reactions: xtcislove

lushplush

New member
Jun 15, 2022
1
0
Alright guys, I have a very specific question, and I would really appreciate it if anyone is able to answer.

I have a oneplus 8T with LPDDR5 RAM. The earliest MSMDownloadTool I can find that includes DDR detection is OxygenOS 11.0.7.9. Any version before this doesn't have DDR detection, so whenever I begin flashing it would say Auto Detection of DDR failed. Thing is I really want to flash OxygenOS 11.0.6.7, this is in my opinion the last OOS that is stable and bloat free.

So what I did is I loaded up the MSMTool, flashed my phone to 11.0.7.9 and used the rollback package to rollback to 11.0.6.7. It somehow worked. Considering that the firmware was released in Dec 2020 (at that time oneplus has yet to ship any 8T with DDR5), it's nothing short of a miracle that it's working with a DDR5-equipped 8T.

However I'm not happy with the result. I got the system version I want but I want a real clean install. I prefer doing everything in ADB instead of letting the phone handle the upgrade/downgrade. So my first question is, is there any way I can clean install 11.0.6.7 on a computer? What I want is a one step solution, not using MSM and rollback package cuz this isn't clean enough.

My second question is, how is my 8T still working? From all the information I've gathered, all the MSMDownloadTool up until 11.0.5.6 does not support DDR selection which means the ROM doesn't even have the voltage file for LPDDR5. So how is my 8T still alive?
 

khal0

New member
Jun 21, 2022
1
0
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?
I used those images to falsh my OP8PRO and it killed it. If you must flash your phone and have no other way around it, delete the xbl.img and xbl_config.img and keep the ones for
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?
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?
If there is no other way to unlock your phone and must flash it. If you have a OP8PRO like I did delete the xbl.img and xbl_config.img and the keep the ones dedicated for LPDDR5. I was on OOS12 and this istantly killed my phone beyond repair and I had to change the motherboard as a whole
 

bacon612

Senior Member
Jan 9, 2012
1,392
584
Sony Xperia Z2 Tablet
OnePlus 8 Pro
yes. and its not worth to use a12 on this phone anyway. Im on a10 and very happy.
I'd like some clarification too, please. OnePlus 8 pro AA (in2025). On oos 11 latest 11.0.11.11. Rooted with latest magisk.

I'm getting nagged to update to oos 12. C16 build and then subsequent incremental builds to latest. Am I not able to restore images and take this update to oos 12?

If yes, can I do it and patch magisk to inactive slot like I used to or is this still playing with fire?
 

Top Liked Posts

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

    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.
    7
    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
    5
    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