Development [STOCK][FULL-ROM] OxygenOS_11.3_A.20 EU DN2103 | Unbrick guide

Search This thread

Neosphaler

New member
May 21, 2022
2
0
OxygenOS 11.3 EU Full Stock Firmwares for the OnePlus Nord 2 DN2103
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:


Instructions:

  1. Download and, install Python, extract Mtkclient, and install UsbDk.
  2. Open a terminal (cmd) inside the extracted Mtkclient folder, and type the command pip3 install -r requirements.txt
  3. After the installation has completed, type the command python mtk_gui to start Mtkclient GUI.
  4. Reboot your phone in BROM mode:
    1. Turn off your phone, and connect the usb cable only to the pc.
    2. After it turns off, connect the usb cable to the phone and immediately press and hold all 3 buttons (Vol+, Vol-, and Power).
    3. The screen of the phone should remain completely black and Mtkclient should find your phone and connect to it. Release all the buttons immediately, as soon as the phone is found.
  5. If the phone won't connect properly, check that's being correctly detected in device manager:
    1. Open Device manager.
    2. While the phone is connected in BROM mode to the pc, search for "MediaTek USB Port" under "Ports (COM and LPT)". If it's not being detected properly, a yellow warning triangle should be visible.
    3. To fix this, 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" -> Choose "USB serial device".
    4. Sometimes it likes to revert itself back to "MediaTek USB Port", so leave Device manager open and set it back again as "USB serial device" if it happens.
    5. If Mtkclient freezes, or the phone keeps rebooting itself out of BROM mode, try to reboot the phone into BROM mode again without disconnecting it from the pc, and without closing Mtkclient. (Try to be fast in device manager, before it reboots)
  6. You can now use Mtkclient GUI. (see the guides below)
  7. After you're done flashing, you can exit BROM mode by press and hold Vol+ and Power.
  1. Download and install the Re LiveDVD iso of mtkclient and flash it on a pendrive with Rufus.
  2. 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.
  3. Start the mtkclient live usb. The login credentials are "user" for both name and password.
  4. 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.
  5. Copy the whole /img and /img_bak directories into the /opt/mtkclient directory.
  6. Disconnect the phone from the pc, and start the MTK script on the desktop of the live usb.
  7. Write the desired command (see below) and press Enter.
  8. 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:
    1. Turn off your phone, and connect the usb cable only to the pc.
    2. As soon as it turns off, press and hold all 3 buttons (Vol+, Vol-, and Power) and immediately connect the usb cable to the phone side.
    3. The screen of the phone should remain completely black and the script should find your phone and continue with the command. Release all the buttons immediately, as soon as the phone is found.
    4. 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.
  9. 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).
  10. 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.
  11. 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).
  12. Use the command python mtk w preloader img/preloaderdump_stock.bin --parttype=lu1 to flash the preloader partition.



  1. 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)
  2. Download the stock firmware .zip, and the latest version of PartitionsBackupper.
  3. Extract both of them in the same directory where adb.exe & fastboot.exe are located (usually the "platform-tools" folder).
  4. Run PartitionsBackupper, choosing the restore option, to flash all partitions with fastboot.
  5. Reboot into the stock recovery and do a full data format before going back messing around. It usually wipes better than TWRP.

  1. Follow this guide only if the command fastboot flashing unlock does not work.
  2. Download and extract the attached seccfg.img unlocked partition.
  3. Download and extract the boot.img, recovery.img, and vbmeta.img from the stock firmware .zip file.
  4. Put all 4 images in a new empty folder, and do not rename the files.
  5. Open Mtkclient (see the guide above).
  6. 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.
  7. 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.
  8. If you're stuck in a bootloop after this, some users have reported that flashing vbmeta a second time fixed it.
  9. You should now have an unlocked bootloader

This procedure has been successfully tested by an external user.
  1. This guide is useful if your device is not getting recognized via fastboot.
  2. Download and extract the attached preloaderdump_stock.bin image.
  3. Download and extract the boot, recovery, vbmeta, and super images from stock firmware .zip file.
  4. 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.
  5. Open Mtkclient (see the guide above).
  6. 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.
  7. In the fourth tab "Flash Tools": Choose "Read preloader" to backup it up. Save it in a different folder from the one created before.
  8. Still in the fourth tab "Flash Tools": Choose "Write preloader" and flash the downloaded preloaderdump_stock.bin image.
  9. 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.
  10. If you're stuck in a bootloop after this, some users have reported that flashing vbmeta a second time fixed it.
  11. You should now have a working fastboot connnection

This procedure has been successfully tested by an external user.
  1. This guide is useful as a last resort. If you are not able to restore the stock rom in any other way.
  2. Download the stock firmware and extract the folder inside the .zip file.
  3. Open Mtkclient (see the guide above).
  4. 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.
  5. 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.
  6. 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.
  7. 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:​
  1. Make a backup of your Internal storage, recovery, boot, vbmeta, and userdata partitions. Both with PartitionBackupper or Mtkclient, what's more handy for you.
  2. Flash the stock firmware on the phone.
  3. Format data with the stock recovery.
  4. Restore your previously backupped partitions and storage.
  5. 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.
  6. Finally, go into the setting and reset your password / sequence / PIN.

Thanks to Zombnombs, TheWing, SeBright, Giovix92 for the help!




DOWNLOAD
AndroidFileHost

After hours of problem I simply follow MTk steps and it works like a charm, thanks you ! <3
 

gawain.j

Senior Member
Aug 11, 2010
57
10
Thanks! I tried it but same result for me. I also tried with vbmeta from Malachite without success.

I flashed vbmeta.img from A.19 img as I am running A.19, should I flash A.20 vbmeta before running the OTA update?

EDIT :
So, I tried the OTA after flashing :
vbmeta stock A.19 : OTA failed
vbmeta stock A.20 : bootloop
vbmeta "malachite" : OTA failed
vbmeta_patched (from here: https://forum.xda-developers.com/t/...os_11-3_a-20-eu-dn2103-unbrick-guide.4366985/): OTA failed

Seems I won't be able to get A.20 with OTA
 
Last edited:

Raygen

Senior Member
Feb 21, 2014
122
55
Mantova
Thanks! I tried it but same result for me. I also tried with vbmeta from Malachite without success.

I flashed vbmeta.img from A.19 img as I am running A.19, should I flash A.20 vbmeta before running the OTA update?
You're good with the A.19 version. Vbmeta should automatically update to the A.20 version by the OTA.
If you're still having issues, you can try with the patched vbmeta version available in this thread, but it's probably the same from Malachite you tried. Or try to do the OTA in TWRP instead of the stock recovery.

Or well, directly flash the A.20 firmware entirely
 

recorp78

Member
May 30, 2022
15
2
Hello guys,
I fiddled with the phone. I wanted to return to the original firmware. And in the end, I made the phone a brick.

Does the computer see the phone?

Yes, he sees, but very strange. The computer is waiting for the preloader, but it seems that it is not on the device.

Here is a screenshot from the MTK client

Who can help me with advice. What can I do?
 

Attachments

  • MTK client 1.png
    MTK client 1.png
    126.7 KB · Views: 30
  • MTK client.png
    MTK client.png
    108.7 KB · Views: 29

REDOTHELLO

Senior Member
Sep 29, 2013
314
63
Matrix
Hello guys,
I fiddled with the phone. I wanted to return to the original firmware. And in the end, I made the phone a brick.

Does the computer see the phone?

Yes, he sees, but very strange. The computer is waiting for the preloader, but it seems that it is not on the device.

Here is a screenshot from the MTK client

Who can help me with advice. What can I do?
flash preloader-stock.bin in first page удачи
 

recorp78

Member
May 30, 2022
15
2
flash preloader-stock.bin in first page удачи
I already flashed this preloader, but unfortunately, after that the phone did not turn on.
Неизвестное ЮСБ устройство. (сбой запроса дескриптора)
Unknown USB device. (descriptor request failed)
do you know what it could be?
 

Attachments

  • MTK client 12.png
    MTK client 12.png
    213.5 KB · Views: 12

REDOTHELLO

Senior Member
Sep 29, 2013
314
63
Matrix
I already flashed this preloader, but unfortunately, after that the phone did not turn on.
Неизвестное ЮСБ устройство. (сбой запроса дескриптора)
Unknown USB device. (descriptor request failed)
do you know what it could be?
change the port usb change a cable "with linux ubuntu not have this error"
 

recorp78

Member
May 30, 2022
15
2

REDOTHELLO

Python3 mtk wl "directory" - how should i do it?

Here is my report from the phone
....Port - Device detected :)
Preloader - CPU: MT6893(Dimensity 1200)
Preloader - HW version: 0x0
Preloader - WDT: 0x10007000
Preloader - Uart: 0x11002000
Preloader - Brom payload addr: 0x100a00
Preloader - DA payload addr: 0x201000
Preloader - CQ_DMA addr: 0x10212000
Preloader - Var1: 0xa
Preloader - Disabling Watchdog...
Preloader - HW code: 0x950
Preloader - Target config: 0xe5
Preloader - SBC enabled: True
Preloader - SLA enabled: False
Preloader - DAA enabled: True
Preloader - SWJTAG enabled: True
Preloader - EPP_PARAM at 0x600 after EMMC_BOOT/SDMMC_BOOT: False
Preloader - Root cert required: False
Preloader - Mem read auth: True
Preloader - Mem write auth: True
Preloader - Cmd 0xC8 blocked: True
Preloader - Get Target info
Preloader - BROM mode detected.
Preloader - HW subcode: 0x8a00
Preloader - HW Ver: 0xca00
Preloader - SW Ver: 0x0
Preloader - ME_ID: B7C728FA94D6A4050A75F463703D6BD8
Preloader - SOC_ID: 27368D10B71BD9B39DC5D9698091218AB718970634F4307074791685A418112B
PLTools - Loading payload from mt6893_payload.bin, 0x264 bytes
PLTools - Kamakiri / DA Run
Kamakiri - Trying kamakiri2..
Kamakiri - Done sending payload...
PLTools - Successfully sent payload: C:\mtkclient-main\mtkclient\payloads\mt6893_payload.bin
DA_handler - Device is protected.
DA_handler - Device is in BROM mode. Trying to dump preloader.
DAXFlash - Uploading xflash stage 1 from MTK_AllInOne_DA_5.2152.bin
xflashext - Patching da2 ...
Preloader
Preloader - [LIB]: ←[31mError on DA_Send cmd←[0m
DAXFlash
DAXFlash - [LIB]: ←[31mError on sending DA.←[0m

i think to write command in mode via bootrom

python mtk r preloader preloader.bin --parttype=boot1 [--preloader=Loader/Preloader/your_device_preloader.bin]
 

REDOTHELLO

Senior Member
Sep 29, 2013
314
63
Matrix
Preloader is map of android 11 is already flashed
You need to flash complete backup from command prompt
Python3 mtk wl "backup"
You can download backup from Govix drive
 

REDOTHELLO

Senior Member
Sep 29, 2013
314
63
Matrix
i have backup my own Nord2, will it's worck ?

Can you explain to me in more detail how I should do it.
on backup remove on another folder "nvcfg,nvdata,nvram,persist,proinfo,protect1,protect2,seccfg" do not restore this files
put the rest of files 52 files on folder backup on mtkclient folder then command on terminal
python mtk wl backup
vol+ and vol- plug your device
 

E-Chan42

Senior Member
Nov 25, 2010
103
4
Can I flash this to my pacman edition?
I flashed all partitions using mtk_gui to escape from my bootlop from rooting and it still bootloops but with a different boot animation.
So then I wrote preloader and mtk_gui froze at 100%.......
Now when connecting to BROM I always get stuck at:


[19:03:14]: BROM mode detected.

[19:03:14]: HW subcode: 0x8a00

[19:03:14]: HW Ver: 0xca00

[19:03:14]: SW Ver: 0x0

[19:03:14]: ME_ID: 3CF81CE3292A3CDC0xxxxxxxxxxxxxxxxxxx

[19:03:14]: SOC_ID: 2F357444366BF6A67A3A2661C4AC39AF99xxxxxxxxxxxxxxxxxxxxxx

[19:03:14]: Status: Waiting for PreLoader VCOM, please connect mobile


I-ve tried reinstalling MTK drivers and restarts, any idea where to go from here?
 

E-Chan42

Senior Member
Nov 25, 2010
103
4
PreLoader VCOM, usb drivers windows
Thanks for the quick response.
I just re installed the following:

MTK VCOM USB Preloader Drivers For Windows 10
and
UsbDk

Still stuck at the same line.
I'm regretting rooting this device... I just want to use it stock now :c

edit: after a while of bootlooping I came back to my phone displaying stock recovery. It displayed an error message and asked me to select language and format. After this my phone boots no problem.
Should I lock my bootloader now? What's the safest way to lock the bootloader? I want to avoid this in the future....
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    PreLoader VCOM, usb drivers windows
    1
    Can somebody who has updated to Android 12 confirm that mtkclient no longer works for you (= stuck in preloader VCOM)?

    I had firmware on Android 12, Extension. But in the end, I removed it and put the stock firmware on Android 11.
    Thank you very much for the help, REDOTHELLO

    I did all operations with MTK Client
    1
    Hi, I don't know if this is working but instructions found here: https://gist.github.com/Giovix92/c7e69123dbc51adf3f3a26f9c3c0208e#rooting says that the rooting problem comes from permanent TWRP + root
    I've asked if other users tested this but haven't got any answer so far: https://forum.xda-developers.com/t/tutorial-twrp-and-root-nord-2.4340477/post-87060493
  • 13
    /*
    * 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.
    */

    OxygenOS 11.3 EU Full Stock Firmwares for the OnePlus Nord 2 DN2103
    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:


    Instructions:

    1. Download and, install Python, extract Mtkclient, and install UsbDk.
    2. Open a terminal (cmd) inside the extracted Mtkclient folder, and type the command pip3 install -r requirements.txt
    3. After the installation has completed, type the command python mtk_gui to start Mtkclient GUI.
    4. Reboot your phone in BROM mode:
      1. Turn off your phone, and connect the usb cable only to the pc.
      2. After it turns off, connect the usb cable to the phone and immediately press and hold all 3 buttons (Vol+, Vol-, and Power).
      3. The screen of the phone should remain completely black and Mtkclient should find your phone and connect to it. Release all the buttons immediately, as soon as the phone is found.
    5. If the phone won't connect properly, check that's being correctly detected in device manager:
      1. Open Device manager.
      2. While the phone is connected in BROM mode to the pc, search for "MediaTek USB Port" under "Ports (COM and LPT)". If it's not being detected properly, a yellow warning triangle should be visible.
      3. To fix this, 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" -> Choose "USB serial device".
      4. Sometimes it likes to revert itself back to "MediaTek USB Port", so leave Device manager open and set it back again as "USB serial device" if it happens.
      5. If Mtkclient freezes, or the phone keeps rebooting itself out of BROM mode, try to reboot the phone into BROM mode again without disconnecting it from the pc, and without closing Mtkclient. (Try to be fast in device manager, before it reboots)
    6. You can now use Mtkclient GUI. (see the guides below)
    7. After you're done flashing, you can exit BROM mode by press and hold Vol+ and Power.
    1. Download and install the Re LiveDVD iso of mtkclient and flash it on a pendrive with Rufus.
    2. 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.
    3. Start the mtkclient live usb. The login credentials are "user" for both name and password.
    4. 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.
    5. Copy the whole /img and /img_bak directories into the /opt/mtkclient directory.
    6. Disconnect the phone from the pc, and start the MTK script on the desktop of the live usb.
    7. Write the desired command (see below) and press Enter.
    8. 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:
      1. Turn off your phone, and connect the usb cable only to the pc.
      2. As soon as it turns off, press and hold all 3 buttons (Vol+, Vol-, and Power) and immediately connect the usb cable to the phone side.
      3. The screen of the phone should remain completely black and the script should find your phone and continue with the command. Release all the buttons immediately, as soon as the phone is found.
      4. 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.
    9. 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).
    10. 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.
    11. 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).
    12. Use the command python mtk w preloader img/preloaderdump_stock.bin --parttype=lu1 to flash the preloader partition.



    1. 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)
    2. Download the stock firmware .zip, and the latest version of PartitionsBackupper.
    3. Extract both of them in the same directory where adb.exe & fastboot.exe are located (usually the "platform-tools" folder).
    4. Run PartitionsBackupper, choosing the restore option, to flash all partitions with fastboot.
    5. Reboot into the stock recovery and do a full data format before going back messing around. It usually wipes better than TWRP.

    1. Follow this guide only if the command fastboot flashing unlock does not work.
    2. Download and extract the attached seccfg.img unlocked partition.
    3. Download and extract the boot.img, recovery.img, and vbmeta.img from the stock firmware .zip file.
    4. Put all 4 images in a new empty folder, and do not rename the files.
    5. Open Mtkclient (see the guide above).
    6. 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.
    7. 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.
    8. If you're stuck in a bootloop after this, some users have reported that flashing vbmeta a second time fixed it.
    9. You should now have an unlocked bootloader

    This procedure has been successfully tested by an external user.
    1. This guide is useful if your device is not getting recognized via fastboot.
    2. Download and extract the attached preloaderdump_stock.bin image.
    3. Download and extract the boot, recovery, vbmeta, and super images from stock firmware .zip file.
    4. 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.
    5. Open Mtkclient (see the guide above).
    6. 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.
    7. In the fourth tab "Flash Tools": Choose "Read preloader" to backup it up. Save it in a different folder from the one created before.
    8. Still in the fourth tab "Flash Tools": Choose "Write preloader" and flash the downloaded preloaderdump_stock.bin image.
    9. 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.
    10. If you're stuck in a bootloop after this, some users have reported that flashing vbmeta a second time fixed it.
    11. You should now have a working fastboot connnection

    This procedure has been successfully tested by an external user.
    1. This guide is useful as a last resort. If you are not able to restore the stock rom in any other way.
    2. Download the stock firmware and extract the folder inside the .zip file.
    3. Open Mtkclient (see the guide above).
    4. 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.
    5. 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.
    6. 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.
    7. 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:​
    1. Make a backup of your Internal storage, recovery, boot, vbmeta, and userdata partitions. Both with PartitionBackupper or Mtkclient, what's more handy for you.
    2. Flash the stock firmware on the phone.
    3. Format data with the stock recovery.
    4. Restore your previously backupped partitions and storage.
    5. 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.
    6. Finally, go into the setting and reset your password / sequence / PIN.

    Thanks to Zombnombs, TheWing, SeBright, Giovix92 for the help!




    DOWNLOAD
    AndroidFileHost
    3
    i also had some sort of a victory :).
    my device was also stuck (Post#13)
    only flashing seccfg.img with the pendrive didnt work, still stuck, and still locked bootloader
    i had to flash the correct versions of boot.img, recovery.img and vbmeta.img via mtktools (in my case A.07)
    now i can start the phone, it's on the welcome screen
    and it seems to have locked bootloader right now.

    i have to see later, what i'm doing now :)

    @All: thanks for your help!
    3
    I've reuploaded the file, please try again
    3
    Are you using windows ? check it in device-manager when you are in "userspace-fastboot" it should report as adb-bootlaoder-interface. If not click on use driver - > adb bootlaoder interface

    Thank you! You beautiful person Kingslayer! It's unbricked!

    Sometimes you overlook the obvious when you're dealing with issues, and for me it was as you said - not installing the device as 'adb bootloader interface' from device manager while in the userspace fastboot. I also started PartitionBakckupper from TWRP as you said so that may have helped as well. But also, as a note for anyone who may face this issue - after it all completed, I received the same red boot error message as earlier, but by booting into fastboot from that screen and reflashing the vbmeta.img from the latest a.16 stock in the OP, it allowed it to boot fine. Is that what you meant at the end there?

    Fingerprint scanner and camera are working fine as well, so the persist is actually still intact too.

    Bloody hell, what a relief. Thank you again man, you saved me the stress of an RMA request I was prepared to make in the morning. And thanks as well Raygen for the tool, once you understand how to actually work it, it does the trick.
    3
    Hey there! Nord 2 5G user and, mostly, developer.
    @Raygen I guess you can add another 'usecase' to the overall guide: managed to hard brick the device. Basically wasn't booting in any mode: fastboot, recovery or whatever; achieved this by flashing boot.img into recovery partition (don't ask me why lol).

    By the way, used your "Locked bootloader" guide with a little modification:
    - I've also added lk & lk2 from my backup, because those apparently are 'damaged' by the previous command (don't ask me how cause I don't have any clue about it).
    - Instead of using
    Bash:
    python mtk wl img
    as you described, I just used a one-liner command based on mtkclient's README:
    Bash:
    python mtk w lk,lk2,boot,recovery,vbmeta lk.img,lk2.img,boot.img,recovery.img,vbmeta.img
    The syntax is the following one:
    Code:
    python mtk w name_1,name_2 name_1.img,name_2.img
    The one-liner command basically flashes everything in one shot, and afterwards, when you disconnect the usb cable and power it on, it *should* boot up. If it doesn't, flash preloader like you did, re-trigger BROM mode and redo that one-liner command.
    Hard bricked intentionally another time to test this out and, at least, have some proofs. :)
    I could attach mines lk & lk2, if needed.

    Hope y'all like it! Cheers!