Greetings,
I've appreciated
@Slikkster2k's terrific thread that explains and walks you through fastboot recovery of a OnePlus 9. To make it more convenient, I've taken his process and adapted
@mauronofrio's OnePlus 8 fastboot ROM to post a fastboot ROM zip for the OnePlus 9.
PLEAE NOTE THAT FASTBOOT ROMS CAN ONLY BE USED IN DEVICES WITH AN UNLOCKED BOOTLOADER!!!
AND BE WARNED THAT YOU WILL WIPE INTERNAL STORAGE COMPLETELY.
THIS IS NOT MEANT FOR BRANDED DEVICES, OR TO SWITCH REGIONAL TYPES, OR AS AN UPGRADE PATH.
THIS IS THE LAST DITCH ATTEMPT BEFORE USING AN MSM TOOL TO GET YOU A BOOTING DEVICE...
Instructions:
- On your PC, install bootloader drivers for OP9 (I used the Universal ADB driver found here:
https://adb.clockworkmod.com/) and afterwards, you may need to use Device Manager in Windows' control panel to "update driver" for an unrecognized OP9 in Bootloader and Fastbootd modes.
- Ensure you're using the LATEST version of SDK platform tools (from Android Studio) on your PC or you might be stuck at a later step (specifically, when rebooting to Fastbootd)
- On your PC, download the Fastboot ROM zip from the download link below.
- On your PC, unzip downloaded file
- On your PC, navigate to its now-uncompressed folder
- Reboot your OnePlus 9 to bootloader mode. From a crashed state, you might need to hold down the power button for an ungodly amount of time (think 30 seconds) to fully shut down. Then hold down power and both volume buttons until you see the Bootloader screen
- Connect the OP9 to your PC
- On your PC in the uncompressed folder, double-click
cmd.bat
- In the PowerShell window that opens, type
fastboot devices
=if you see a small string of characters, you're good
=if you only get another prompt, you need to install adb drivers (see 1st step) before going any further
- type
flash-all_slotb.bat
- type
y
= because there's almost NO CIRCUMSTANCE that a fastboot ROM successfully flashes without wiping your data. As in deleting, formatting, absolutely annihilating everything on your device. Now if you have a perfectly functional device, then maybe you can avoid wiping. But that's not why you're here, are you? You've buggered your phone and are desperately looking for someway to get it to boot normally, before calling OnePlus and begging for an MSM tool. So if you're here, take a deep breath and kiss your data goodbye.
= flashing the ROM to slot B and then booting slot B gives you a better shot at one-step flashing success. It's been my experience that f you flash to slot A, some files simply don't flash and then you're left having to flash to slot B anyways.
= at some point, your OP9 will reboot to Fastboot mode for more flashing...but if you happen to see
<awaiting any device> for several minutes, it means that the OP9 in Fastboot mode is not being recognized by Windows due to a driver issue, and for those unlucky folks, go to Post #2
= if your OP9 continues to blissfully flash in Fastboot mode, just let it go...
- Success is when you see a final reboot, and the twirling dots of a normal OOS boot, at which point you can finally unplug your OP9 from your PC.
Optional steps, at end:
Once you've successfully booted to 11.2.2.2, I would recommend that you download the latest full OTA from OnePlus' support page (11.2.9.9 is in the DOWNLOAD LINKS, below) and place it on your internal SD card's "root" directory (note that this is not the true root directory of internal storage accessible only if you are rooted with Magisk)
Then Settings>system>system updates and tap the gear icon (top right of screen) to do a local upgrade.
After Fastboot ROM flashing on slot B, this local upgrade ensures that slot A will be overwritten by the full stock ROM, ending whatever badness was on slot A that led you to need a Fastboot ROM flash. So now, both slots A and B should have solid functioning ROMs.
Good luck!
DOWNLOAD LINKS:
Fastboot ROM 11222AA zip:
Download GApps, Roms, Kernels, Themes, Firmware, and more. Free file hosting for all Android developers.
www.androidfilehost.com
Stock Full OTA 11299AA zip
Credits:
-
@Slikkster2k
-
@mauronofrio (please un-retire!)