How To Bypass T-Mobile’s Mobile HotSpot Filter

August 15th, 2014

If you are a T-Mobile customer and tether your internet connection from your phone, you might have encountered this annoying screen:

Now this is a ridiculous effort by T-Mobile to charge you twice for using the data plan that you already paid for. I call it a ridiculous effort because they have no sure way of detecting whether an internet request comes from your phone or from a device connected to it, and this is clearly a way to milk more money out of non-technical users. A more in-depth explanation is available here.

T-Mobile has two ways of detecting whether you are currently using a tethered device. One is by redirecting the tethered traffic to a secondary network interface, which in turn marks the traffic as tethered, a behavior that can be eliminated by following these steps. These steps will work for Android phones, not sure what the procedure would be for an iPhone or Windows Phones. You will probably have to jailbreak it.

  1. Enable developer mode (Settings -> About phone, click on the build number until the mode is enabled).
  2. Enable USB debugging from Settings -> Developer options.
  3. Connect the device via USB to a computer with the Android SDK platform tools installed.
  4. Start an adb shell. From the command line type: adb shell
  5. From the adb shell, type: settings put global tether_dun_required 0

The second way is to look at the User Agent string that is sent voluntarily by web browsers with each HTTP request. T-Mobile snoops your traffic for this information and if it detects that the string contains any reference to a non-mobile browser, it stops the request and sends a redirect command instead. So if you can make your laptop’s web browser User Agent string to look like your phone’s web browser’s User Agent string, you can bypass this filter.

  1. From your phone, open this page:
  2. Note the string that appears at the top. It looks something like this: Mozilla/5.0 (Linux; Android 4.4.4; GT-I8190 Build/KTU84P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.39 Mobile Safari/537.36
  3. Find an extension or change the settings of your browser to override the User Agent string. For Chrome this extension seems to work well.
  4. Test that your new User Agent string is being sent properly by vising from your laptop.

Voilà! If everything is working, you should now be able to bypass the dreaded mobile hotspot filter page.



  1. My question would be… Do you need to do both of these at the same time?

    Comment by Eric Selle — September 15, 2014 @ 10:58 pm
  2. Try to do the User-Agent switch first. That alone might be sufficient.

    Comment by pierotofy — September 15, 2014 @ 10:58 pm
  3. Thanks! My Nexus 5 is rooted, and I’ve already changed the .db tethering value to 0. The sources I’ve looked at seem to indicate that that should do the trick, but I was just wondering if T-Mo had other ways of detecting.

    Comment by Eric Selle — September 15, 2014 @ 11:05 pm
  4. I have unlimited data but with a 5GB tethering cap. Can this be done AFTER I hit my 5GB cap to restore access?

    Comment by Mewmew — March 6, 2015 @ 11:39 pm
  5. After you hit your cap you actually don’t need this anymore; T-mobile will let you tether at low speeds without filtering.

    Comment by Piero Toffanin — March 6, 2015 @ 11:42 pm
  6. I didn’t know that, thanks. Do you know if this is the case for international data using T-Mobile’s ‘Simple Choice’ plan which allows for unlimited data and text while in certain countries overseas?

    Comment by Mewmew — March 6, 2015 @ 11:44 pm
  7. Not sure about overseas; never tried it.

    Comment by Piero Toffanin — March 6, 2015 @ 11:48 pm
  8. Still, good info. Thanks

    Comment by Mewmew — March 6, 2015 @ 11:51 pm
  9. Hey, I tried to find tutorials, etc, on how to open an adb shell but for the life of me I can’t do it. I like to think I’m at least a bit tech savvy, and have just finished my first year of Comp Sci in college. However I can’t find resources, even after painfully trying for god knows how long.

    Help? 😛

    Comment by HueHue — May 4, 2015 @ 11:15 am
  10. Did you install the Android SDK?

    Comment by Piero Toffanin — May 5, 2015 @ 4:04 am
  11. to bypass the hotspot limit on most any hotspot use rich hathaway from cdmagurus can do it remotely and sticks thru reboot and reset

    Comment by rich hathaway — September 3, 2020 @ 4:16 pm

RSS feed for comments on this post. TrackBack URI

Sorry, the comment form is closed at this time.