How To Guide [GUIDE] How to unbrick your Nord N200 5G (ALL VARIANTS) or switch bootable slot (REQUIRES UNLOCKED BOOTLOADER)

Search This thread

Travisholt92

Senior Member
Jun 28, 2012
1,313
1,192
31
Fort Wayne, Indiana
OnePlus 8
OnePlus 8T
Hey guys,

I am trying to update my N200 to the newest OxygenOS, because it keeps nagging me to if I don't.

The first thing I tried was to re-flash the stock boot.img from the extracted OTA (which replaced Magisk with the stock recovery, too) - but still kept getting an installation error.

So I followed the steps above, and flashed *that* payload.bin with the Fastboot Enhanced tool - but it keeps boot-looping me back to fastboot mode. I think the partitions have changed sizes or something, and there's a message saying there were unknown partitions in the payload.bin too.

So for now, I'm flashing back to "OnePlusN200Oxygen_10.O.11_OTA_011_all_2203021426_2dd4f42a2d0545a3" and restoring my TWRP backup (which includes a "super" partition, but of that build), but if anybody can advise how I can update it to the DE2117_11_C.15 build, that would be great.

Hopefully there is a way to do it without erasing data. Usually for other phones I just unroot, install OTA, then re-root. But it seems trickier with the partition size nonsense going on here.

Edit: OnePlus download site hasn't updated the links yet, but there was a full OTA posted on XDA a few days ago, link here.
It probably keeps booting to fastboot (see OP for more info on your data/metadata partitions self destructed) after it did qcom kernel panic crashdump mode a few times. Assuming you didn't manually create the "my_" partitions in that OxygenOS 12 payload bin you're trying to run. I am successfully running that build on my TMobile variant fastboot enhanced will give you the full list of partitions.
 

drfsupercenter

Senior Member
Aug 21, 2010
84
14
It probably keeps booting to fastboot (see OP for more info on your data/metadata partitions self destructed) after it did qcom kernel panic crashdump mode a few times. Assuming you didn't manually create the "my_" partitions in that OxygenOS 12 payload bin you're trying to run. I am successfully running that build on my TMobile variant fastboot enhanced will give you the full list of partitions.
Yeah, I don't know but now I can't even get the previous one to work either, I keep getting stuck in fastboot and it won't reboot to fastbootd mode. I've followed your commands a few times now:

Code:
fastboot flash dtbo_a dtbo.img
fastboot flash dtbo_b dtbo.img
fastboot flash boot_a boot.img
fastboot flash boot_b boot.img
fastboot flash vendor_boot_a vendor_boot.img
fastboot flash vendor_boot_b vendor_boot.img
fastboot --disable-verity --disable-verification flash vbmeta_a vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_b vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_system_a vbmeta_system.img
fastboot --disable-verity --disable-verification flash vbmeta_system_b vbmeta_system.img

But then I still can't get into fastbootd. it says: fastboot: error: Failed to boot into userspace fastboot; one or more components might be unbootable.

Edit: as far as "super" goes, I have the super.emmc.win backup from your TWRP, I was able to restore it before I don't think I can fastboot that.
 

Travisholt92

Senior Member
Jun 28, 2012
1,313
1,192
31
Fort Wayne, Indiana
OnePlus 8
OnePlus 8T
Yeah, I don't know but now I can't even get the previous one to work either, I keep getting stuck in fastboot and it won't reboot to fastbootd mode. I've followed your commands a few times now:

Code:
fastboot flash dtbo_a dtbo.img
fastboot flash dtbo_b dtbo.img
fastboot flash boot_a boot.img
fastboot flash boot_b boot.img
fastboot flash vendor_boot_a vendor_boot.img
fastboot flash vendor_boot_b vendor_boot.img
fastboot --disable-verity --disable-verification flash vbmeta_a vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_b vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_system_a vbmeta_system.img
fastboot --disable-verity --disable-verification flash vbmeta_system_b vbmeta_system.img

But then I still can't get into fastbootd. it says: fastboot: error: Failed to boot into userspace fastboot; one or more components might be unbootable.

Edit: as far as "super" goes, I have the super.emmc.win backup from your TWRP, I was able to restore it before I don't think I can fastboot that.
Your options are msmtool (if possible), my TWRP to get you fastbootd (if possible), make sure to use a boot image that matches the stock build# of your vendor partition. It automatically switches slots after so many failed boot attempts and wipes metadata.
 

drfsupercenter

Senior Member
Aug 21, 2010
84
14
Your options are msmtool (if possible), my TWRP to get you fastbootd (if possible), make sure to use a boot image that matches the stock build# of your vendor partition. It automatically switches slots after so many failed boot attempts and wipes metadata.

How do I use your TWRP without a working fastbootd?

Code:
C:\platform-tools>fastboot boot twrp.img
Sending 'boot.img' (98304 KB)                      OKAY [  2.097s]
Booting                                            FAILED (remote: 'unknown command')
fastboot: error: Command failed

It doesn't work unless I do it in fastbootd mode.

And yes I know about switching slots... FastbootEnhance lets you switch between A/B, I tried both, ran the commands on both, neither one gets me into fastbootd mode.

I also can't do msmtool because it's the unlocked variant, not T-mobile. Otherwise I would have done it in the first place!

This is so weird though. I had this exact thing happen earlier and was able to fix it.

Once I get TWRP booted (please tell me how!) I can restore my working backup and be good for now - then it's just a matter of figuring out that pesky update.
 

Travisholt92

Senior Member
Jun 28, 2012
1,313
1,192
31
Fort Wayne, Indiana
OnePlus 8
OnePlus 8T
How do I use your TWRP without a working fastbootd?

Code:
C:\platform-tools>fastboot boot twrp.img
Sending 'boot.img' (98304 KB)                      OKAY [  2.097s]
Booting                                            FAILED (remote: 'unknown command')
fastboot: error: Command failed

It doesn't work unless I do it in fastbootd mode.

And yes I know about switching slots... FastbootEnhance lets you switch between A/B, I tried both, ran the commands on both, neither one gets me into fastbootd mode.

I also can't do msmtool because it's the unlocked variant, not T-mobile. Otherwise I would have done it in the first place!

This is so weird though. I had this exact thing happen earlier and was able to fix it.

Once I get TWRP booted (please tell me how!) I can restore my working backup and be good for now - then it's just a matter of figuring out that pesky update.
Your fastboot is probably outdated. guessing you're using something like minimal adb/fastboot those tools are outdated and don't work with this device
 

drfsupercenter

Senior Member
Aug 21, 2010
84
14
Your fastboot is probably outdated. guessing you're using something like minimal adb/fastboot those tools are outdated and don't work with this device
No, the newest platform-tools downloaded an hour ago.

Doesn't matter whether I activate slot A or B, same result. If I do "fastboot flash boot twrp.img" as well, goes right back to fastboot too.
 

NeonWhitey

Member
Jul 21, 2017
22
7
I allowed a security/software update to install on my phone the other day. Now I am unable to make any calls. It doesn't even connect to voicemail just goes to call ended. My service provider isn't having issues and tech support isn't able to help it seem. I'd like to know if anybody can provide a guide on how to roll back the update. I'm currently on DE2117_11_C.16 and would like to get back to C.15!

Thanks!
 
It surprises me there are no success stories commented.
There was a user in the telegram chat that was waiting (for a few days) to be able to send their device back to OnePlus. I let others try to come up with solution for a few days before i took the time to dive into the issue myself.

Immediately upon following this tutorial, they had restored functionality of slot B on their device and avoided sending the device to OnePlus to fix.

As a proof of concept I updated slot A and recreated the super.img for slot A and could easily go back to slot B by flashing my backup super.img(which was for slot B) and switching active slot back to slot B. So made this guide for them to restore proper setup of the super partition.

I hope this guide can help others as well.
hey are you talking about me? lololololol jk
 

swee08315

Senior Member
Jan 25, 2010
182
16
Cleveland
Then try again to see which slot is bootable, if neither you lost too much in your super partition that is needed to run recovery, grab a backup of a super.img from someone on here and fastboot flash super super.img, depending on which slot that super.img is meant for, that will be the slot you will need to be on to proceed with the rest of the fixing
I bricked my unlocked version, not realizing there was an important difference between it and the T-Mobile version.

I’ve followed the steps up until the quoted portion. Looks like I can’t get into fastbootd on either partition and am in need of the super.img. I dumped the payload from the linked update but it’s not included.
 

Travisholt92

Senior Member
Jun 28, 2012
1,313
1,192
31
Fort Wayne, Indiana
OnePlus 8
OnePlus 8T
I bricked my unlocked version, not realizing there was an important difference between it and the T-Mobile version.

I’ve followed the steps up until the quoted portion. Looks like I can’t get into fastbootd on either partition and am in need of the super.img. I dumped the payload from the linked update but it’s not included.
Use msmtool 👍 it is available for unlocked variant now
 

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    Moderator Information

    Hello,
    I have to remove some off topic posts from this thread. Please post your comment following XDA rules. No finger pointing without proofs, neither calling names. Just be civil in the discussion.

    Thanks.

    Jerry
    5
    I've seen alooot of issues lately of people "bricking" their Nord N200's without a method of unbricking (at the time of writing, only T-Mobile variant has MSMTool)

    I've noticed a reoccurring theme. i myself am guilty of doing it and not realizing what went wrong.

    It's one of two things:

    1. If the device fails to boot "7" times in a row or encounters a hard panic, it will wipe the metadata partition (the decryption key for data/user storage) and may also switch to the alternate slot automatically.

    If your device switches slots on it's own, your userdata is gone.. without a decryption key, there is no getting it back (without a very powerful computer and probably years to brute force decrypt)

    You will not be able to boot again until you are on the correct slot (dictated by your super partition and other A/B partitions needing to be up to date)

    When back on the proper slot, while in fastboot run:
    fastboot -w

    This will wipe userdata and metadata partitions to allow metadata to be regenerated upon first boot.

    Either "fastboot reboot recovery" or use the keys to select reboot recovery. And "wipe everything"

    After this you should be bootable. If not...




    2. When attempting to prepare the system for flashing GSI, we humans are messing up :eek: surprise surpise.

    The issue most specifically stems from the dynamic partition located at /dev/block/by-name/super

    this partition actually contains 5 resizable partitions : (i've seen up to 7 on this device including -cow (copy-on-write)
    system // system_a/system_b //
    system_ext // system_ext_a/system_ext_b //
    product // product_a/product_b //
    vendor // vendor_a/vendor_b //
    odm // odm_a/odm_b //

    if on you are running stock and your stock is running on slot b for example, your dynamic partition layout is as follows:
    system_b
    system_ext_b
    product_b
    vendor_b
    odm_b

    the issue lies when we go to flash a GSI and start using the commands:
    fastboot delete-logical-parition
    fastboot create-logical-parition

    i myself have done:
    fastboot create-logical-partition system 0
    this is wrong. it needs a target slot specified, you will have no issues creating the partition or flashing, but it will most likely fail to boot.

    correct usage would be:
    fastboot create-logical-partition system_b 0 // or use the size values provided by fastboot getvar all as shown in my example of how to switch slots/unbrick below


    Prerequisites:

    1. stock firmware package or complete dump of all of these FROM THE SAME SOFTWARE VERSION
    I have a T-Mobile variant, but for this proof of concept i used the unbranded NA Software provided here https://www.oneplus.com/support/softwareupgrade/details?code=PM1630638351161

    Required Partition Images:
    system.img
    system_ext.img
    product.img
    vendor.img
    odm.img
    boot.img
    vendor_boot.img
    dtbo.img
    uefisecapp.img
    imagefv.img
    abl.img
    core_nhlos.img
    qupfw.img
    keymaster.img
    hyp.img
    dsp.img
    devcfg.img
    bluetooth.img
    logo.img
    tz.img
    xbl.img
    xbl_config.img
    featenabler.img
    modem.img
    rpm.img
    oplusstanvbk.img
    vbmeta.img
    vbmeta_system.img


    If you're on T-Mobile just use the MSMTool unless you prefer the unbranded software.

    2. Fastboot Enhanced from this thread https://forum.xda-developers.com/t/...enhance-payload-dumper-image-flasher.4310553/
    ( Or if on Linux, find yourself some knowledge on how to use a payload dumper to extract these images from the stock firmware package )

    ALL of the partitions listed above that are NOT the 5 in the dynamic partition have BOTH slots A and B on your phone, you can flash all of these packages to both slots and pick either slot A or slot B when you repartition your super partition.

    IT IS THE SUPER PARTITION THAT DECIDES WHICH SLOT GETS TO BOOT
    (it is in bold because this is the cause of most "bricks" and vbmeta but more on that in a minute)


    How to recreate a usable/bootable super partition:

    1: identify which of your slots is capable of booting into stock recovery/fastbootd

    If you can't boot stock recovery or fastbootd
    flash these stock partitions:
    dtbo
    boot
    vendor_boot
    to both slots (_a and _b) on all 3
    and these
    fastboot --disable-verity --disable-verification flash vbmeta_a vbmeta.img
    fastboot --disable-verity --disable-verification flash vbmeta_b vbmeta.img
    fastboot --disable-verity --disable-verification flash vbmeta_system_a vbmeta_system.img
    fastboot --disable-verity --disable-verification flash vbmeta_system_b vbmeta_system.img

    Then try again to see which slot is bootable, if neither you lost too much in your super partition that is needed to run recovery, grab a backup of a super.img from someone on here and fastboot flash super super.img, depending on which slot that super.img is meant for, that will be the slot you will need to be on to proceed with the rest of the fixing

    2. Boot into Fastbootd ( fastboot reboot fastboot )
    Delete EVERYTHING from the super parition.
    even if you don't remember making it, dont skip any of these lines just ignore the errors it spits out
    fastboot delete-logical-partition system_a
    fastboot delete-logical-partition system_b
    fastboot delete-logical-partition system
    fastboot delete-logical-partition system_ext_a
    fastboot delete-logical-partition system_ext_b
    fastboot delete-logical-partition system_ext
    fastboot delete-logical-partition product_a
    fastboot delete-logical-partition product_b
    fastboot delete-logical-partition product
    fastboot delete-logical-partition vendor_a
    fastboot delete-logical-partition vendor_b
    fastboot delete-logical-partition vendor
    fastboot delete-logical-partition odm_a
    fastboot delete-logical-partition odm_b
    fastboot delete-logical-partition odm

    Now let's recreated something useable. For Stock version 11.0.5.0 N/A my super image used these sizes (obtained by fastboot getvar all )
    For my slot B to Slot A proof of concept i used this for slot A:
    fastboot create-logical-partition system_a 0x5AFDC000
    fastboot create-logical-partition system_ext_a 0x4B7B3000
    fastboot create-logical-partition product_a 0x7338A000
    fastboot create-logical-partition vendor_a 0x3EC8D000
    fastboot create-logical-partition odm_a 0x37E9000

    And for a "bricked" user wanting to stay with slot B they used:
    fastboot create-logical-partition system_b 0x5AFDC000
    fastboot create-logical-partition system_ext_b 0x4B7B3000
    fastboot create-logical-partition product_b 0x7338A000
    fastboot create-logical-partition vendor_b 0x3EC8D000
    fastboot create-logical-partition odm_b 0x37E9000

    Depending on which you choose to create, you can now set your desired slot with
    fastboot set_active a
    or
    fastboot set_active b

    then use Fastboot Enhanced to flash either the entire payload bin, or flash each to each _a or _b partition from the long list above one by one.

    DO NOT LEAVE FASTBOOTD UNTIL YOU'VE FLASHED ALL OF THESE PARTITIONS (NOT JUST THE 5!) OR YOU MAY BE UNABLE TO GET BACK TO FASTBOOTD!!!
    Flashing a payload.bin (.zip) in fastboot enhanced will flash to whatever slot is currently active and it monitors which slot is active.




    Last is for vbmeta

    If you flash any sort of modified boot image (magisk rooted), gsi, or any sort of image that is not stock, you need to flash the stock vbmeta and vbmeta_system with --disable-verity and --disable-verification or you won't be able to do much if anything at all.

    in either fastboot or fastbootd:
    fastboot —disable-verity —disable-verification flash vbmeta_a vbmeta.img
    fastboot —disable-verity —disable-verification flash vbmeta_b vbmeta.img
    fastboot —disable-verity —disable-verification flash vbmeta_system_a vbmeta_system.img
    fastboot —disable-verity —disable-verification flash vbmeta_system_b vbmeta_system.img

    these are very important if you flash files that are not originally from that specific build version/variant

    Happy flashing to you all :) Hopefully this helps some people.
    5
    Thread Cleaned (again)├┤We really need to stop throwing moderators towards this place and we need your help to make that happen. Please be nice to one another. There's plenty of misery going on out there as it is. This forum is about our shared passion for tech dammit, let's show some love. Or at least get us involved so we can spread some love before things get heated. Thank you for listening, keep an open mind and have a great weekend.├┤Timmy├┤Forum Moderator├
    We resolved this disagreement outside of XDA to avoid this from happening in the future and to prevent the other party from getting themselves banned as they are a productive member of the community. I personally didn't want to see that happen over me. Issue resolved 🙂 sorry for wasting your time
    3
    It surprises me there are no success stories commented.
    There was a user in the telegram chat that was waiting (for a few days) to be able to send their device back to OnePlus. I let others try to come up with solution for a few days before i took the time to dive into the issue myself.

    Immediately upon following this tutorial, they had restored functionality of slot B on their device and avoided sending the device to OnePlus to fix.

    As a proof of concept I updated slot A and recreated the super.img for slot A and could easily go back to slot B by flashing my backup super.img(which was for slot B) and switching active slot back to slot B. So made this guide for them to restore proper setup of the super partition.

    I hope this guide can help others as well.
    3
    Rather than posting multiple times in rapid succession, just edit your post.
    Fixed 🔧