Question Un-bricking my Nord N200

Search This thread

sheesh42

New member
Sep 14, 2021
3
0
what exactly is messed up on your phone. i have metro ver rooted and can backup any partition img you need to flash from my stock rooted n200. do you need stock boot or recovery? if not then what do you need?

an is fastboot able to detect your phone?
if you can send those to me that is the version i need
 

edale1

Senior Member
Sep 5, 2016
138
76
ah my bootloader is still locked and its bricked
I could be wrong, but I believe if your bootloader is still locked, your only option is the MSMDownload Tools.

We don't have those for the Metro variant yet. You could try contacting OnePlus customer support and requesting a remote session to repair your phone, that will get you a copy of the MSMDownload tools (please share them) for your variant.
 
  • Like
Reactions: Ethanvio

lzgmc

Senior Member
I could be wrong, but I believe if your bootloader is still locked, your only option is the MSMDownload Tools.

We don't have those for the Metro variant yet. You could try contacting OnePlus customer support and requesting a remote session to repair your phone, that will get you a copy of the MSMDownload tools (please share them) for your variant.
I believe that the Metro and T-Mobile variants are actually the exact same phone, since they both share the same codename. I would say that users with Metro devices should try flashing the T-Mobile MSM tools if they need to unbrick their phone. If it works, the phone should still be Metro branded anyway.

In addition, while looking around through the MSM files, I found a string of code that suggests that the T-Mobile, Metro, and Assurance (Sprint?) branded phones all use the same software:
XML:
    <SupportMultiTarget>
        <Target ID="108" Desc="ASSURANCE" />
        <Target ID="106" Desc="METRO" />
        <Target ID="101" Desc="TMO" />
    </SupportMultiTarget>
 
  • Like
Reactions: Dimitrimem

sheesh42

New member
Sep 14, 2021
3
0
I believe that the Metro and T-Mobile variants are actually the exact same phone, since they both share the same codename. I would say that users with Metro devices should try flashing the T-Mobile MSM tools if they need to unbrick their phone. If it works, the phone should still be Metro branded anyway.

In addition, while looking around through the MSM files, I found a string of code that suggests that the T-Mobile, Metro, and Assurance (Sprint?) branded phones all use the same software:
XML:
    <SupportMultiTarget>
        <Target ID="108" Desc="ASSURANCE" />
        <Target ID="106" Desc="METRO" />
        <Target ID="101" Desc="TMO" />
    </SupportMultiTarget>

i will try this tonight andd see
 

bouyakasha

Senior Member
Jan 23, 2008
107
17
Praying the unlocked variant MSM surfaces soon... I have requested a remote session last week and they denied me, forced me to send it in. I didn't do that, requested another remote session today. We will see if they finally allow it.
 
  • Like
Reactions: Ethanvio

Ethanvio

Member
Aug 18, 2021
37
4
Praying the unlocked variant MSM surfaces soon... I have requested a remote session last week and they denied me, forced me to send it in. I didn't do that, requested another remote session today. We will see if they finally allow it.
I think the tech support in India is more interested in collecting positive reviews than fixing issues..
I'm sitting with a phone that I only used one day .. hopping the tool will make its way on this forum .. if not might sound like I wasted $270... anyways this is the last oneplus I'm buying
 

oCAPTCHA

Member
Sep 22, 2021
26
8
My OnePlus Nord N200 unlocked variant self soft-bricked, but I fixed it, here's the story:

I updated the software using the system update OTA, allowed it to reboot, and it said the update was done.
(However, it was not, as the second slot merge update is done silently in the background, as part of the seamless A/B model.)
I then allowed oem unlocking, rebooted the phone, and used fastboot to unlock the bootloader.
The phone automatically wiped some partitions as part of the unlock, but was then stuck in fastboot or fastbootd mode upon reboot(s).

I contacted OnePlus, but they were not willing to remotely fix my device (release the MSM tool) and instead wanted me to ship the phone to them.

We have the full OTA download available from OnePlus:


and we can use payload_dumper python scripts by Gregory Montoir to extract the individual .img files from the OTA.



but the important ones (system, vendor, etc) are not flashable in fastboot (only) mode due to the use of dynamic partitions (super.img). (see my edit at the bottom)

Forcing the merge to complete did not work, switching slots did not work, nor did reflashing boot.img fix it.
It turns out bundling the seamless A/B partitions together into a single dynamic partition ruins the redundancy of the seamless A/B model!

Finally, I took the idea from PopCaps1996:


and used another Nord N200 phone which was working, to download and run Partitions backup & restore.


This app has the ability to extract the super.img in its entirety from a working phone, and fastboot is able to flash this image directly into the dynamic partitions. (make sure you update to the latest fastboot).

take the super.tar.gz from Partitions backup and untar/ungzip it to the .img.
Copy it to the computer and fastboot flash it.

fastboot flash super super.img.

That fixed it for me!

So for those who have working fastboot, an unlocked bootloader, and can get the super.img (3.2GB tar.gzip) you can recover your phone like I did!

Edit:
I completed my recovery in fastboot mode only, but there is the ability to reboot into fastbootd mode (recovery mode with fastbootd), which is able to handle the dynamic partitions, and may work from the OTA .img files directly, avoiding the need for an extracted super.img file.
 
Last edited:

Michaelburrola

New member
Oct 13, 2021
1
0
Irvine
My OnePlus Nord N200 unlocked variant self soft-bricked, but I fixed it, here's the story:

I updated the software using the system update OTA, allowed it to reboot, and it
............

Hi "oCAPTCHA" I also have The Global Unlocked N200 and I am experiencing the same exact issue. I been up for 3 Nights surfacing resolutions but I fastbootd doesn't allow flashing the system ( No Partition error ).... I tried Just about everything but it seems you solved the issue. The Problem is I don't have another N200 nor can I get one. Is there anyway you can help me out with that partition and out of generosity I will paypal you a Donation ?

Thanks Alot.
 

oCAPTCHA

Member
Sep 22, 2021
26
8
MichaelBurrola,

I am hestiant to upload my partitions for legal liability reasons.

However, I suspect I may be able to help you another way, by using fastbootd commands and the OTA.

Are you sure you are in fastbootd mode, and are using an up to date fastboot? (older versions do not support dynamic partition commands!)

Here is a good source for fastboot.
"Android SDK Platform Tools"

Fastboot tutorial

The dynamic partition system was designed to save space by allowing adjustable partition sizes.
In order to implement it, Fastboot was broken into two pieces: Fastboot and Fastbootd.

Fastboot is the initial loader which handles only non-dynamic partitions.
It is a black screen with red and white text which displays facts about your device, and has controls "press volume key to select...".

Fastbootd is the second stage loader, which can handle the dynamic partitions.
it is reachable by the very poorly named command
fastboot reboot fastboot
(which should have been named fastboot reboot fastbootd).
It reboots to a special version of the Recovery mode, running Fastbootd.
It is a black screen with the one plus logo and the word "fastbootd" at the top, and some touch menus.

Recovery lists "reboot to fastboot", which goes to Fastboot mode.
Recovery also lists "reboot to recovery" which goes back to Recovery without Fastbootd.
Note that the text "fastbootd" is missing from the top of the screen when in recovery only mode.


Boot the phone into fastbootd mode by:
booting into recovery mode, by holding power and volume down during boot, then
rebooting into fastboot (only) mode, using touch menus: advanced, reboot into fastboot, then
connecting usb-c to a computer and rebooting into fastbootd using the poorly named command:
fastboot reboot fastboot.

Next run
fastboot getvar all
check which slot is active (you could attempt to switch slots, but that didn't fix it for me)
and check your partition list against mine, particularly looking for your slot's set of super's sub-partitions
(assuming slot b) system_b, system_ext_b, odm_b, product_b, vendor_b


Partition list from OnePlus Nord N200 unlocked version 11.0.2.0.DE17AA in fastbootd mode

(bootloader) partition-size:abl_a:0x800000
(bootloader) partition-size:abl_b:0x800000
(bootloader) partition-size:abl_log:0xFD0000
(bootloader) partition-size:ALIGN_TO_128K_1:0x1A000
(bootloader) partition-size:ALIGN_TO_128K_2:0x1A000
(bootloader) partition-size:android_log:0xFD0000
(bootloader) partition-size:apdp:0x40000
(bootloader) partition-size:bluetooth_a:0x100000
(bootloader) partition-size:bluetooth_b:0x100000
(bootloader) partition-size:boot_a:0x6000000
(bootloader) partition-size:boot_b:0x6000000
(bootloader) partition-size:carrier:0x4000000
(bootloader) partition-size:catecontentfv:0x100000
(bootloader) partition-size:catefv:0x80000
(bootloader) partition-size:cateloader:0x200000
(bootloader) partition-size:cdt:0x20000
(bootloader) partition-size:core_nhlos_a:0xAA00000
(bootloader) partition-size:core_nhlos_b:0xAA00000
(bootloader) partition-size:ddr:0x100000
(bootloader) partition-size:devcfg_a:0x20000
(bootloader) partition-size:devcfg_b:0x20000
(bootloader) partition-size:devinfo:0x1000
(bootloader) partition-size:dinfo:0x4000
(bootloader) partition-size:dsp_a:0x2000000
(bootloader) partition-size:dsp_b:0x2000000
(bootloader) partition-size:dtbo_a:0x1800000
(bootloader) partition-size:dtbo_b:0x1800000
(bootloader) partition-size:engineering_cdt_a:0x100000
(bootloader) partition-size:engineering_cdt_b:0x100000
(bootloader) partition-size:featenabler_a:0x20000
(bootloader) partition-size:featenabler_b:0x20000
(bootloader) partition-size:frp:0x80000
(bootloader) partition-size:fsc:0x20000
(bootloader) partition-size:fsg:0x300000
(bootloader) partition-size:hyp_a:0x80000
(bootloader) partition-size:hyp_b:0x80000
(bootloader) partition-size:imagefv_a:0x200000
(bootloader) partition-size:imagefv_b:0x200000
(bootloader) partition-size:kernel_log:0xFD0000
(bootloader) partition-size:keymaster_a:0x80000
(bootloader) partition-size:keymaster_b:0x80000
(bootloader) partition-size:keystore:0x80000
(bootloader) partition-size:logdump:0x4000000
(bootloader) partition-size:logfs:0x800000
(bootloader) partition-size:logo_a:0x1000000
(bootloader) partition-size:logo_b:0x1000000
(bootloader) partition-size:metadata:0x1000000
(bootloader) partition-size:misc:0x100000
(bootloader) partition-size:modem_a:0xDC00000
(bootloader) partition-size:modem_b:0xDC00000
(bootloader) partition-size:modemst1:0x300000
(bootloader) partition-size:modemst2:0x300000
(bootloader) partition-size:multiimgoem_a:0x8000
(bootloader) partition-size:multiimgoem_b:0x8000
(bootloader) partition-size ocdt:0x20000
(bootloader) partition-size odm_b:0x37EB000
(bootloader) partition-size oplusdycnvbk:0x1400000
(bootloader) partition-size oplusreserve1:0x800000
(bootloader) partition-size oplusreserve2:0x8000000
(bootloader) partition-size oplusreserve3:0x4000000
(bootloader) partition-size oplusreserve4:0x2000000
(bootloader) partition-size oplusreserve5:0x4000000
(bootloader) partition-size oplusstanvbk_a:0x1400000
(bootloader) partition-size oplusstanvbk_b:0x1400000
(bootloader) partition-size param:0x100000
(bootloader) partition-size persist_bkp:0x2000000
(bootloader) partition-size persist:0x2000000
(bootloader) partition-size product_b:0x73388000
(bootloader) partition-size qupfw_a:0x10000
(bootloader) partition-size qupfw_b:0x10000
(bootloader) partition-size:rawdump:0x8000000
(bootloader) partition-size:rpm_a:0x80000
(bootloader) partition-size:rpm_b:0x80000
(bootloader) partition-size:sdb:0x800000
(bootloader) partition-size:sdc:0x800000
(bootloader) partition-size:sdd:0x800000
(bootloader) partition-size:sde:0x66C00000
(bootloader) partition-size:sdf:0x1F400000
(bootloader) partition-size:secdata:0x7000
(bootloader) partition-size:ssd:0x2000
(bootloader) partition-size:storsec:0x20000
(bootloader) partition-size:super:0x180000000
(bootloader) partition-size:system_b-cow:0x259C8000
(bootloader) partition-size:system_b:0x59637000
(bootloader) partition-size:system_ext_b:0x4B5F5000
(bootloader) partition-size:tz_a:0x400000
(bootloader) partition-size:tz_b:0x400000
(bootloader) partition-size:uefisecapp_a:0x200000
(bootloader) partition-size:uefisecapp_b:0x200000
(bootloader) partition-size:uefivarstore:0x80000
(bootloader) partition-size:userdata:0xCAC5D3000
(bootloader) partition-size:vbmeta_a:0x10000
(bootloader) partition-size:vbmeta_b:0x10000
(bootloader) partition-size:vbmeta_system_a:0x10000
(bootloader) partition-size:vbmeta_system_b:0x10000
(bootloader) partition-size:vendor_b:0x3ED6C000
(bootloader) partition-size:vendor_boot_a:0x6000000
(bootloader) partition-size:vendor_boot_b:0x6000000
(bootloader) partition-size:vm-data:0x400000
(bootloader) partition-size:vm-keystore:0x20000
(bootloader) partition-size:vm-system_a:0x8000000
(bootloader) partition-size:vm-system_b:0x8000000
(bootloader) partition-size:xbl_a:0x600000
(bootloader) partition-size:xbl_b:0x600000
(bootloader) partition-size:xbl_config_a:0x80000
(bootloader) partition-size:xbl_config_b:0x80000


-cow (Copy On Write) partitions are unneeded and usually need to be deleted for space.
fastboot delete-logical-partition system_b-cow

Create any missing sub-partitions manually

fastboot create-logical-partition system_b 0x10000
fastboot create-logical-partition system_ext_b 0x10000
fastboot create-logical-partition odm_b 0x10000
fastboot create-logical-partition product_b 0x10000
fastboot create-logical-partition vendor_b 0x10000
(I don't believe the size must be correct, as they will resize when you flash them)

And then flash the partitions using the extracted OTA files from OnePlus
(system_b, system_ext_b, odm_b, product_b, vendor_b)

fastboot flash system_b system.img
fastboot flash system_ext_b system_ext.img
fastboot flash odm_b odm.img
fastboot flash product_b product.img
fastboot flash vendor_b vendor.img

You probably don't need to worry about boot_b since you have fastbootd working.
Also vbmeta and vbmeta_system (verified boot metadata), since verified boot turned off when your bootloader unlocked.
 
Last edited:

Jaybone073

Senior Member
Feb 22, 2013
112
27
Vidalia, GA.
MichaelBurrola,

I am hestiant to upload my partitions for legal liability reasons.

However, I suspect I may be able to help you another way, by using fastbootd commands and the OTA.

Are you sure you are in fastbootd mode, and are using an up to date fastboot? (older versions do not support dynamic partition commands!)

Here is a good source for fastboot.
"Android SDK Platform Tools"

Fastboot tutorial

The dynamic partition system was designed to save space by allowing adjustable partition sizes.
In order to implement it, Fastboot was broken into two pieces: Fastboot and Fastbootd.

Fastboot is the initial loader which handles only non-dynamic partitions.
It is a black screen with red and white text which displays facts about your device, and has controls "press volume key to select...".

Fastbootd is the second stage loader, which can handle the dynamic partitions.
it is reachable by the very poorly named command
fastboot reboot fastboot
(which should have been named fastboot reboot fastbootd).
It reboots to a special version of the Recovery mode, running Fastbootd.
It is a black screen with the one plus logo and the word "fastbootd" at the top, and some touch menus.

Recovery lists "reboot to fastboot", which goes to Fastboot mode.
Recovery also lists "reboot to recovery" which goes back to Recovery without Fastbootd.
Note that the text "fastbootd" is missing from the top of the screen when in recovery only mode.


Boot the phone into fastbootd mode by:
booting into recovery mode, by holding power and volume down during boot, then
rebooting into fastboot (only) mode, using touch menus: advanced, reboot into fastboot, then
connecting usb-c to a computer and rebooting into fastbootd using the poorly named command:
fastboot reboot fastboot.

Next run
fastboot getvar all
check which slot is active (you could attempt to switch slots, but that didn't fix it for me)
and check your partition list against mine, particularly looking for your slot's set of super's sub-partitions
(assuming slot b) system_b, system_ext_b, odm_b, product_b, vendor_b


Partition list from OnePlus Nord N200 unlocked version 11.0.2.0.DE17AA in fastbootd mode

(bootloader) partition-size:abl_a:0x800000
(bootloader) partition-size:abl_b:0x800000
(bootloader) partition-size:abl_log:0xFD0000
(bootloader) partition-size:ALIGN_TO_128K_1:0x1A000
(bootloader) partition-size:ALIGN_TO_128K_2:0x1A000
(bootloader) partition-size:android_log:0xFD0000
(bootloader) partition-size:apdp:0x40000
(bootloader) partition-size:bluetooth_a:0x100000
(bootloader) partition-size:bluetooth_b:0x100000
(bootloader) partition-size:boot_a:0x6000000
(bootloader) partition-size:boot_b:0x6000000
(bootloader) partition-size:carrier:0x4000000
(bootloader) partition-size:catecontentfv:0x100000
(bootloader) partition-size:catefv:0x80000
(bootloader) partition-size:cateloader:0x200000
(bootloader) partition-size:cdt:0x20000
(bootloader) partition-size:core_nhlos_a:0xAA00000
(bootloader) partition-size:core_nhlos_b:0xAA00000
(bootloader) partition-size:ddr:0x100000
(bootloader) partition-size:devcfg_a:0x20000
(bootloader) partition-size:devcfg_b:0x20000
(bootloader) partition-size:devinfo:0x1000
(bootloader) partition-size:dinfo:0x4000
(bootloader) partition-size:dsp_a:0x2000000
(bootloader) partition-size:dsp_b:0x2000000
(bootloader) partition-size:dtbo_a:0x1800000
(bootloader) partition-size:dtbo_b:0x1800000
(bootloader) partition-size:engineering_cdt_a:0x100000
(bootloader) partition-size:engineering_cdt_b:0x100000
(bootloader) partition-size:featenabler_a:0x20000
(bootloader) partition-size:featenabler_b:0x20000
(bootloader) partition-size:frp:0x80000
(bootloader) partition-size:fsc:0x20000
(bootloader) partition-size:fsg:0x300000
(bootloader) partition-size:hyp_a:0x80000
(bootloader) partition-size:hyp_b:0x80000
(bootloader) partition-size:imagefv_a:0x200000
(bootloader) partition-size:imagefv_b:0x200000
(bootloader) partition-size:kernel_log:0xFD0000
(bootloader) partition-size:keymaster_a:0x80000
(bootloader) partition-size:keymaster_b:0x80000
(bootloader) partition-size:keystore:0x80000
(bootloader) partition-size:logdump:0x4000000
(bootloader) partition-size:logfs:0x800000
(bootloader) partition-size:logo_a:0x1000000
(bootloader) partition-size:logo_b:0x1000000
(bootloader) partition-size:metadata:0x1000000
(bootloader) partition-size:misc:0x100000
(bootloader) partition-size:modem_a:0xDC00000
(bootloader) partition-size:modem_b:0xDC00000
(bootloader) partition-size:modemst1:0x300000
(bootloader) partition-size:modemst2:0x300000
(bootloader) partition-size:multiimgoem_a:0x8000
(bootloader) partition-size:multiimgoem_b:0x8000
(bootloader) partition-size ocdt:0x20000
(bootloader) partition-size odm_b:0x37EB000
(bootloader) partition-size oplusdycnvbk:0x1400000
(bootloader) partition-size oplusreserve1:0x800000
(bootloader) partition-size oplusreserve2:0x8000000
(bootloader) partition-size oplusreserve3:0x4000000
(bootloader) partition-size oplusreserve4:0x2000000
(bootloader) partition-size oplusreserve5:0x4000000
(bootloader) partition-size oplusstanvbk_a:0x1400000
(bootloader) partition-size oplusstanvbk_b:0x1400000
(bootloader) partition-size param:0x100000
(bootloader) partition-size persist_bkp:0x2000000
(bootloader) partition-size persist:0x2000000
(bootloader) partition-size product_b:0x73388000
(bootloader) partition-size qupfw_a:0x10000
(bootloader) partition-size qupfw_b:0x10000
(bootloader) partition-size:rawdump:0x8000000
(bootloader) partition-size:rpm_a:0x80000
(bootloader) partition-size:rpm_b:0x80000
(bootloader) partition-size:sdb:0x800000
(bootloader) partition-size:sdc:0x800000
(bootloader) partition-size:sdd:0x800000
(bootloader) partition-size:sde:0x66C00000
(bootloader) partition-size:sdf:0x1F400000
(bootloader) partition-size:secdata:0x7000
(bootloader) partition-size:ssd:0x2000
(bootloader) partition-size:storsec:0x20000
(bootloader) partition-size:super:0x180000000
(bootloader) partition-size:system_b-cow:0x259C8000
(bootloader) partition-size:system_b:0x59637000
(bootloader) partition-size:system_ext_b:0x4B5F5000
(bootloader) partition-size:tz_a:0x400000
(bootloader) partition-size:tz_b:0x400000
(bootloader) partition-size:uefisecapp_a:0x200000
(bootloader) partition-size:uefisecapp_b:0x200000
(bootloader) partition-size:uefivarstore:0x80000
(bootloader) partition-size:userdata:0xCAC5D3000
(bootloader) partition-size:vbmeta_a:0x10000
(bootloader) partition-size:vbmeta_b:0x10000
(bootloader) partition-size:vbmeta_system_a:0x10000
(bootloader) partition-size:vbmeta_system_b:0x10000
(bootloader) partition-size:vendor_b:0x3ED6C000
(bootloader) partition-size:vendor_boot_a:0x6000000
(bootloader) partition-size:vendor_boot_b:0x6000000
(bootloader) partition-size:vm-data:0x400000
(bootloader) partition-size:vm-keystore:0x20000
(bootloader) partition-size:vm-system_a:0x8000000
(bootloader) partition-size:vm-system_b:0x8000000
(bootloader) partition-size:xbl_a:0x600000
(bootloader) partition-size:xbl_b:0x600000
(bootloader) partition-size:xbl_config_a:0x80000
(bootloader) partition-size:xbl_config_b:0x80000


-cow (Copy On Write) partitions are unneeded and usually need to be deleted for space.
fastboot delete-logical-partition system_b-cow

Create any missing sub-partitions manually

fastboot create-logical-partition system_b 0x10000
fastboot create-logical-partition system_ext_b 0x10000
fastboot create-logical-partition odm_b 0x10000
fastboot create-logical-partition product_b 0x10000
fastboot create-logical-partition vendor_b 0x10000
(I don't believe the size must be correct, as they will resize when you flash them)

And then flash the partitions using the extracted OTA files from OnePlus
(system_b, system_ext_b, odm_b, product_b, vendor_b)

fastboot flash system_b system.img
fastboot flash system_ext_b system_ext.img
fastboot flash odm_b odm.img
fastboot flash product_b product.img
fastboot flash vendor_b vendor.img

You probably don't need to worry about boot_b since you have fastbootd working.
Also vbmeta and vbmeta_system (verified boot metadata), since verified boot turned off when your bootloader unlocked.
I have a soft bricked device from an update issue as well. After thoroughly reading your post I have discovered I have several missing partitions. Mainly every single one necessary for the successful flashing of system, product, vendor, odm, and system ext.

When attempting to create the partitions in fastbootd I get the return of "expected argument" without being able to create the partitions to flash the images to super rendering the device stuck in fastboot.
 

oCAPTCHA

Member
Sep 22, 2021
26
8
Jaybone073,

Are you sure that you are using a recent Fastbootd?
(if using linux, run your terminal in the downloaded folder, and run the local version of fastboot using ./fastboot instead of the older version installed system wide from a repo)
The older versions of Fastboot do not understand virtual / logical partitions, so would give this result of them missing.
You can't be missing every single virtual partition and still have a semi-working soft-bricked phone.
I accidentally flashed vendor with a nearly blank image while working on GSI's, (Why did google bundle a vendor.img with their AOSP GSI?) and it hard-bricked my device. Without the drivers in vendor, the phone would only go so far as the unlocked bootloader warning, despite the other partitions being correct (only EDL mode would boot).
Your phone must have a working boot.img and vendor.img for you to have working fastbootd recovery environment.

I sent that hard bricked phone into OnePlus a few days ago, after confirming again that they still will not release their MSM tools for the retail / unlocked variant.

Here is a good source for fastboot.

All Android SDK Latest Stable Versions

Android SDK Packages Latest Versions This page provides you all latest versions of available Android SDK Packages from SDK Tools, Compilers...
androidsdkoffline.blogspot.com
androidsdkoffline.blogspot.com
"Android SDK Platform Tools"

Once you get Fastbootd working, you can simply flash the partitions from the OTA. If you have a backed up super.img, you could flash that instead using regular Fastboot mode.
 
Last edited:

Jaybone073

Senior Member
Feb 22, 2013
112
27
Vidalia, GA.
MichaelBurrola,

I am hestiant to upload my partitions for legal liability reasons.

However, I suspect I may be able to help you another way, by using fastbootd commands and the OTA.

Are you sure you are in fastbootd mode, and are using an up to date fastboot? (older versions do not support dynamic partition commands!)

Here is a good source for fastboot.
"Android SDK Platform Tools"

Fastboot tutorial

The dynamic partition system was designed to save space by allowing adjustable partition sizes.
In order to implement it, Fastboot was broken into two pieces: Fastboot and Fastbootd.

Fastboot is the initial loader which handles only non-dynamic partitions.
It is a black screen with red and white text which displays facts about your device, and has controls "press volume key to select...".

Fastbootd is the second stage loader, which can handle the dynamic partitions.
it is reachable by the very poorly named command
fastboot reboot fastboot
(which should have been named fastboot reboot fastbootd).
It reboots to a special version of the Recovery mode, running Fastbootd.
It is a black screen with the one plus logo and the word "fastbootd" at the top, and some touch menus.

Recovery lists "reboot to fastboot", which goes to Fastboot mode.
Recovery also lists "reboot to recovery" which goes back to Recovery without Fastbootd.
Note that the text "fastbootd" is missing from the top of the screen when in recovery only mode.


Boot the phone into fastbootd mode by:
booting into recovery mode, by holding power and volume down during boot, then
rebooting into fastboot (only) mode, using touch menus: advanced, reboot into fastboot, then
connecting usb-c to a computer and rebooting into fastbootd using the poorly named command:
fastboot reboot fastboot.

Next run
fastboot getvar all
check which slot is active (you could attempt to switch slots, but that didn't fix it for me)
and check your partition list against mine, particularly looking for your slot's set of super's sub-partitions
(assuming slot b) system_b, system_ext_b, odm_b, product_b, vendor_b


Partition list from OnePlus Nord N200 unlocked version 11.0.2.0.DE17AA in fastbootd mode

(bootloader) partition-size:abl_a:0x800000
(bootloader) partition-size:abl_b:0x800000
(bootloader) partition-size:abl_log:0xFD0000
(bootloader) partition-size:ALIGN_TO_128K_1:0x1A000
(bootloader) partition-size:ALIGN_TO_128K_2:0x1A000
(bootloader) partition-size:android_log:0xFD0000
(bootloader) partition-size:apdp:0x40000
(bootloader) partition-size:bluetooth_a:0x100000
(bootloader) partition-size:bluetooth_b:0x100000
(bootloader) partition-size:boot_a:0x6000000
(bootloader) partition-size:boot_b:0x6000000
(bootloader) partition-size:carrier:0x4000000
(bootloader) partition-size:catecontentfv:0x100000
(bootloader) partition-size:catefv:0x80000
(bootloader) partition-size:cateloader:0x200000
(bootloader) partition-size:cdt:0x20000
(bootloader) partition-size:core_nhlos_a:0xAA00000
(bootloader) partition-size:core_nhlos_b:0xAA00000
(bootloader) partition-size:ddr:0x100000
(bootloader) partition-size:devcfg_a:0x20000
(bootloader) partition-size:devcfg_b:0x20000
(bootloader) partition-size:devinfo:0x1000
(bootloader) partition-size:dinfo:0x4000
(bootloader) partition-size:dsp_a:0x2000000
(bootloader) partition-size:dsp_b:0x2000000
(bootloader) partition-size:dtbo_a:0x1800000
(bootloader) partition-size:dtbo_b:0x1800000
(bootloader) partition-size:engineering_cdt_a:0x100000
(bootloader) partition-size:engineering_cdt_b:0x100000
(bootloader) partition-size:featenabler_a:0x20000
(bootloader) partition-size:featenabler_b:0x20000
(bootloader) partition-size:frp:0x80000
(bootloader) partition-size:fsc:0x20000
(bootloader) partition-size:fsg:0x300000
(bootloader) partition-size:hyp_a:0x80000
(bootloader) partition-size:hyp_b:0x80000
(bootloader) partition-size:imagefv_a:0x200000
(bootloader) partition-size:imagefv_b:0x200000
(bootloader) partition-size:kernel_log:0xFD0000
(bootloader) partition-size:keymaster_a:0x80000
(bootloader) partition-size:keymaster_b:0x80000
(bootloader) partition-size:keystore:0x80000
(bootloader) partition-size:logdump:0x4000000
(bootloader) partition-size:logfs:0x800000
(bootloader) partition-size:logo_a:0x1000000
(bootloader) partition-size:logo_b:0x1000000
(bootloader) partition-size:metadata:0x1000000
(bootloader) partition-size:misc:0x100000
(bootloader) partition-size:modem_a:0xDC00000
(bootloader) partition-size:modem_b:0xDC00000
(bootloader) partition-size:modemst1:0x300000
(bootloader) partition-size:modemst2:0x300000
(bootloader) partition-size:multiimgoem_a:0x8000
(bootloader) partition-size:multiimgoem_b:0x8000
(bootloader) partition-size ocdt:0x20000
(bootloader) partition-size odm_b:0x37EB000
(bootloader) partition-size oplusdycnvbk:0x1400000
(bootloader) partition-size oplusreserve1:0x800000
(bootloader) partition-size oplusreserve2:0x8000000
(bootloader) partition-size oplusreserve3:0x4000000
(bootloader) partition-size oplusreserve4:0x2000000
(bootloader) partition-size oplusreserve5:0x4000000
(bootloader) partition-size oplusstanvbk_a:0x1400000
(bootloader) partition-size oplusstanvbk_b:0x1400000
(bootloader) partition-size param:0x100000
(bootloader) partition-size persist_bkp:0x2000000
(bootloader) partition-size persist:0x2000000
(bootloader) partition-size product_b:0x73388000
(bootloader) partition-size qupfw_a:0x10000
(bootloader) partition-size qupfw_b:0x10000
(bootloader) partition-size:rawdump:0x8000000
(bootloader) partition-size:rpm_a:0x80000
(bootloader) partition-size:rpm_b:0x80000
(bootloader) partition-size:sdb:0x800000
(bootloader) partition-size:sdc:0x800000
(bootloader) partition-size:sdd:0x800000
(bootloader) partition-size:sde:0x66C00000
(bootloader) partition-size:sdf:0x1F400000
(bootloader) partition-size:secdata:0x7000
(bootloader) partition-size:ssd:0x2000
(bootloader) partition-size:storsec:0x20000
(bootloader) partition-size:super:0x180000000
(bootloader) partition-size:system_b-cow:0x259C8000
(bootloader) partition-size:system_b:0x59637000
(bootloader) partition-size:system_ext_b:0x4B5F5000
(bootloader) partition-size:tz_a:0x400000
(bootloader) partition-size:tz_b:0x400000
(bootloader) partition-size:uefisecapp_a:0x200000
(bootloader) partition-size:uefisecapp_b:0x200000
(bootloader) partition-size:uefivarstore:0x80000
(bootloader) partition-size:userdata:0xCAC5D3000
(bootloader) partition-size:vbmeta_a:0x10000
(bootloader) partition-size:vbmeta_b:0x10000
(bootloader) partition-size:vbmeta_system_a:0x10000
(bootloader) partition-size:vbmeta_system_b:0x10000
(bootloader) partition-size:vendor_b:0x3ED6C000
(bootloader) partition-size:vendor_boot_a:0x6000000
(bootloader) partition-size:vendor_boot_b:0x6000000
(bootloader) partition-size:vm-data:0x400000
(bootloader) partition-size:vm-keystore:0x20000
(bootloader) partition-size:vm-system_a:0x8000000
(bootloader) partition-size:vm-system_b:0x8000000
(bootloader) partition-size:xbl_a:0x600000
(bootloader) partition-size:xbl_b:0x600000
(bootloader) partition-size:xbl_config_a:0x80000
(bootloader) partition-size:xbl_config_b:0x80000


-cow (Copy On Write) partitions are unneeded and usually need to be deleted for space.
fastboot delete-logical-partition system_b-cow

Create any missing sub-partitions manually

fastboot create-logical-partition system_b 0x10000
fastboot create-logical-partition system_ext_b 0x10000
fastboot create-logical-partition odm_b 0x10000
fastboot create-logical-partition product_b 0x10000
fastboot create-logical-partition vendor_b 0x10000
(I don't believe the size must be correct, as they will resize when you flash them)

And then flash the partitions using the extracted OTA files from OnePlus
(system_b, system_ext_b, odm_b, product_b, vendor_b)

fastboot flash system_b system.img
fastboot flash system_ext_b system_ext.img
fastboot flash odm_b odm.img
fastboot flash product_b product.img
fastboot flash vendor_b vendor.img

You probably don't need to worry about boot_b since you have fastbootd working.
Also vbmeta and vbmeta_system (verified boot metadata), since verified boot turned off when your bootloader unlocked.

Jaybone073,

Are you sure that you are using a recent Fastbootd?
(if using linux, run your terminal in the downloaded folder, and run the local version of fastboot using ./fastboot instead of the older version installed system wide from a repo)
The older versions of Fastboot do not understand virtual / logical partitions, so would give this result of them missing.
You can't be missing every single virtual partition and still have a semi-working soft-bricked phone.
I accidentally flashed vendor with a nearly blank image while working on GSI's, (Why did google bundle a vendor.img with their AOSP GSI?) and it hard-bricked my device. Without the drivers in vendor, the phone would only go so far as the unlocked bootloader warning, despite the other partitions being correct (only EDL mode would boot).
Your phone must have a working boot.img and vendor.img for you to have working fastbootd recovery environment.

I sent that hard bricked phone into OnePlus a few days ago, after confirming again that they still will not release their MSM tools for the retail / unlocked variant.

Here is a good source for fastboot.

All Android SDK Latest Stable Versions

Android SDK Packages Latest Versions This page provides you all latest versions of available Android SDK Packages from SDK Tools, Compilers...
androidsdkoffline.blogspot.com
androidsdkoffline.blogspot.com
"Android SDK Platform Tools"

Once you get Fastbootd working, you can simply flash the partitions from the OTA. If you have a backed up super.img, you could flash that instead using regular Fastboot mode.
I do not have a backed up super.img I am guessing that it is unique to each device and cannot be flashed via fastboot

Also my device info shows this:
(bootloader) Verity mode: true
(bootloader) Device unlocked: true
(bootloader) Device critical unlocked: false
(bootloader) Charger screen enabled: true
OKAY [ 0.000s]
Finished. Total time: 0.000s

which means when trying to create a partition I get this error"

fastboot create-logical-partition system_b 0x10000
Creating 'system_b' FAILED (remote: 'Could not open super partition')
fastboot: error: Command failed


And I am running the latest version of adb and fastboot. I thought I was but apparently it was JUST updated.
 
Last edited:
  • Like
Reactions: harryspar

RainGater

Senior Member
Aug 5, 2013
1,198
717
OnePlus 8T
Samsung Galaxy Tab S7 FE
Boot the phone into fastbootd mode by:
booting into recovery mode, by holding power and volume down during boot, then
rebooting into fastboot (only) mode, using touch menus: advanced, reboot into fastboot, then
connecting usb-c to a computer and rebooting into fastbootd using the poorly named command:
fastboot reboot fastboot.

Next run
fastboot getvar all
I am in fastbootd but it keeps saying that "< waiting for any device >" although I have all the necessary drivers on the system. I can do adb reboot bootloader and it works fine. From there, I can do fastboot devices and so on... It works.

But, my device is not getting recognized in the fastbood (where you see Advanced and Exit buttons) mode.

When I run "fastboot reboot fastboot", it goes back to fastbootd screen, where I can go to Advanced and Reboot to fastboot options are there. But, the device is not getting recognized by the PC.

EDIT: I have the latest fastboot: fastboot version 31.0.3-7562133

EDIT 2: The build on my Nord N2005G is 11.0.1.9.DE18CB. Does this procedure on this build?
 

oCAPTCHA

Member
Sep 22, 2021
26
8
Errors with the device not being recognized or authorized are due to not having:

1. USB debugging enabled.
2. authorized the computer's certificate on the USB debugging popup when the phone is running in the OS and connected to the computer.
3. sufficient permissions on the computer.
under linux, the first time ADB is run, it starts a daemon to connect using the permissions of that command.
so the first time in a session you run ADB, you must use sudo to give the daemon root privileges.

"sudo ./adb devices
* daemon not running; starting now at tcp:5037
* daemon started successfully
List of devices attached"

also, the instructions should work for any build.
 

Travisholt92

Senior Member
Jun 28, 2012
1,313
1,192
31
Fort Wayne, Indiana
OnePlus 8
OnePlus 8T
Don't ask me why, but I tried to upload a GSI using fastboot to my N200. And that didn't work. So I then read online about other people getting the same error I had, and their fix was deleting the "product" partition and erasing the system partition

Now my phone is stuck in fastboot and won't boot from an image, take a recovery image, etc. etc. it's kinda completely messed up and it's my fault for trying to tinker with commandline tools.

The problem is there is no MSM recovery for my phone, and even if there was virtualbox can't detect my phone's USB(I've already tried with just the nord MSM, I run linux and I was using a win10 VM)

Is there any hope? Do I have to go to a repair shop?
Too many failed boot attempts deleted your encryption and switched your active slots. From fastboot run "fastboot -w" (this will format /data and wipe metadata), after this you switch your active slot using adb commands and see if you can get fastbootd then.
 

LunaTuna

Member
Dec 31, 2021
10
1
Anyone able to provide a super.img file? Currently I have a bricked device after flashing a blank vendor.img while installing a GSI. I have extracted the firmware and am able to flash the majority of images except any related to the super.img.

Is the super partition the same for both slot A & B or is each slot individual? If it's individual to each slot then slot A should still be available since B was deleted during GSI install, correct!?
Any help flashing the main images would be appreciated.

Also, if I am unable to get a copy of the super partition, would flashing the images that are successful and using a GSI work?
 
  • Like
Reactions: pwag

Top Liked Posts