One of the reasons I switched to T-Mobile is because of the unlimited international data plan. Although the speed is limited to 2G, it’s really taken away the stress about how to get data while travelling. I mostly use it to look up directions, message people, and call taxis, and it has been super useful in situations where there isn’t any free Wi-Fi around.

Previously, my international roaming had been working flawlessly on my Nexus 6P, except for the fact that I had to manually select the T-Mobile compatible network when I arrived into a country. I play around a lot with custom ROMs for my phone though, and I had installed a new update a week or so before I left for Panama.

When I got to Panama though, after manually selecting Digicel as my carrier, even though I got the message from T-Mobile saying my international roaming was active, I still couldn’t connect at all! I tried everything I could think of, including checking my data roaming settings, adding the APN for Digicel, restarting, but no dice.

Things that didn’t work:

  • Adding the APN for the foreign carrier. You aren’t a subscriber to that carrier, but to T-Mobile. This won’t work
  • Dialing #766# to enable international data roaming. It’s probably enabled already.

Finally I stumbled upon this post on XDA Developers that fixed my issue. Basically the issue was that my new ROM update was not properly loading the default T-Mobile APNs.

This issue is not just limited to custom ROM installations. It seems like the LG G3 and some other Android phones were also not properly set up with the right default APNs and would also have problems with T-Mobile international roaming.

Oddly, I also found that although cellular data was enabled in the US, when I went roaming in another country, the cellular data switch was turned off. I had to turn that back on as well.

Here’s step by step instructions. The exact menu names may vary based on your Android version. This was written on a Nexus 6P running Android Marshmallow 6.01:

  1. Start with the basic checks:
    1. Make sure Data roaming is on, as well as Cellular data under Data Usage. National Data Roaming is not relevant. 
    2. Try setting your preferred network mode to 3G, or in older Android versions GSM/WCDMA 

      Select 3G or 2G. Don't select LTE

      Select 3G or 2G. Don’t select LTE

    3. Make sure you’ve registered onto a network and are getting signal. I don’t believe you can register onto networks that T-Mobile is not compatible with.
  2. Go to Settings -> More 
  3. Select Cellular Networks 
  4. Select Access Point Names 
  5. Add a new APN. There is usually a + button in the corner
    Add a new APN

    Add a new APN

    Put in the following details and leave everything else the default

    Name: Roaming APN (or whatever you want)
    APN: epc.tmobile.com (no dash)
    MMSC: http://mms.msg.eng.tmobile.com/mms/wapenc
    APN Type: default,supl,mms
    APN Protocol: IPV4

    Save your new APN

    Save your new APN

  6. Select the new APN and wait a few seconds.
  7. Success (hopefully?)! You should see the network signal indicate H+ or R. Go browse!

Hopefully this saves someone some frustration when travelling!