[Project-Fi] Fi dialer codes to force carrier switching

Search This thread

maejrep

Senior Member
Jun 25, 2007
248
69
A lot of people in the Project Fi G+ community (for now, only accessible if you are already a Project Fi member) have mentioned having issues with Project Fi not automatically switching between Sprint and T-Mobile, or making a poor determination of which network is the optimal network. For example, at home I know that I have good Sprint LTE service; yet for some reason Project Fi will often have me locked in to T-Mobile, giving me access only to sub-par HSPA speeds.

I ended up flashing the LVY47H image, which is the version that ships on the Nexus 6 if you bought it directly from Project Fi, and I think that helped some of my issues. I finally did see it lock in to a Sprint LTE "geofence" after about 30+ minutes of it switching back and forth. But others may not be so lucky.

Anyway, after some digging around in the Project FI app (Tycho), I came across these phone dialer codes (aka "secret codes"), which can be used to influence which network Project Fi jumps to:

DISCLAIMER: Use these codes at your own risk! I don't know if there are any side effects to these. I am not responsible for any disruption if it any of these break your Project Fi connection!

These are standard dialer codes, so to use them you just open up your (stock) dialer app and type the code. You should not actually hit the call button as if you are actually going to dial the number!

  • Force jump to Sprint:
    Code:
    *#*#34777#*#*
    34777 = FI SPR​
  • Force jump to T-Mobile:
    Code:
    *#*#34866#*#*
    34866 = FI TMO​
  • Force jump to the next carrier:
    Code:
    *#*#346398#*#*
    346398 = FI NEXT​
  • Re-enable automatic carrier switching:
    Code:
    *#*#342886#*#*
    342886 = FI AUTO
    NOTE: I don't know for sure, but I think you might have to do this code to reactivate the automatic network switching after using one of the above to force it to jump to a different carrier!​
  • Attempt to perform an automated "repair":
    Code:
    *#*#34963#*#*
    34963 = FI XME (or if you prefer, FIX ME :p)
    I'm not yet exactly sure what this does to repair anything, but it throws up a dialog that says "Updating..." and adds a notification to the shade that says "Configuring your cellular network...". Presumably this is similar to clearing data in the Project Fi app and re-activating.​
  • Get information about the current network:
    Code:
    *#*#344636#*#*
    344636 = FI INFO
    The info in here isn't really all that useful. You can get better/more interesting info elsewhere.​
 

rhahenderson

Member
Jun 11, 2015
7
1
San Francisco
Thanks for posting this. Where did you find the LMY47H Factory Image? I originally had LMY47D and then flashed to LMY47Z and am now having lots of trouble with network speed and getting caught on 3G. This shouldn't be happening where I am (SF Bay Area). Thanks!
 

maejrep

Senior Member
Jun 25, 2007
248
69
Thanks for posting this. Where did you find the LMY47H Factory Image? I originally had LMY47D and then flashed to LMY47Z and am now having lots of trouble with network speed and getting caught on 3G. This shouldn't be happening where I am (SF Bay Area). Thanks!

It's LVY47H. It originally only came shipped on Project-Fi-purchased N6's, but it can be downloaded from the "Nexus 6 Recovery Flashable Fastboot Files (Unlocked Bootloader Only)" thread.
 

rhahenderson

Member
Jun 11, 2015
7
1
San Francisco
It's LVY47H. It originally only came shipped on Project-Fi-purchased N6's, but it can be downloaded from the "Nexus 6 Recovery Flashable Fastboot Files (Unlocked Bootloader Only)" thread.

Thanks! I flashed the LVY47H build to my phone (downgraded from LMY47Z) just now because I have been receiving dreadful download speeds on both T-Mobile and Sprint (Sprint is slightly better) in downtown San Francisco. I've used the codes you posted to try fixing Fi and switching carriers, but T-Mobile is still getting awful 0.03mbps DL speeds. Any other suggestions? Was hoping the Project Fi build would fix things.
 

maejrep

Senior Member
Jun 25, 2007
248
69
Thanks! I flashed the LVY47H build to my phone (downgraded from LMY47Z) just now because I have been receiving dreadful download speeds on both T-Mobile and Sprint (Sprint is slightly better) in downtown San Francisco. I've used the codes you posted to try fixing Fi and switching carriers, but T-Mobile is still getting awful 0.03mbps DL speeds. Any other suggestions? Was hoping the Project Fi build would fix things.

If you're getting bad service on both T-Mobile and Sprint, then these codes wouldn't likely help that. The main reason for knowing these would be if you know that T-Mobile is 10x better than Sprint in your area, but Fi is still choosing Sprint for some reason -- then you can force it to switch to T-Mobile (as an example).

I'd suggest you watch your device's logcat while you do some of these, and filter on the "Tycho" log tag:
Code:
adb logcat -v time Tycho
The Project Fi app dumps some pretty interesting information to logcat as it goes through network changes.

Did you try the FIXME code? That kind of tries to go through some kind of subset of activation again, and it might fix something that got messed up.

Also, when you installed the H build, did you factory reset (wipe data)? If not, try clearing data in the Project Fi app (settings > apps > Project Fi > Clear Data), and then reboot. It should try to go through activation again (should be super quick this time), and that might reset something that got messed up.

If that still doesn't work, you could try to do a factory reset. With the H build, the Project Fi activation is part of the factory reset onboarding flow, so that may help.

If that still doesn't help ... ¯\_(ツ)_/¯
 
  • Like
Reactions: lbossom

rhahenderson

Member
Jun 11, 2015
7
1
San Francisco
If you're getting bad service on both T-Mobile and Sprint, then these codes wouldn't likely help that. The main reason for knowing these would be if you know that T-Mobile is 10x better than Sprint in your area, but Fi is still choosing Sprint for some reason -- then you can force it to switch to T-Mobile (as an example).

I'd suggest you watch your device's logcat while you do some of these, and filter on the "Tycho" log tag:
Code:
adb logcat -v time Tycho
The Project Fi app dumps some pretty interesting information to logcat as it goes through network changes.

Did you try the FIXME code? That kind of tries to go through some kind of subset of activation again, and it might fix something that got messed up.

Also, when you installed the H build, did you factory reset (wipe data)? If not, try clearing data in the Project Fi app (settings > apps > Project Fi > Clear Data), and then reboot. It should try to go through activation again (should be super quick this time), and that might reset something that got messed up.

If that still doesn't work, you could try to do a factory reset. With the H build, the Project Fi activation is part of the factory reset onboarding flow, so that may help.

If that still doesn't help ... ¯\_(ツ)_/¯

Sweet, I'll try looking at the logs. Are you the one in the G+ community who posted that long message about Tycho logs?
 

rhahenderson

Member
Jun 11, 2015
7
1
San Francisco

Awesome, thanks for this. I ran through the activation again after clearing app data and rebooting. Interestingly these two logs happened (not concurrently, but one after the other):

06-11 16:07:12.003 I/Tycho (13368): [1501] c.a: Switch done. result:Success errorMsg: requester:EnabledProfiles pluginSwitchCause:0 srcNetwork:T-Mobile LTE destNetwork:Sprint LTE srcSignalStrength:-102 destSignalStrength:-87 currentTimeStamp:11Jun-16:07:12 startTimeElapsedMillis:328153 voiceAtachedTimeElapsedMillis:350173 dataAttachedTimeElapsedMillis:350173

06-11 16:08:02.962 I/Tycho (13368): [1530] c.a: Switch done. result:Success errorMsg: requester:EnabledProfiles pluginSwitchCause:0 srcNetwork:Sprint LTE destNetwork:T-Mobile LTE srcSignalStrength:-91 destSignalStrength:-102 currentTimeStamp:11Jun-16:08:02 startTimeElapsedMillis:375267 voiceAtachedTimeElapsedMillis:401133 dataAttachedTimeElapsedMillis:386586

Correct me if I'm wrong, but it originally switched to Sprint because it had a faster signal strength (-87) from T-Mobile (-102). But then later switched back to T-Mobile even though T-Mobile was still at -102 and Sprint was at -91. I am assuming that the lower negative number is a higher signal strength.

Is this similar to what you've been experiencing?

I can manually switch back to Sprint given the codes you provided, however, Sprint's (faster) connection is still only getting me 1-2mbps. Extremely subpar for LTE. Not sure what to do. Fi support doesn't know what to do, wish I could talk to a Fi engineer.

---------- Post added at 12:22 AM ---------- Previous post was at 12:17 AM ----------

Just got this log:

Code:
06-11 16:19:00.491 I/Tycho   (13368): [1538] c.a: Already on preferred network (310260([nMvLJSajLaqzQr8iujifQdNmIe0])); recommending STAY

Do you think T-Mobile is marked as a preferred carrier even if speeds are slower?
 
  • Like
Reactions: sgtduckyboy

maejrep

Senior Member
Jun 25, 2007
248
69
It definitely doesn't gauge only by speed (probably not even speed at all, since that would require downloading something and that would cost you data). The initial connection hopping is just to get more data before making a decision. It bounces between them multiple times before locking in.
 

rhahenderson

Member
Jun 11, 2015
7
1
San Francisco
It definitely doesn't gauge only by speed (probably not even speed at all, since that would require downloading something and that would cost you data). The initial connection hopping is just to get more data before making a decision. It bounces between them multiple times before locking in.

Good point. Looks like the 342886 FI AUTO doesn't actually work. I get the Android alert that it has switched, but then in the log about a minute later I get this:

Code:
06-11 16:41:10.648 I/Tycho   (13368): [1581] c.a: Plugin is locked for another 2:54:03.984
06-11 16:41:14.117 I/Tycho   (13368): [1] ServiceStateReceiver.onReceive: Ignoring duplicate service state event: In service.

It seems when you manually switch carriers it locks the auto-switching for 3 hours.
 

maejrep

Senior Member
Jun 25, 2007
248
69
All FI AUTO seems to do is reenable auto switching. If it was already locked, then it won't do anything right then. But it'll be eligible for switching after the lock expires. If you don't run FI AUTO, I believe it won't try to auto switch even after the lock expires.

That's all conjecture though, obviously, since they don't explain these details publicly :p
 

rhahenderson

Member
Jun 11, 2015
7
1
San Francisco
All FI AUTO seems to do is reenable auto switching. If it was already locked, then it won't do anything right then. But it'll be eligible for switching after the lock expires. If you don't run FI AUTO, I believe it won't try to auto switch even after the lock expires.

That's all conjecture though, obviously, since they don't explain these details publicly :p

Hey, quick question. My service still sucks. I'd like to factory reset my device and unroot/relock the bootloader with the Project Fi H build so the device will be like it would if I would have ordered it through Project Fi (I didn't, so it's my last guess as to why I'm having issues before determining that service somehow just sucks in the Bay Area).

How would you go about doing this? I have a Mac, so I can't use Nexus Root Toolkit natively, but apparently can do it through a VM (I have Parallels). Do you know if this will wipe/reset/unroot/relock my device into the Fi H build or not? What route would you take?
 

maejrep

Senior Member
Jun 25, 2007
248
69
As far as I can tell, you're most of the way there. If you flash the image mentioned in the other thread, wipe data, and flash recovery back to stock, that's it... I don't think anyone would be able to tell the difference, other than the bootloader being unlocked.
 

donslice

New member
Thanks for providing these. I've been having issues receiving calls. Everything else works no issue. I tried the repair code. When inputting that code, the screen says "Updating" for a moment, then "Update successful" and the mobile signal icon goes "hollow" and then a moment later (15-20 seconds?), the icon fills in again. If I place a test call in the time that the icon is hollow, the call will go through with no issue. If I place a call after the mobile signal icon fills in, the call will NOT go through. I have tested this repeatedly from an AT&T line and a landline and it works each and every time.

This is super strange. I've forwarded that to Fi support on my ongoing case. Hopefully it will help some.
 

norwoodesteel

Senior Member
Aug 13, 2011
287
68
Hey, quick question. My service still sucks. I'd like to factory reset my device and unroot/relock the bootloader with the Project Fi H build so the device will be like it would if I would have ordered it through Project Fi (I didn't, so it's my last guess as to why I'm having issues before determining that service somehow just sucks in the Bay Area).

How would you go about doing this? I have a Mac, so I can't use Nexus Root Toolkit natively, but apparently can do it through a VM (I have Parallels). Do you know if this will wipe/reset/unroot/relock my device into the Fi H build or not? What route would you take?
factory reset gave stock unrooted H [in settings]
 

GeneticJim

Senior Member
Jan 2, 2011
256
75
I just wish project Fi would release the factory rom they use on their n6s. They stated it was the same but with minor tweaks for project Fi
 

Top Liked Posts

  • There are no posts matching your filters.
  • 51
    A lot of people in the Project Fi G+ community (for now, only accessible if you are already a Project Fi member) have mentioned having issues with Project Fi not automatically switching between Sprint and T-Mobile, or making a poor determination of which network is the optimal network. For example, at home I know that I have good Sprint LTE service; yet for some reason Project Fi will often have me locked in to T-Mobile, giving me access only to sub-par HSPA speeds.

    I ended up flashing the LVY47H image, which is the version that ships on the Nexus 6 if you bought it directly from Project Fi, and I think that helped some of my issues. I finally did see it lock in to a Sprint LTE "geofence" after about 30+ minutes of it switching back and forth. But others may not be so lucky.

    Anyway, after some digging around in the Project FI app (Tycho), I came across these phone dialer codes (aka "secret codes"), which can be used to influence which network Project Fi jumps to:

    DISCLAIMER: Use these codes at your own risk! I don't know if there are any side effects to these. I am not responsible for any disruption if it any of these break your Project Fi connection!

    These are standard dialer codes, so to use them you just open up your (stock) dialer app and type the code. You should not actually hit the call button as if you are actually going to dial the number!

    • Force jump to Sprint:
      Code:
      *#*#34777#*#*
      34777 = FI SPR​
    • Force jump to T-Mobile:
      Code:
      *#*#34866#*#*
      34866 = FI TMO​
    • Force jump to the next carrier:
      Code:
      *#*#346398#*#*
      346398 = FI NEXT​
    • Re-enable automatic carrier switching:
      Code:
      *#*#342886#*#*
      342886 = FI AUTO
      NOTE: I don't know for sure, but I think you might have to do this code to reactivate the automatic network switching after using one of the above to force it to jump to a different carrier!​
    • Attempt to perform an automated "repair":
      Code:
      *#*#34963#*#*
      34963 = FI XME (or if you prefer, FIX ME :p)
      I'm not yet exactly sure what this does to repair anything, but it throws up a dialog that says "Updating..." and adds a notification to the shade that says "Configuring your cellular network...". Presumably this is similar to clearing data in the Project Fi app and re-activating.​
    • Get information about the current network:
      Code:
      *#*#344636#*#*
      344636 = FI INFO
      The info in here isn't really all that useful. You can get better/more interesting info elsewhere.​
    2
    Ive been on Fi for 3 months. I don't use the force codes. It seems over time the phone gets better at picking the best service for me.

    Sent from my Nexus 6 using Tapatalk
    2
    Thanks.... Um.. I have a feeling there is a lot of necessary thing I need to know which I dont know. How do I unzip a .tgz image file?

    I would suggest that you pause your efforts and start reading, and asking questions on the following three threads. You will benefit greatly in the long run, from a little time spent understanding what you are doing, now.

    Good luck.

    http://forum.xda-developers.com/nexus-6/general/how-to-nexus-6-one-beginners-guide-t2948481

    http://forum.xda-developers.com/nexus-6/general/noob-read-adb-fastboot-how-help-t3006500

    http://forum.xda-developers.com/nexus-6/general/guide-flash-factory-images-nexus-6shamu-t2954008
    2
    I just wish project Fi would release the factory rom they use on their n6s. They stated it was the same but with minor tweaks for project Fi

    I installed the Fi ROM (LVY47H) from http://forum.xda-developers.com/nexus-6/development/fxz-nexus-6-recovery-flashable-fastboot-t3066052. Has been working great for me.

    The main tweak between this and any others is that the Project Fi app is part of the system on this (so it can't be uninstalled, and it starts the Fi activation as part of the onboarding when it's first turned on or after a factory reset)

    But yes, I agree it's lame that they still haven't released the image directly on https://developers.google.com/android/nexus/images :/
    2
    Question for you. I've been on Fi for just a couple of days. Switching between TMO and SPR seems pretty slow. And sometimes it hangs on 3G, when LTE is available. "Airplane mode" on/off solves that issue.
    Just because it switches from one carrier to the other does not mean it has been "locked in" to that carrier, or that it has determined that carrier is the best option at the time. It cannot determine signal quality for a carrier without first switching to it. So it's possible that in the very beginning, it might switch back and forth to an incredibly abysmal carrier, before it determines that it should keep the "other" carrier locked in. Don't get too concerned if you see it on a bad network -- until it is "locked in", all it is doing is testing the waters, so to speak.

    If you're interested in seeing exactly what Project Fi is doing, you can check adb logs for the Tycho app. It will show when it switches from one network to the other, and will also indicate when it has determined the "better network". It's a long post, but take a look at https://plus.google.com/u/1/+JoeHansche/posts/FpSc9T4jbCn which shows some of the log excerpts you can expect.

    How long does it generally take to learn your area and habits?
    It may take 30-60 minutes to fully vet each network in your area and actually "lock in" the best one at that time (for ~3 hours IIRC). After that time expires, or if you go outside of the geofence radius for that locked carrier, it will try to make a new determination for the new time/location. When it is not locked in to a carrier, it has the potential to bounce back and forth between them (and may take another 30+ minutes to once again settle on the best network). But it does keep track of those decisions it has made in the past, and my experience has been that after a week or so, it will start giving the known-better network in that area way higher preference.

    All of that is just conjecture based on experience. Nothing "official"