/*
* Your warranty is... still valid!
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed.
* Please do some research yourself before asking or use anything on this thread.
* I do not offer private assistance via Telegram or any other social outside XDA.
*/
This project is no longer actively mantained, help yourself in the comments! - OP switched to a custom ROM - AndroidFileHost is no longer available for uploads (downloads are still available)
OxygenOS 11.3 EU Full Stock Firmwares for the OnePlus Nord 2 DN2103
A.20
A.20
Specifics:
- This rom will not overwrite your userdata or metadata partition.
- This rom will not overwrite your IMEI, sensors calibration data, or bootloader unlock status.
Since these partitions are not included: seccfg, nvcfg, nvdata, nvram, persist, proinfo, protect1, protect2. - These partitions are not included since are present in the super partition: my_*, odm, product, system, vendor.
The vbmeta partition is not stock.- The vbmeta partition is stock. A vbmeta_patched partition for root users can be found attached to this thread.
Requirements:
- ADB & Fastboot drivers + MTK VCOM drivers
- PartitionsBackupper
- Python
- Mtkclient + UsbDk
Instructions:
- .img and .bin files are the same. Just rename them as you need.
- If you are on Android 11: Rollback guide from C.01/C.05 to Android 10
- Download and, install Python, extract Mtkclient, and install UsbDk.
- Open a terminal (cmd) inside the extracted Mtkclient folder, and type the command
pip3 install -r requirements.txt
- After the installation has completed, type the command
python mtk_gui
to start Mtkclient GUI. - Reboot your phone in BROM mode:
- Turn off your phone.
- Connect the phone via usb to the pc, and immediately press and hold all 3 buttons (Vol+, Vol-, and Power).
- The screen of the phone should remain completely black and Mtkclient should find your phone and connect to it, by reporting "device detected
" in the cmd. Release all the buttons as soon as the phone is detected.
- If the phone won't connect properly, check that's being correctly detected in device manager:
- Open Device manager.
- While the phone is connected in BROM mode to the pc, search for "MediaTek USB Port" under "Ports (COM and LPT)".
- Right click on it -> Choose "Update driver" -> "Browse my computer for driver software" -> "Let me pick from a list of available drivers on my computer" -> and change it to "USB serial device".
- Sometimes it likes to revert itself back to "MediaTek USB Port", so leave Device manager open to keep an eye on it.
- If the phone keeps rebooting itself out of BROM mode, try to be fast when changing the settings inside Device manager. Keep trying until you see that "USB serial device" has stick.
- If Mtkclient freezes on "waiting for preloader VCOM", or the phone keeps rebooting itself out of BROM mode, keep rebooting the phone into BROM mode without letting go of the buttons, without disconnecting it from the pc, and without closing Mtkclient. And release all the buttons just when the phone has been detected. (It could need 2 to 3 reboots. If more, disconnect the cable and retry).
- You can now use Mtkclient GUI. (see the guides below)
- After you're done flashing, you can exit BROM mode by press and hold Vol+ and Power.
- Download and install the Re LiveDVD iso of mtkclient and flash it on a pendrive with Rufus.
- Create two new folders named "img" and "img_bak" in the pendrive you just flashed with Rufus, and paste inside /img all the files and images you will need.
- Start the mtkclient live usb. The login credentials are "user" for both name and password.
- Note! the keyboard is set to german by default in the liveusb. To change it, as soon as you boot up in the desktop, click on the "DE" blue text up on the right.
- Copy the whole /img and /img_bak directories into the /opt/mtkclient directory.
- Disconnect the phone from the pc, and start the MTK script on the desktop of the live usb.
- Write the desired command (see below) and press Enter.
- As soon as you press Enter, the script will start searching for an attached phone in BROM mode.
To reboot your phone in BROM mode:- Turn off your phone.
- Connect the phone via usb to the pc, and immediately press and hold all 3 buttons (Vol+, Vol-, and Power).
- The screen of the phone should remain completely black and Mtkclient should find your phone and connect to it, by reporting "device detected
" in the cmd. Release all the buttons as soon as the phone is detected.
- It is necessary to disconnect the phone, close and reopen the MTK script on the desktop, and reconnect the phone in BROM mode, every time you want to run another command.
- To backup any partitions on your phone, use the command
python mtk r partition_name_1,partition_name_2,partition_name_3,... img_bak/partition_name_1.img,img_bak/partition_name_2.img,img_bak/partition_name_3.img,...
. Example:python mtk r boot,vbmeta,super img_bak/boot.img,img_bak/vbmeta.img,img_bak/super.img
. You'll find all your backups inside the /opt/mtkclient/img_bak folder (copy them back to your pendrive to not loose them). - To write all the partitions present in the /img directory to your phone, use the command
python mtk wl img
. Be sure that the file names have the same name of the partition they're meant to write!Example:The file named "boot.img" <---> Will write the "boot" partition.
- Use the command
python mtk r preloader img_bak/preloaderdump_backup.bin --parttype=lu1
to backup your preloader partition. You'll find your backup inside the /opt/mtkclient/img_bak folder (copy it back to your pendrive to not loose it). - Use the command
python mtk w preloader img/preloaderdump_stock.bin --parttype=lu1
to flash the preloader partition.
↓
- If your phone is still not completely fcked up, and even if it is, do a full backup with PartitionsBackupper first + a TWRP backup + Internal storage backup. (better safe than RMA it)
- Download the stock firmware .zip, and the latest version of PartitionsBackupper.
- Extract both of them in the same directory where adb.exe & fastboot.exe are located (usually the "platform-tools" folder).
- Run PartitionsBackupper, choosing the restore option, to flash all partitions with fastboot.
- Reboot into the stock recovery and do a full data format before going back messing around. It usually wipes better than TWRP.
- Follow this guide only if the command
fastboot flashing unlock
does not work. - Download and extract the attached seccfg.img unlocked partition.
- Download and extract the boot.img, recovery.img, and vbmeta.img from the stock firmware .zip file.
- Put all 4 images in a new empty folder, and do not rename the files.
- Open Mtkclient (see the guide above).
- In the first tab "Read partition(s)": Select the seccfg, boot, recovery, and vbmeta partitions. Click "Read" to backup them up. Save them in a different folder from the one created before.
- Now in the second tab "Write partition(s)": Choose "Select from directory" and choose the new folder created before. It should automatically place all 4 images in the correct corresponding partitions. Click "Write" to flash them.
- If you're stuck in a bootloop after this, some users have reported that flashing vbmeta a second time fixed it.
- You should now have an unlocked bootloader
This procedure has been successfully tested by an external user.
- This guide is useful if your device is not getting recognized via fastboot.
- Download and extract the attached preloaderdump_stock.bin image.
- Download and extract the boot, recovery, vbmeta, and super images from stock firmware .zip file.
- Put the 4 images extracted from the stock firmware, in a new empty folder, and do not rename the files. Do not put the preloader image in this folder.
- Open Mtkclient (see the guide above).
- In the first tab "Read partition(s)": Select the boot, recovery, vbmeta and super partitions. Click "Read" to backup them up. Save them in a different folder from the one created before.
- In the fourth tab "Flash Tools": Choose "Read preloader" to backup it up. Save it in a different folder from the one created before.
- Still in the fourth tab "Flash Tools": Choose "Write preloader" and flash the downloaded preloaderdump_stock.bin image.
- Last, in the second tab "Write partition(s)": Choose "Select from directory" and choose the new folder created before. It should automatically place all 4 images in the correct corresponding partitions. Click "Write" to flash them.
- If you're stuck in a bootloop after this, some users have reported that flashing vbmeta a second time fixed it.
- You should now have a working fastboot connnection
This procedure has been successfully tested by an external user.
- This guide is useful as a last resort. If you are not able to restore the stock rom in any other way.
- Download the stock firmware and extract the folder inside the .zip file.
- Open Mtkclient (see the guide above).
- In the first tab "Read partition(s)": Choose "Select all partitions" and click "Read" to backup them up. Save them in a different folder from the one with the stock firmware.
- Now in the second tab "Write partition(s)": Choose "Select from directory" and choose the folder with the stock firmware. It should automatically place all the images in the correct corresponding partitions. Click "Write" to flash them.
- If you're stuck in a bootloop after this, try flashing the preloader and seccfg partitions following the guides above, and then repeat this procedure a second time.
- Your device should hopefully boot now
Yeah.. Looks like OxygenOS doesn't really like to be rooted. Your phone will occasionally go into a bootloop without any notice or known reason (so far).
The cause of this behavior is still unknown to me, if you are able to find any explanation or better solution please post it here!
The only solution I know so far, is to just format your phone back to stock, and then restore your userdata partition:
- Make a backup of your Internal storage, recovery, boot, vbmeta, and userdata partitions. Both with PartitionBackupper or Mtkclient, what's more handy for you.
- Flash the stock firmware on the phone.
- Format data with the stock recovery.
- Restore your previously backupped partitions and storage.
- When booting to system for the first time, it's possible your interface / GUI will be malfunctioning. Just reboot one more time to fix this.
- Finally, go into the setting and reset your password / sequence / PIN.
Thanks to Zombnombs, TheWing, SeBright, Giovix92 for the help!
Attachments
Last edited: