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

Search This thread

barguybrady

Senior Member
Yep, me too.. (the dual sim thing)
I was just checking back in (since converting in Dec) today to see if there is any change on this...
... it's probably more annoying to me because my old phone (a 6t) was also Tmo converted and I had skipped the permanent sim unlock, so even though I could use 2 tmobile sims (what I had at the time) when one of them switched to verizon I was bugger'd) but didn't want to re-wipe the 6t until I had moved to the 9... which of course doesn't matter, because why go back to the 6t at this point? (though I like the smaller size most of the time, there are too many other trade-offs)... ok, personal vent over...

Also I need to look around to see about full updating to something newer than the F.17 (w/nov '22 security patch) update since the OTA/incremental updates aren't generally a good idea and I hadn't seen a new full update via Oxygen Updater...

Am I mistaken on any particular point?
TIA
-G

Might I ask what OS or ROM you are using ?
I just reset with MSM all-the-way-back-to 11.2.2.2 (LE2117) , and am just wondering if a Custom ROM is worth it, after all my Update Hassles ?
TIA
 

Garbonzo17

Member
Oct 5, 2014
35
11
Might I ask what OS or ROM you are using ?
I just reset with MSM all-the-way-back-to 11.2.2.2 (LE2117) , and am just wondering if a Custom ROM is worth it, after all my Update Hassles ?
TIA
Sure, mine is a US (Tmo) OP9 5g running OOS13 (LE2115_11_F.17)
aside from the 2nd sim snafu causing me to have to keep my old OP6t charged to use my other SIM, it's a pretty good overall experience. But I might be willing to give a good custom rom a shot, I haven't done that in about 2 yrs...
-g
 

barguybrady

Senior Member
Sure, mine is a US (Tmo) OP9 5g running OOS13 (LE2115_11_F.17)
aside from the 2nd sim snafu causing me to have to keep my old OP6t charged to use my other SIM, it's a pretty good overall experience. But I might be willing to give a good custom rom a shot, I haven't done that in about 2 yrs...
-g
Boy, Howdy !

SO, UR running stock - Rooted ??
And when did you ROOT ?

I just posted a ?? on reddit/r/oneplus about this;
Should I get all the t-Mo Updates first, then Root when I'm up-to-date ?
 

Garbonzo17

Member
Oct 5, 2014
35
11
Boy, Howdy !

SO, UR running stock - Rooted ??
And when did you ROOT ?

I just posted a ?? on reddit/r/oneplus about this;
Should I get all the t-Mo Updates first, then Root when I'm up-to-date ?
I did it via magisk patching the boot.img file and flashed at the command line...
I did it prior to going to OOS13 but I don't "know" that is required... I just had the payload already extracted so I went with it... make sure to open magisk and "patch to second slot" or whatever the call it (prior to rebooting after each OOS update) and you should maintain root...
 
  • Like
Reactions: barguybrady

barguybrady

Senior Member
I did it via magisk patching the boot.img file and flashed at the command line...
I did it prior to going to OOS13 but I don't "know" that is required... I just had the payload already extracted so I went with it... make sure to open magisk and "patch to second slot" or whatever the call it (prior to rebooting after each OOS update) and you should maintain root...
1 update done, Now it's moving on to: LE2117_11_C.16 / A12 OS and Sec Patch - 04-2022
 

Garbonzo17

Member
Oct 5, 2014
35
11
1 update done, Now it's moving on to: LE2117_11_C.16 / A12 OS and Sec Patch - 04-2022
Yeah, and afaik the A13 LE2117_11_F.17 is the last "safe" install... there are incrementals for F.19 and F.20 (and I just checked oxygen updater and there is a F.21 that has March security patch I guess) but I feel the potential for at least wasted evening if that goes sideways... so I tend to pass on that kind of thing as of late... unless it's simple and worth doing and I am just misunderstanding the situation (very possible!).
Anyway.. best of luck... and hit me back if you ever find a SIM2 solution...
-g
 

barguybrady

Senior Member
Yeah, and afaik the A13 LE2117_11_F.17 is the last "safe" install... there are incrementals for F.19 and F.20 (and I just checked oxygen updater and there is a F.21 that has March security patch I guess) but I feel the potential for at least wasted evening if that goes sideways... so I tend to pass on that kind of thing as of late... unless it's simple and worth doing and I am just misunderstanding the situation (very possible!).
Anyway.. best of luck... and hit me back if you ever find a SIM2 solution...
-g
( I just wasted a Whole Weekend . . ! :mad:
:eek:
 

asdika

New member
May 24, 2022
3
0
If I do this upgrade on my Indian LE2111 i will have the european 5G bands or still only indian?
 

arpruss

Senior Member
Jul 3, 2010
898
433
pruss.mobi
I did the global firmware update on my T-Mobile OnePlus 9. I had to do it twice. The first gave me a bunch of out of space errors. The second run worked fine, and it even solved my voice call problems with Google Fi.

However, I have two problems:
1. I can't update the OS beyond 11.2.2.2. The only firmware Oxygen Updater shows is LE2115_11_F.17, and when I download that, the firmware installer gives an error message and refuses to install.
2. When scrolling in Google Chrome, I often get flashing black boxes.
 

Garbonzo17

Member
Oct 5, 2014
35
11
I did the global firmware update on my T-Mobile OnePlus 9. I had to do it twice. The first gave me a bunch of out of space errors. The second run worked fine, and it even solved my voice call problems with Google Fi.

However, I have two problems:
1. I can't update the OS beyond 11.2.2.2. The only firmware Oxygen Updater shows is LE2115_11_F.17, and when I download that, the firmware installer gives an error message and refuses to install.
2. When scrolling in Google Chrome, I often get flashing black boxes.
I have not been able to update past LE2115_11_F.17 (OOS13 w/Nov2022 security) as only ota incrementals have happened (to my knowledge)... I assume a full rom will upgrade, just haven't seen one. (but it's the reason I am here looking at the forum today actually!)
Not sure about the Chrome thing, uninstall the app upgrades and disable chrome and reinstall it from playstore to re-enable and see if maybe that fixes anything, but I have no idea on that... sorry.
 

arpruss

Senior Member
Jul 3, 2010
898
433
pruss.mobi
I have not been able to update past LE2115_11_F.17 (OOS13 w/Nov2022 security) as only ota incrementals have happened (to my knowledge)... I assume a full rom will upgrade, just haven't seen one. (but it's the reason I am here looking at the forum today actually!)

I can't update to LE2115_11_F.17 at all. I just get an error message if I try to update to it after downloading. And no other updates show up in Oxygen Updater. Is there some other source for earlier update files?
 

arpruss

Senior Member
Jul 3, 2010
898
433
pruss.mobi
I just saw a 11.2.10.10.LE25AA update appearing, but it gives me an installation error.

I did have Magisk installed, so I uninstalled it, but I still get the installation error.

Here's what the log says:
Code:
06-12 08:20:01.839  1517  1517 I update_engine: [0612/082001.839352:INFO:delta_performer.cc(451)] is_ddr5 is  , partition name vbmeta , target path /dev/block/bootdevice/by-name/vbmeta_a
06-12 08:20:01.839  1517  1517 I update_engine: [0612/082001.839788:INFO:delta_performer.cc(503)] Opening /dev/block/bootdevice/by-name/vbmeta_a partition without O_DSYNC
06-12 08:20:01.841  1517  1517 I update_engine: [0612/082001.841288:INFO:delta_performer.cc(138)] Caching writes.
06-12 08:20:01.841  1517  1517 I update_engine: [0612/082001.841384:INFO:delta_performer.cc(515)] Applying 1 operations to partition "vbmeta"
06-12 08:20:01.848  1517  1517 E update_engine: [0612/082001.848963:ERROR:fec_file_descriptor.cc(30)] No ECC data in the passed file
06-12 08:20:01.850  1517  1517 E update_engine: [0612/082001.849042:ERROR:delta_performer.cc(549)] Unable to open ECC source partition vbmeta on slot B, file /dev/block/bootdevice/by-name/vbmeta_b: Invalid argument (22)
06-12 08:20:01.850  1517  1517 E update_engine: [0612/082001.850620:ERROR:delta_performer.cc(1281)] The hash of the source data on disk for this operation doesn't match the expected value. This could mean that the delta update payload was targeted for another version, or that the source partition was modified after it was installed, for example, by mounting a filesystem.
06-12 08:20:01.850  1517  1517 E update_engine: [0612/082001.850691:ERROR:delta_performer.cc(1286)] Expected:   sha256|hex = 3932CFBFC91CA51A14158EF8C9FCD5156C84F84D429283218332E70C74EBBC00
06-12 08:20:01.850  1517  1517 E update_engine: [0612/082001.850743:ERROR:delta_performer.cc(1289)] Calculated: sha256|hex = 2B33D9198A039C58AE18357BE58D1F470859F4E9D07559B2A2D47E8D2D1D4689
06-12 08:20:01.850  1517  1517 E update_engine: [0612/082001.850799:ERROR:delta_performer.cc(1300)] Operation source (offset:size) in blocks: 0:2
06-12 08:20:01.850  1517  1517 E update_engine: [0612/082001.850928:ERROR:delta_performer.cc(1621)] source_fd != nullptr failed.
06-12 08:20:01.851  1517  1517 E update_engine: [0612/082001.851023:ERROR:delta_performer.cc(307)] Failed to perform BROTLI_BSDIFF operation 3365, which is the operation 0 in partition "vbmeta"
06-12 08:20:01.851  1517  1517 E update_engine: [0612/082001.851113:ERROR:download_action.cc(336)] Error ErrorCode::kDownloadStateInitializationError (20) in DeltaPerformer's Write method when processing the received payload -- Terminating processing
 
Last edited:

arpruss

Senior Member
Jul 3, 2010
898
433
pruss.mobi
2. When scrolling in Google Chrome, I often get flashing black boxes.
Strangely, the problem disappears when I install the Chrome apk from apkmirror. But when I download Chrome from Google Play, the black boxes are back. I think it's the same version! I wonder if there isn't some problem with Google Play selecting the version for this firmware.
 

Fatimaahmed

Member
Apr 15, 2023
8
0
Can we flash conversion package through TWRP ?
If not then should we flash twrp before flashing the conversion package or after, i mean flashing the conversion package using your way will method twrp or not ??
To install twrp In OnePlus 9 T-Mobile you need to unlock bootloader but you can't unlock bootloader without token number.
I aslo flash twrp but my device jumps in dump mode
Yo can't flash by twrp just go for PC
 

VEN0M69

Member
Aug 24, 2023
7
1
@Lomeli12
Can we flash conversion package through TWRP ?
If not then should we flash twrp before flashing the conversion package or after,
My point is that flashing the conversion package using your method will remove twrp or not ??
also what to not do in twrp after updating to latest ota
 

Top Liked Posts

  • There are no posts matching your filters.
  • 12
    ** 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.
    9
    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

    5
    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.
    2
    Talking about modems in OTAs.
    2
    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

    Thank you very much for this. Added a notice about this to the original post as well as a link to your 8T conversion guide for those who don't want to unlock their bootloader.