Wednesday, January 25, 2017

HTC 10 Won't Connect to T-Mobile International Data Roaming

I bought an unlocked HTC 10 through a 3rd party vendor and have enjoyed the phone. I use T-Mobile service because of their great value and their free 2G international data roaming. Unfortunately, I ran into trouble connecting to cellular data the first time I traveled outside the USA with my new phone.

After arriving in Hong Kong, I received the helpful T-Mobile text message telling me I had data roaming available:

"Welcome to Hong Kong! Your T-Mobile plan gives you unlimited data at 2G speeds, calls at 20 cents/min and free texts."

Text messages and phone calls were working, but cellular data refused to connect.

Troubleshooting steps I tried:
  • Confirmed data roaming is on
  • Put phone in airplane mode for 1 minute
  • Restarted phone
  • Tried manually connecting to every carrier. Only the automatically selected one worked
  • Enabled roaming via USSD code: #766#
  • Tried manually specifying each network type (2G, 2G/3G, 2G/3G/4G)
  • Tried my T-Mobile SIM in a different phone (worked)
  • Tried a local SIM from the roaming carrier (Hutchinson 3) in my phone (worked)
  • Tried a different T-Mobile SIM, that I know works, in my phone (didn't work)
  • Asked T-Mobile if there was any block on my number for international roaming (nope)
Much of this was suggested by the very helpful T-Mobile support team and though we whittled down the problem to something specific with my phone, they never determined the exact issue. Finally, HTC customer support suggested I check my APN settings. Sure enough, they were different between my 2nd working phone and my HTC 10.

There's a known issue with the LG G3 phone not having and not automatically downloading the correct APN settings to allow T-Mobile international roaming to work. Apparently, this is also true with my HTC 10 phone, though no amount of Googling mentions it.

I believe the HTC 10 is supposed to read its APN settings from the SIM card, but instead, when a new SIM card is inserted, it prompts the user for the carrier associated with this SIM. From this user selection it populates the APNs. It appears, this hard coded list is outdated, even after an update to Android 7.0.

With the problem finally understood, several sites mention how to manually enter an APN which enables roaming. The steps are:
  1. Open Settings > Mobile Data > Access point names
  2. Copy down the settings of the currently selected Access Point
  3. Create a new Access Point with:
    1. Name = RoamingAPN
      • This can be any name
    2. APN =
    3. APN protocol = IPv4
    4. All other settings the same as the currently selected APN
  4. Save (with the triple dot menu)
  5. Select the new "RoamingAPN"
My HTC 10 connected within 15 seconds and displayed the H icon in the notification tray.  Though, you may need to reboot after making this change.

This worked for me and hopefully will help other HTC 10 owners.


Saturday, January 14, 2017

Sense Home Energy Monitor App Won't Connect

I'm very excited to learn about my personal electricity usage with my Sense Home Energy Monitor, now that it's working, but installation did not go smoothly.

The Story

I physically installed the device in my electric panel as described in the install guide:
  1. Connect the WiFi antenna external to the box
  2. Plug in the black and red wires to a 20A, 240V breaker
  3. Clip the two current sensors around my mains  
I turned on the breaker, got a happy little chime from the orange box after about 20 seconds, and saw an internal light blinking. Easy.

Unfortunately, using the app to make an initial connection is where the frustration began.

The short story is that the device refused to connect to my WiFi router, until after it upgraded its software version, which it does over the WiFi connection... Catch 22.  But figuring out this problem was painful, due to a highly simplified phone app, almost no other physical interface on the device, and very slow tech support.

First try, Android app continually fails at "Verifying Install":

Second try, iPad app continually fails at "Registering":

Both apps after failing in two different spots, with no helpful error messages, gave a page that says "Try Again".

I tried this about 15 times, power cycling the device each time, until finally it worked from the iPad.  I made no changes of any kind between the failures, except trying again. So it's still a mystery why the 15th time WiFi connected. I was able to create a log in, get the app past initialization, and then I'm given this:

The device is "Offline".

So it managed to join my WiFi network, but can't send any packets (which I confirmed from the router). More power cycling, and switching to 2 different WiFi networks, and still offline. Thankfully, a friend also has a working Sense, showed me his app, and we noticed that my device software version was older than his.

Mine: 1.0.1277-be639d4-master
His:    1.1.1353-d08ad0f-master

So guessing/hoping that "fixed in the next version" was true, I turned on tethering on my phone, and tried connecting the device to it from my iPad. This worked and he device got online. Then I left my phone sitting next to my electrical panel, checking back periodically, if it had auto-updated itself. There is no "Update Software" option in the app.  After 24 hours and 82MB of data, my device now showed version 1.1.135.  Switching back to my normal WiFi network... it still didn't work! But remembering the first rule of Windows tech support, I turned it off then back on again, and hallelujah it showed "Online" and connected to my home network.

So after 4 days of troubleshooting, my Sense is now happily measuring and learning my energy usage.  We'll see what insights it comes up with over the next few weeks.


If you're having a problem getting your Sense to initially register, or after registration connect to your WiFi network, here are some tips:
  1. Try setup with both the Android and iOS app.  Though they look the same, they obviously work a little differently with the iOS app being more mature it appears.
  2. Set up a separate WiFi network, with a different physical router. Tethering my phone worked best for me. The device likes some WiFi access points and not others. 
  3. Once connected to a temporary WiFi network, leave the device alone for 24 hours to download updates. There is no way to force an update, you just have to wait.
  4. After software update, turn it off and back on, and reconnect to your original home network.

Closing Thoughts

I contacted Sense customer support while having this issue and while they were very courteous and helpful with basic debugging steps, they were not very responsive. Support is only available over email, no phone, and it took 48 hours for my ticket to even be answered initially. I'm guessing the small team is overwhelmed with recent publicity.

Here's the start of my feature request list for the device:
  • Better/any error information in the app when something fails. "Can't connect to WiFi" would've been a lot more helpful than "Try Again".
  • There's no "Upgrade Now" button in the app. Having one would've saved me 24 hours.
  • There's no hard reset, or even factory reset option in the software. Having this *may* have helped when switching from Android to iOS setup.