• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

How To Guide Convert T-Mobile OnePlus 9 to Global (or other) firmware

Search This thread
I would recommended that anyone who plans to use this to go ahead and run and start the process that takes a week to get the token from OP that way it's already started for future use to unlock the stock tmo oos if needed.

Been running this for a while and works great still

"If you don't wish to unlock either, craznazn has released a MSM conversion package you can use to acomplish the same thing without requiring ether to be unlocked. Just download the package from their post, and follow the steps on their 8T MSM Conversion guide, as the steps should mostly be identical."

Then I am not reading this correctly ?
If I wish to convert my t-Mo 9-5g to Global variant - I must still apply for the un-lock token from t-Mo, or from OnePlus ?
I looked through the process, as provided from the OP site, and it links to t-Mo, who states that the un-lock is not available until the phone is paid off?
Previously, with my 6t, it was much simpler... and there was no need to 'get permission' ?

Is that how it is Now ?
 
Does this also work for their (T-Mobile) `9 Pro` & `9 Pro 5G`? I was thinking about getting the 5G and doing this, but I'm not buying it if I can't do this. I can't f with nerfed US distributions. Tooooo lame.

Thanks !
Yes, I'm thinking of returning mine, and suffering the "Re-Stock" fee. I will not abide with owning a phone that cannot be Rooted.
I pay t-Mo for the service, and have no desire for anyone to profit from my activities by forcing me to see Any Advertisements.
 

lalamike25

New member
Jun 26, 2021
2
0
Hey guys, I've been having an issue when executing the flash-all.bat script. The first error I get is a failure to flash to a critical partition, even though I've executed the ADB command "fastboot oem unlock_critical" after unlocking the device (T-Mobile OnePlus 9). I'm trying to get to global. The first error I described looks like this:
writing 'uefisecapp'...
FAILED (remote: Flashing is not allowed for Critical Partitions)
Then later on I get errors that look like:
fastboot flash vendor vendor.img
target reported max download size of 805306368 bytes
Invalid sparse file format at header magi
sending sparse 'vendor' (782030 KB)...
OKAY [ 18.643s]
writing 'vendor'...
FAILED (remote: Partition not found)
And at the end it looks like this:
fastboot -w
Erase successful, but not automatically formatting.
File system type f2fs not supported.
Erase successful, but not automatically formatting.
Can't determine partition type.
FAILED (remote: GetVar Variable Not found)
erasing 'userdata'...
OKAY [ 0.230s]
erasing 'cache'...
FAILED (remote: Check device console.)
I'm hoping every subsequent error is a byproduct of the Critical Partitions error I get right away, but that's just wishful thinking. I've never had to go this deep for a conversion before and every generation it seems to only be getting more and more complex. If anybody can help me it would be appreciated, and let me know if you need any other information. It was already a b*tch to get this far considering I had to wait a week to get the unlock token from OnePlus.
Appreciate the help you guys give in these forums!
 

Strange. You really shouldn't need to do fastboot oem unlock_critical, fastboot oem unlock should be more than enough. I'd say use MSM to reset your phone and start with a clean slate, unlock your phone again with the same unlock.bin OnePlus provided you and just use the command fastboot oem unlock, then run the script again. May also want to check the hash of your download just to make sure it matches with the hashes provided in the OP. You can also try craznazn's MSM conversion package and see if that works better for you.
 

lalamike25

New member
Jun 26, 2021
2
0
Strange. You really shouldn't need to do fastboot oem unlock_critical, fastboot oem unlock should be more than enough. I'd say use MSM to reset your phone and start with a clean slate, unlock your phone again with the same unlock.bin OnePlus provided you and just use the command fastboot oem unlock, then run the script again. May also want to check the hash of your download just to make sure it matches with the hashes provided in the OP. You can also try craznazn's MSM conversion package and see if that works better for you.
Thanks for the suggestions. The MSM conversion package worked for me. I'm extremely thankful for all that you guys do for the community!
 

Fino1310

Member
Jun 20, 2021
20
3
Just flash global rom on my TMobile one plus 9 everything work awesome the only thing is the verification on settings about should I be worried or no
 

Fino1310

Member
Jun 20, 2021
20
3

infamousvincci

Senior Member
Apr 10, 2013
1,440
330
Carson
OnePlus 9
OnePlus 9 Pro
Just flash global rom on my TMobile one plus 9 everything work awesome the only thing is the verification on settings about should I be worried or no
Check your data speed if you are using tmobile sim. Also, check tomorrow morning if you can be called without restarting your phone. I had trouble with slowed down speed and after a long deep sleep, my phone cannot be called until i restart my phone.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    I didn't see this posted anywhere on the thread - if it is...sowwwwy

    Has anyone been able to make dual sim cards work when converting oneplus 9 to the EU/ Global variant? Does it show 1 or 2 IMEIs?
    I can tell ya that part for sure. It will not have 2 IMEI numbers if it is successful. It may copy the original one twice, but if it isn't written in at the factory, it's not there. Ultimately, I gave up and bought an 8 pro bc the US OP9 is not likely to work properly with dual sim in my quasi-educated speculation. There are ways to spoof one/write one to the device, but it's a taboo subject here on xda. It is definitely more of a pain than it's worth for me. I had an Axon 7 that lost it's IMEI and had all kinds of fun trying to restore/recover/reprogram it. I never had success and spent a huge amount of time on it.
  • 8
    ** USE THIS AT YOUR OWN RISK.
    ** READ THROUGH THE STEPS BEFORE ATTEMPTING. IF AT ANY POINT WHILE READING THESE STEPS YOU GET CONFUSED, YOU PROBABLY SHOULDN'T ATTEMPT THIS.
    ** BACKUP YOUR FILES AND APP DATA AS THIS WILL WIPE YOUR PHONE.
    ** BACKUP YOUR WORKING MODEMST1/2 AND PERSIST PARTITION IMAGES WITH BEFORE CONTINUING. THESE PARTITIONS ARE DEVICE UNIQUE, SO IF SOMETHING HAPPENS TO THESE PARTITIONS DURING THE CONVERSION, AND YOU DON'T HAVE A BACKUP, NOT EVEN MSM DOWNLOAD TOOL CAN SAVE YOU. YOU'LL HAVE TO SEND YOUR DEVICE BACK TO ONEPLUS FOR REPAIR. If YOUR PHONE IS ALREADY ROOTED, I RECOMMEND USING
    PARTITIONS BACKUP AND RESTORE TO DO THIS. JUST REMEMBER TO COPY YOUR BACKUPS OFF YOUR PHONE BEFORE YOU GET STARTED.
    ** BE SURE TO HAVE MSM DOWNLOAD TOOL AT THE READY FOR IF SOMETHING DOES HAPPEN. FOR THE T-MOBILE ONEPLUS 9, YOU CAN GET IT HERE:
    https://forum.xda-developers.com/t/oneplus-9-11-2-22-2-t-mobile-msm-download-tool.4276119/

    THIS METHOD REQUIRES AN UNLOCKED SIM AND BOOTLOADER
    If you don't wish to unlock either, craznazn has released a MSM conversion package you can use to acomplish the same thing without requiring ether to be unlocked. Just download the package from their post, and follow the steps on their 8T MSM Conversion guide, as the steps should mostly be identical.

    * I've successfully done this ONCE on my own personal T-Mobile OnePlus 9
    * The script used here is just the same one made by craznazn to convert the T-Mobile OnePlus 9 Pro to EU firmware. I just swapped EU OnePlus 9 Pro images for the Global OnePlus 9 images and wrote a bash script for non-Windows users to use. You can just download my conversion package and follow their steps if you want. Just for convenience I'll also be writing the steps on how to use it here as well.
    * You can drag and drop my bash script into craznazn's conversion package to use their package on non-Windows systems. You can download the bash script by itself here: https://gist.github.com/Lomeli12/73825a287d3cf60414e244aece9b6bdf
    * This package will install Global Firmware 11.2.2.2. You'll need to use Oxygen Updater to update it to the current version (or at least until System Update can do it for you).
    * Use the latest platform tools, either from https://developer.android.com/studio/releases/platform-tools or through your package manager of choice (apt, brew, scoop, etc). DO NOT USE MINIMAL ADB, it has not been updated for years.
    * If you're having issues with either adb or fastboot detecting your device, consider installing the Universal ADB Driver.
    * Have any issues? Describe the steps you take, copy the script's output log, and take screenshots. Include the output of fastboot --version in your post.

    Now with all that out of the way...

    Steps to convert your T-Mobile OnePlus 9 to the Global (or other) firmware
    1. Unlock your bootloader and SIM. See https://forum.xda-developers.com/t/how-to-unlock-the-t-mobile-bootloader.4256319/
    2. Download and unzip the conversion package:
      • Global 11.2.2.2
        MD5: 14e0c5e41df26bacbc11fe7e69a63c0e
        SHA256: 10801f12c50e2d9a7e8085d113ac4a90ab312018beb84a10fa4c1a0f84fc95eb
        1. Download and unzip the firmware you want from the OxygenOS Repo thread. You'll specifically want to extract the payload.bin file.
        2. Install Python 3 and Python Protobuf. Figure out how to do this on your own system.
        3. Download cyxx's extract android ota payload script from GitHub: https://github.com/cyxx/extract_android_ota_payload/
        4. Place the payload.bin you extracted earlier into the same directory as the extract_android_ota_payload.py script.
        5. Run the extraction script and wait. This step usually takes a while to complete
          Bash:
          python3 extract_android_ota_payload.py payload.bin tmp/
        6. Open up the tmp folder the script created and copy all the image files from there over to where flash_all scripts are located.
    3. Boot to bootloader
      • From adb:
        Bash:
        adb reboot bootloader
      • From fastboot/bootloader:
        Bash:
        fastboot reboot bootloader
    4. Execute either flash_all.bat or flash_all.sh from the unzipped conversion package.
    5. Reboot into recovery and wipe everything
    6. Once fully booted and setup, use Oxygen Updaterto update your phone to the latest version the app provides. Oxygen Updater will provide steps on how to use the full OTA zip.
      1. After you've updated using Oxygen Updater, go into Settings -> System -> System Updates and check for new updates, as Oxygen Updater usually takes a few days to have the absolute latest OTA available. If there is another update available, go ahead and let the System Updater do its thing.
    7. Do a regular system reboot, NOT into recovery, bootloader, or fastbootd.
      NOTE: The following steps (8-10) may or may not be optional, we haven't 100% figured it out yet
    8. Repeat step 3 to get back into the bootloader.
    9. Flash the T-Mobile modem included in the conversion package
      Bash:
      fastboot flash modem NON-HLOS.bin
    10. After each full OTA you take in the future, repeat steps 8 and 9 again.

    Fixing SafetyNet by installing Magisk

    When I first did this on my own phone, my phone would fail SafetyNet, specifically with a CTS Profile Mismatch. Once I installed Magisk and enabled MagiskHide, however, SafetyNet was passed once more. No MagiskHidePropConfig or UniversalSafetyNetFix required. Here are the steps I did.
    1. Make sure you've updated your phone to the absolute latest version of OxygenOS you can. See step 6 of the conversion steps on how to do so.
    2. Copy the boot.img from the conversion package onto your phone.
    3. Install Magisk Manager onto your phone.
    4. Open Magisk Manager and patch boot.img
      1. Tap Install
      2. Select Select and Patch a file and tap Let's Go
      3. Choose the boot.img file we copied over and hit okay
      4. Once the patch is finished, copy the patched boot.img back onto your PC. Magisk Manager usually puts it in your phone's downloads folder as magisk_patched-<current magisk version>_<random string of characters>.img. The logs in Magisk Manager will tell you exactly what it named the patch image as.
    5. Boot to your bootloader. See step 3 of the conversion steps for this.
    6. Boot your phone using the patched boot.img
      Bash:
      fastboot boot magisk_patched-<current magisk version>_<random string of characters>.img
    7. Once your phone has booted up, open Magisk Manager once more
    8. Go into Magisk Manager settings and enable MagiskHide.
    9. Back out of the settings and install Magisk via Direct Install
    10. Reboot your phone normally. You should now have Magisk and pass SafetyNet.

    Issues so far:
    • Using EdXposed Hide on the Google Play Store or Google Play Services can cause a soft brick requiring resetting your device via recovery. No issues with LSPosed so far.
    • Google Phone dialer doesn't display option for Visual Voice Mail. The T-Mobile Visual Voicemail app can be used though.
    What appears to work:
    • Everything else
    Edit 1 (5/17/2021):
    • Fixed some wording that I felt was awkward after the fact.
    • Made a note that flashing the T-Mobile modem may be optional, still up in the air on that.
    • Included download mirror for AndroidFileHost.
    • Listed EdXposed softbrick reported by @Josh McGrath.
    Edit 2 (5/19/2021):
    • Added note about VVM missing from Google Dialer, but T-Mobile VVM app being a good alternative.
    • Adjusted phrasing in modem flashing steps
    Edit 3 (6/7/2021):
    • Added link to craznazn's MSM conversion tool, which is a good alternative for those who don't want to unlock their bootloader.
    5
    The MSM conversion is ready, about phone page misses verification but everything else works. You can use the same instructions from my 8T MSM conversion for this it mostly applies. The 9 pro is gonna be a little different

    4
    Hi guys, the 9 Pro requires a TMO modem flash because the baseband version is different between TMO and NA/EU/IN. A NA/EU/IN modem running on a TMO device will not work, thus it's a requirement.

    I noticed in a few posts here that the 9 modem works off the NA rom. If that's the case, then the baseband version must be the same and you don't need to do that step. Additionally if that's the case, I can build a MSM conversion for the 9 that allows conversion to EU/Global without SIM/BL unlock. However, I will not be able to test it because I don't have a 9. Let me know if there's interest.
    1
    Talking about modems in OTAs.
    1
    I didn't see this posted anywhere on the thread - if it is...sowwwwy

    Has anyone been able to make dual sim cards work when converting oneplus 9 to the EU/ Global variant? Does it show 1 or 2 IMEIs?
    I can tell ya that part for sure. It will not have 2 IMEI numbers if it is successful. It may copy the original one twice, but if it isn't written in at the factory, it's not there. Ultimately, I gave up and bought an 8 pro bc the US OP9 is not likely to work properly with dual sim in my quasi-educated speculation. There are ways to spoof one/write one to the device, but it's a taboo subject here on xda. It is definitely more of a pain than it's worth for me. I had an Axon 7 that lost it's IMEI and had all kinds of fun trying to restore/recover/reprogram it. I never had success and spent a huge amount of time on it.