[TIP] Unlock SIM and go pure AOSP if you are on SPRINT [List of tested ROMS included]

Search This thread

vboyz103

Senior Member
Apr 9, 2006
878
141
ROMS tested by me:
***************************************
These are the following KitKat based roms that worked really well with this approach:

1. CM 11 Nightly
2. PAC-MAN
3. Slimkat Weekly

I tried with both AT&T and T-Mobile variants, and didn't have to load Sprint specific kernel, the stock kernel came with those worked just fine. But if you get bootloops, go ahead and flash KToonz Sprint AOSP kernel.

IMPORTANT: The listed roms above have ability to detect device type and it will set appropriate settings meaning your default network mode with be CDMA, which you don't want to do that since u r running on unlocked GSM to begin with. So I learned that you can force GSM mode upon starting up by putting these two lines into build.prop:

telephony.lteOnGsmDevice=1
ro.telephony.default_network=9

*******************************************

So thanks to OP on this thread http://xdaforums.com/showthread.php?t=2530610 for the instructions on how to get the SIM unlocking work.

I personally wanted to run pure AOSP on my GS4, but the problem is when I go AOSP, switching over to GSM works but I can't receive any phone calls. If I run stock, I can configure it to turn off roaming guard and whatnot, this is not the case for AOSP.

Therefore, here's how I get around it. WARNING: a little lengthy but it worked.

0. Backup your current Sprint AOSP now you'll need it later.
1. Download TMOBILE AOSP rom of your choice. I chose Gummy 4.4
2. Download Sprint AOSP of your choice (I'm on sprint). I chose Gummy 4.4
3. Once download completed, open the TMO zip and delete the boot.img because it contains the kernel for TMO which we don't want. Keep this window open.
I recommend NOT extracting it because you will have to reassemble later, just use a zip software that allows you to edit in place.
4. Open the Sprint AOSP, copy the boot.img over to TMO. Basically, we are replacing JUST the kernel for Sprint into TMO to make the phone boots.
5. Now we need to get rid of the assertion check for device type in the updater-script.
6. WIth TMO zip window still open, edit the file /META-INF/com/google/android/updater-script, and replace anything that said jfltetmo with jfltespr. UPDATE 3: If you see no "assert" lines described below in your updater-script, simply ignore this step.

From:

Code:
assert(getprop("ro.product.device") == "jfltetmo" || getprop("ro.build.product") == "jfltetmo" || abort("This package is for \"jfltetmo\" devices; this is a \"" + getprop("ro.product.device") + "\"."););

To:

Code:
assert(getprop("ro.product.device") == "jfltespr" || getprop("ro.build.product") == "jfltespr" || abort("This package is for \"jfltespr\" devices; this is a \"" + getprop("ro.product.device") + "\"."););

7. Save the changes, and upload the TMO to phone and flash. Now you are running completely under TMO settings and calls can be received.
8. Setup everything you need and NANDROID backup.
9. So with this approach, I tested switching back to CDMA, and the EXACT problem happens (can't receive calls). So move on to next step.
10.To switch back and forth, you just need to boot into recovery and wipe system and replace it with the targeted system you want to be on. For instance, if I am on TMO and want to switch to SPR, I reboot into recovery, wipe current TMO /system and restore SPR /system and reboot. This whole process should take about 3 minutes.

If anyone has any better approach, please share.

UPDATE: This approach also will solve my problem of using AOSP dialer. If I run Sprint ROM (CDMA), and switch over to GSM via Mobile Network (in Settings), then upon placing a call and hanging up will NOT hang up. The dialer on Sprint ROM will say the call has ended by it never did if you put it on speaker phone. So with this system switching, it also solves this problem.

UPDATE 2:

If you are in Asia using GS4, flashing Sprint S4 stock kernel will fix issues reported below:

Gummi (Won't mount my external SD card)
Omni (Won't mount my external SD card)
Cyanogenmod (Crashes, can't install apps, bunch of other problems)
AOKP (No wifi, crashes, etc.)

Go to Page 3 to find more info. >> http://xdaforums.com/showpost.php?p=49724403&postcount=21
 
Last edited:

cautious911

Senior Member
Aug 12, 2009
182
24
Tampa, FL
Google Pixel 5a
Ahh been looking everywhere for this so that's all it just change over the boot.img

Going to give it a try when I get home and in front of my lappy how's that gummy? 4.4
Sent from my SPH-L720 using xda app-developers app

---------- Post added at 02:08 AM ---------- Previous post was at 02:06 AM ----------

Okay see I unlocked my spr gs4 and am running T-Mobile.. Gsm soo I'm going to give this a go anyway

Sent from my SPH-L720 using xda app-developers app
 

en11gma

Senior Member
Jan 18, 2013
1,263
104
Samsung Galaxy S20 / S20+ / S20 Ultra
So thanks to OP on this thread http://xdaforums.com/showthread.php?t=2530610 for the instructions on how to get the SIM unlocking work.

I personally wanted to run pure AOSP on my GS4, but the problem is when I go AOSP, switching over to GSM works but I can't receive any phone calls. If I run stock, I can configure it to turn off roaming guard and whatnot, this is not the case for AOSP.

Therefore, here's how I get around it. WARNING: a little lengthy but it worked.

0. Backup your current Sprint AOSP now you'll need it later.
1. Download TMOBILE AOSP rom of your choice. I chose Gummy 4.4
2. Download Sprint AOSP of your choice (I'm on sprint). I chose Gummy 4.4
3. Once download completed, open the TMO zip and delete the boot.img because it contains the kernel for TMO which we don't want. Keep this window open.
I recommend NOT extracting it because you will have to reassemble later, just use a zip software that allows you to edit in place.
4. Open the Sprint AOSP, copy the boot.img over to TMO. Basically, we are replacing JUST the kernel for Sprint into TMO to make the phone boots.
5. Now we need to get rid of the assertion check for device type in the updater-script.
6. WIth TMO zip window still open, edit the file /META-INF/com/google/android/updater-script, and replace anything that said jfltetmo with jfltespr.

Code:
assert(getprop("ro.product.device") == "jfltespr" || getprop("ro.build.product") == "jfltespr" || abort("This package is for \"jfltespr\" devices; this is a \"" + getprop("ro.product.device") + "\"."););

7. Save the changes, and upload the TMO to phone and flash. Now you are running completely under TMO settings and calls can be received.
8. Setup everything you need and NANDROID backup.
9. So with this approach, I tested switching back to CDMA, and the EXACT problem happens (can't receive calls). So move on to next step.
10.To switch back and forth, you just need to boot into recovery and wipe system and replace it with the targeted system you want to be on. For instance, if I am on TMO and want to switch to SPR, I reboot into recovery, wipe current TMO /system and restore SPR /system and reboot. This whole process should take about 3 minutes.

If anyone has any better approach, please share.

where are the links to the t-mobile and sprint roms you used?
i am rooted with a custom recovery installed
do we need to be on any specific firmware to start the process?
i been going exactly through the same pain you have been
i been having to manually edit phone settings with *#0011# each time and it still isnt perfect
i mean it works ok but not like i want really.
your method is prob the most stable but is really just a work around for the real problem.
why dont our phones just read the sim cards correctly like a regular unlocked phone?

>>>>what happens if the firmware auto updates after it is installed?<<<<
 
Last edited:

vboyz103

Senior Member
Apr 9, 2006
878
141
where are the links to the t-mobile and sprint roms you used?
i am rooted with a custom recovery installed
do we need to be on any specific firmware to start the process?
i been going exactly through the same pain you have been
i been having to manually edit phone settings with *#0011# each time and it still isnt perfect
i mean it works ok but not like i want really.
your method is prob the most stable but is really just a work around for the real problem.
why dont our phones just read the sim cards correctly like a regular unlocked phone?

>>>>what happens if the firmware auto updates after it is installed?<<<<

You can choose any ROM of your choice here over at TMOBILE forum http://xdaforums.com/galaxy-s4-tmobile.
This is that kind of hoops we have to jump through because what we are doing is considered NON-STANDARD and therefore, UNSUPPORTED by carrier. That is the main reason why the carrier locked down the SIM card at first.

So for a little trouble of flashing back and forth, I think I can hang and to have an unlocked SIM like this save us $$. I'm thinking of ditching Sprint and go no-contract from here on on. This is the future of cell phones as it should be many places already done this.
 
  • Like
Reactions: endwhysee.bk

en11gma

Senior Member
Jan 18, 2013
1,263
104
Samsung Galaxy S20 / S20+ / S20 Ultra
You can choose any ROM of your choice here over at TMOBILE forum http://xdaforums.com/galaxy-s4-tmobile.
This is that kind of hoops we have to jump through because what we are doing is considered NON-STANDARD and therefore, UNSUPPORTED by carrier. That is the main reason why the carrier locked down the SIM card at first.

So for a little trouble of flashing back and forth, I think I can hang and to have an unlocked SIM like this save us $$. I'm thinking of ditching Sprint and go no-contract from here on on. This is the future of cell phones as it should be many places already done this.

you are acting like this phone the "cdma galaxy s4" is unique for wanting it to be an unlocked gsm phone.

not no more.
this is the standard

should be a distro for each phone just for this or an apk just for this

this is gonna be pretty regular to have all these radios built-in to a single chip or just a couple chips on the c/b in the phone.

hopefully some crews are working on this

i think they are in the roms that have HiAPN and MNE or MNC (i forget what it stands for) but basically it can read the iccid on the sim and read the apn and dload the prl automatically

some....alot of the roms dont have this but some do.
 

en11gma

Senior Member
Jan 18, 2013
1,263
104
Samsung Galaxy S20 / S20+ / S20 Ultra
So thanks to OP on this thread http://xdaforums.com/showthread.php?t=2530610 for the instructions on how to get the SIM unlocking work.

I personally wanted to run pure AOSP on my GS4, but the problem is when I go AOSP, switching over to GSM works but I can't receive any phone calls. If I run stock, I can configure it to turn off roaming guard and whatnot, this is not the case for AOSP.

Therefore, here's how I get around it. WARNING: a little lengthy but it worked.

0. Backup your current Sprint AOSP now you'll need it later.
1. Download TMOBILE AOSP rom of your choice. I chose Gummy 4.4
2. Download Sprint AOSP of your choice (I'm on sprint). I chose Gummy 4.4
3. Once download completed, open the TMO zip and delete the boot.img because it contains the kernel for TMO which we don't want. Keep this window open.
I recommend NOT extracting it because you will have to reassemble later, just use a zip software that allows you to edit in place.
4. Open the Sprint AOSP, copy the boot.img over to TMO. Basically, we are replacing JUST the kernel for Sprint into TMO to make the phone boots.
5. Now we need to get rid of the assertion check for device type in the updater-script.
6. WIth TMO zip window still open, edit the file /META-INF/com/google/android/updater-script, and replace anything that said jfltetmo with jfltespr.

Code:
assert(getprop("ro.product.device") == "jfltespr" || getprop("ro.build.product") == "jfltespr" || abort("This package is for \"jfltespr\" devices; this is a \"" + getprop("ro.product.device") + "\"."););

7. Save the changes, and upload the TMO to phone and flash. Now you are running completely under TMO settings and calls can be received.
8. Setup everything you need and NANDROID backup.
9. So with this approach, I tested switching back to CDMA, and the EXACT problem happens (can't receive calls). So move on to next step.
10.To switch back and forth, you just need to boot into recovery and wipe system and replace it with the targeted system you want to be on. For instance, if I am on TMO and want to switch to SPR, I reboot into recovery, wipe current TMO /system and restore SPR /system and reboot. This whole process should take about 3 minutes.

If anyone has any better approach, please share.

vboyz103

you know what
this is probably one of the most important pieces of info i have come across on the boards
yes i look the root, recovery and rom sections but this is a coool tip

i have been doing this for a few years and have never tried doing this before

can i basically try any rom i want (for tbe GS4) as long as i use the kernel made for my specific phone?
are there any dos and donts we should be aware of?

so far i have only done it with CM11nightlies for jfltespr and jfltetmo and also same for gummy as you suggested

but those are basically identical roms....can we do this with any rom for the gs4?

1 more thing. it neworing defailts to LTE and if you go look at the APN's and there are the username "none" and password has a " * " and another setting has a " * * "
all the APN's are like this for that network
do we need to fix them or is that somehow correct?
 

dragonhart6505

Senior Member
Jun 20, 2010
832
311
Reading, PA
i am super confused as to whats happening here.
you say do the *#0011# and hit numbers. heres the thing. i dont get any options. just a service menu with a bunch of stuff on it. nothing about debug screen or anything. ive unlocked many s3's and know what im looking for but its not there. on MJA or MK2. people are saying yea just flash the TMO CM and go, others are saying the sim unlock program works on MJA, others saying not to do it on that version because it doesnt work, others saying it only works on MF9...WTF CAN WE PLEASE GET A VIDEO TUT OR SOMETHING. ive been pulling my hair out for days with this thing. ive followed loads of instructions but none of it works. please give precise step by step what version you should be on, root or not, bootloader version, everything thanks
 

en11gma

Senior Member
Jan 18, 2013
1,263
104
Samsung Galaxy S20 / S20+ / S20 Ultra
i am super confused as to whats happening here.
you say do the *#0011# and hit numbers. heres the thing. i dont get any options. just a service menu with a bunch of stuff on it. nothing about debug screen or anything. ive unlocked many s3's and know what im looking for but its not there. on MJA or MK2. people are saying yea just flash the TMO CM and go, others are saying the sim unlock program works on MJA, others saying not to do it on that version because it doesnt work, others saying it only works on MF9...WTF CAN WE PLEASE GET A VIDEO TUT OR SOMETHING. ive been pulling my hair out for days with this thing. ive followed loads of instructions but none of it works. please give precise step by step what version you should be on, root or not, bootloader version, everything thanks

how about you just read the freaking first post
you can clearly tell you havent read crap

POST #1
tells you about the exact problem you are having trying to see the correct info in *#0011#
everyone who reads what you wrote about *#0011# is gonna laugh at you for demanding info and tuts when you havent even read the 1st freaking post!!!!
not in this thread but DOMESTIC UNLOCK
its always at the top in the threads in the forums....it might even be a sticky
 

dragonhart6505

Senior Member
Jun 20, 2010
832
311
Reading, PA
how about you just read the freaking first post
you can clearly tell you havent read crap

POST #1
tells you about the exact problem you are having trying to see the correct info in *#0011#
everyone who reads what you wrote about *#0011# is gonna laugh at you for demanding info and tuts when you havent even read the 1st freaking post!!!!
not in this thread but DOMESTIC UNLOCK
its always at the top in the threads in the forums....it might even be a sticky

Edit: NVM, got it working, cept i kept it on stock. thanks for the tut, its better when its clearer.
 
Last edited:

en11gma

Senior Member
Jan 18, 2013
1,263
104
Samsung Galaxy S20 / S20+ / S20 Ultra
Edit: NVM, got it working, cept i kept it on stock. thanks for the tut, its better when its clearer.

i started out thinking the thread i was in was that domestic sim unlock

there are 3 threads you really want

1st
sim unlock international (that has the unlock.exe)
2nd
domestic sim unlock (that one tells you what to do with *#0011#
3rd
this one :)

i have those 3 tabs open quite a bit

on a side note
when we install those tmobile romz they are doing something (correct) to the *#0011# area and maybe something else

we should just be able to flip flop with some simple script
shouldnt have to restore romz
but hey at least we got something
 

dragonhart6505

Senior Member
Jun 20, 2010
832
311
Reading, PA
lol
yep it is dual booting :)

do it on my linux / windows pc all the time

but the thing is...these settings are in *#9090# and a little simple script should be able to do this on the fly

Oh trust me I do as well. Can't go without my Linux lovin' ^_^ as this was a pain in the arse but now super easy, I can't wait to do it again.
<3 bein a nerd lmao

Also, OP, since I havent found one yet (and making tuts is kinda my thing) mind if I make one? With all credits where due of course
 
Last edited:

vboyz103

Senior Member
Apr 9, 2006
878
141
Oh trust me I do as well. Can't go without my Linux lovin' ^_^ as this was a pain in the arse but now super easy, I can't wait to do it again.
<3 bein a nerd lmao

Also, OP, since I havent found one yet (and making tuts is kinda my thing) mind if I make one? With all credits where due of course

Have at it man..I'm not so good it making tuts. :)
 

moomoobaabaa

Member
Apr 6, 2011
8
1
ROMs

Hi everyone,

I live in Asia, and this post was a lifesaver for me because I was pulling my hair out over why I wasn't receiving calls.

In terms of ROMs, however, I've had some issues that I wanted to ask about (I've followed the instructions above to the dot).

Here are ROMs that work (for the most part):

Cyanfox (some freezing, halo issues)

Here are ROMs that have issues:

Gummi (Won't mount my external SD card)
Omni (Won't mount my external SD card)
Cyanogenmod (Crashes, can't install apps, bunch of other problems)
AOKP (No wifi, crashes, etc.)

I currently have MJA baseband. Any thoughts? Thanks!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    ROMS tested by me:
    ***************************************
    These are the following KitKat based roms that worked really well with this approach:

    1. CM 11 Nightly
    2. PAC-MAN
    3. Slimkat Weekly

    I tried with both AT&T and T-Mobile variants, and didn't have to load Sprint specific kernel, the stock kernel came with those worked just fine. But if you get bootloops, go ahead and flash KToonz Sprint AOSP kernel.

    IMPORTANT: The listed roms above have ability to detect device type and it will set appropriate settings meaning your default network mode with be CDMA, which you don't want to do that since u r running on unlocked GSM to begin with. So I learned that you can force GSM mode upon starting up by putting these two lines into build.prop:

    telephony.lteOnGsmDevice=1
    ro.telephony.default_network=9

    *******************************************

    So thanks to OP on this thread http://xdaforums.com/showthread.php?t=2530610 for the instructions on how to get the SIM unlocking work.

    I personally wanted to run pure AOSP on my GS4, but the problem is when I go AOSP, switching over to GSM works but I can't receive any phone calls. If I run stock, I can configure it to turn off roaming guard and whatnot, this is not the case for AOSP.

    Therefore, here's how I get around it. WARNING: a little lengthy but it worked.

    0. Backup your current Sprint AOSP now you'll need it later.
    1. Download TMOBILE AOSP rom of your choice. I chose Gummy 4.4
    2. Download Sprint AOSP of your choice (I'm on sprint). I chose Gummy 4.4
    3. Once download completed, open the TMO zip and delete the boot.img because it contains the kernel for TMO which we don't want. Keep this window open.
    I recommend NOT extracting it because you will have to reassemble later, just use a zip software that allows you to edit in place.
    4. Open the Sprint AOSP, copy the boot.img over to TMO. Basically, we are replacing JUST the kernel for Sprint into TMO to make the phone boots.
    5. Now we need to get rid of the assertion check for device type in the updater-script.
    6. WIth TMO zip window still open, edit the file /META-INF/com/google/android/updater-script, and replace anything that said jfltetmo with jfltespr. UPDATE 3: If you see no "assert" lines described below in your updater-script, simply ignore this step.

    From:

    Code:
    assert(getprop("ro.product.device") == "jfltetmo" || getprop("ro.build.product") == "jfltetmo" || abort("This package is for \"jfltetmo\" devices; this is a \"" + getprop("ro.product.device") + "\"."););

    To:

    Code:
    assert(getprop("ro.product.device") == "jfltespr" || getprop("ro.build.product") == "jfltespr" || abort("This package is for \"jfltespr\" devices; this is a \"" + getprop("ro.product.device") + "\"."););

    7. Save the changes, and upload the TMO to phone and flash. Now you are running completely under TMO settings and calls can be received.
    8. Setup everything you need and NANDROID backup.
    9. So with this approach, I tested switching back to CDMA, and the EXACT problem happens (can't receive calls). So move on to next step.
    10.To switch back and forth, you just need to boot into recovery and wipe system and replace it with the targeted system you want to be on. For instance, if I am on TMO and want to switch to SPR, I reboot into recovery, wipe current TMO /system and restore SPR /system and reboot. This whole process should take about 3 minutes.

    If anyone has any better approach, please share.

    UPDATE: This approach also will solve my problem of using AOSP dialer. If I run Sprint ROM (CDMA), and switch over to GSM via Mobile Network (in Settings), then upon placing a call and hanging up will NOT hang up. The dialer on Sprint ROM will say the call has ended by it never did if you put it on speaker phone. So with this system switching, it also solves this problem.

    UPDATE 2:

    If you are in Asia using GS4, flashing Sprint S4 stock kernel will fix issues reported below:

    Gummi (Won't mount my external SD card)
    Omni (Won't mount my external SD card)
    Cyanogenmod (Crashes, can't install apps, bunch of other problems)
    AOKP (No wifi, crashes, etc.)

    Go to Page 3 to find more info. >> http://xdaforums.com/showpost.php?p=49724403&postcount=21
    4
    unified CM11

    Hi all,

    Do we know how to get this to work since CM11 now uses the same ROM for all jflte devices? I installed it straight up and am having the hang up/not receiving call error


    Update:

    After looking into the updater script I found the line of code that copies CDMA or GSM files to system. For the sprint device I made it copy the GSM files instead of the CDMA. If you are looking to do this this is all you change:

    from:
    ifelse(is_substring("L720", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp -R /system/blobs/cdma/* /system/"));

    to:
    ifelse(is_substring("L720", getprop("ro.bootloader")), run_program("/sbin/sh", "-c", "busybox cp -R /system/blobs/gsm/* /system/"));

    Hope this helps someone.

    Thanks.
    1
    where are the links to the t-mobile and sprint roms you used?
    i am rooted with a custom recovery installed
    do we need to be on any specific firmware to start the process?
    i been going exactly through the same pain you have been
    i been having to manually edit phone settings with *#0011# each time and it still isnt perfect
    i mean it works ok but not like i want really.
    your method is prob the most stable but is really just a work around for the real problem.
    why dont our phones just read the sim cards correctly like a regular unlocked phone?

    >>>>what happens if the firmware auto updates after it is installed?<<<<

    You can choose any ROM of your choice here over at TMOBILE forum http://xdaforums.com/galaxy-s4-tmobile.
    This is that kind of hoops we have to jump through because what we are doing is considered NON-STANDARD and therefore, UNSUPPORTED by carrier. That is the main reason why the carrier locked down the SIM card at first.

    So for a little trouble of flashing back and forth, I think I can hang and to have an unlocked SIM like this save us $$. I'm thinking of ditching Sprint and go no-contract from here on on. This is the future of cell phones as it should be many places already done this.
    1
    Report

    Shouldn't the Issue with not receiving of calls on gsm be reported to aosp devs, so a fix can be made for all ROMs based of it.

    I love aosp, but I use my device on sprint when I'm here, and i want to use local sim when I travel, until I noticed I wasn't receiving calls. And I was hoping the wouldn't mean I would have to flash files and such.

    I would love to report it to the devs so that I don't have to keep pasting the Sprint boot into the T-mobile version of the ROM. Pretty new to rooting and such, any suggestions as to where I might report it to?