Home > OnePlus

Which [and How] to Flash: xbl and xbl_lp5 file on OnePlus

In this guide, we will show you the steps to flash the xbl or xbl_lp5 on your OnePlus device. One of the biggest perks of having a OnePlus device is the fact that even if your device ends up in a hard brick state, you could still easily recover it by booting it to EDL Mode and flashing the OFP firmware via MSM Download Tool. However, as of late, we came across a few reports wherein users were unable to get this job done as their PC simply refused to identify the device in EDL Mode.

These issues are nothing new and we have seen plenty of such reports in the past as well. However, this time around, there was a strange pattern with all these reports, most of them have flashed the firmware [payload.bin] via the Fastboot Enhance Tool. And this is where lies the issue. All those OnePlus 8T that were launched prior to March 2021 come with LPDDR4 whereas those launched after that come with LPDDR5.

So the devices with LPDDR5 need to flash xbl*_lp5 images whereas those with LPDDR4 should flash xbl* images without _lp5. This is one of the most important aspects that many users end up missing and even the Tool isn’t designed/updated with this check. So it ended up flashing the incorrect xbl file and the end result was quite scary- users had to boot to EDL via the test point method! Here’s how to avoid all that from happening.

Which [and How] to Flash XBL File on OnePlus

There exist two different methods to get this job done- automatic and manual. While I have listed both these methods below, but it is highly recommended that you opt for the Automatic Approach. This is because, in the Automatic method, you just need to flash a ZIP file via TWRP [there’s even no need to permanently flash TWRP, you could just temporarily boot to TWRP for one-time usage].

On the other hand, in the Manual Method, you’ll have to manually flash the firmware files in FastbootD Mode via fastboot commands. But before proceeding ahead with any of these two methods, please take a backup beforehand. Droidwin and its members wouldn’t be held responsible in case of a thermonuclear war, your alarm doesn’t wake you up, or if anything happens to your device and data by performing the below steps.

Automatic Method [Recommended]

In this method, you don’t even have to check for the DDR Type as the module which will be flashing the firmware will automatically do this job on your behalf. And that’s not it, the module will automatically flash to both the slots as well!

How to Flash OxygenOS Firmware on any OnePlus [Video]

Manual Method

  1. First off, check the DDR version for your device: How to Check DDR Version on OnePlus.
    Flash xbl xbl_lp5 OnePlus
  2. Then download the Fastboot ROM corresponding to your device’s Build Number
  3. Now extract it and you’ll get payload.bin. Extract that file via Fastboot Enhance Tool.
    Flash xbl xbl_lp5 OnePlus
  4. This will give you the required files. Transfer them to the platform-tools folder.
  5. Now boot your device to FastbootD Mode and type in the commands corresponding to the DDR type:
    Flash xbl xbl_lp5 OnePlus

For DDR Type 0 (DDR4)

fastboot flash --slot=all xbl_config xbl_config.img
fastboot flash --slot=all xbl xbl.img

For DDR Type 1 (DDR5)

fastboot flash --slot=all xbl_config xbl_config_lp5.img
fastboot flash --slot=all xbl xbl_lp5.img

Flashing the Rest of the Firmware Files

Once you have flashed the required DDR4 or DDR5 XBL file, it is also recommended that you flash the rest of the partition files. All these files should be flashed in FastbootD Mode itself. I have listed the commands for OnePlus 8/8 Pro/8T/9R, you should verify the files for your OnePlus firmware, and modify it accordingly, if needed:

OnePlus 8 Firmware Flashing Commands

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

OnePlus 8 Pro Firmware Flashing Commands

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

OnePlus 8T Firmware Flashing Commands

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

OnePlus 9R Firmware Flashing Commands

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

That’s it. These were the steps to flash the xbl or xbl_lp5 file on your OnePlus device along with the rest of the firmware files. If you have any queries concerning the aforementioned steps, do let us know in the comments. We will get back to you with a solution at the earliest.

Share: