How to fix data tethering on Android KitKat devices (For Tbaytel / ANY Wireless Co.)
There is a big conspiracy with Android phones which secretly blocks tethering functionality from your phone. If you create a wifi hotspot, your computer will be able to connect to it, but if you try to load any pages on the internet, you'll get the error message "Not connected to the network" or something like that. (No upsell page -- just innocuous error message).
If you can't get data tethering to work, the problem is most likely NOT your APN settings, and also not anything that you might have done or configured wrong! It likely also has nothing to do with your wireless provider, unless they offer tethering plans and explicitly block tethering, and so they probably can't help you. (Even if they do explicitly block tethering, for example if you have an unlimited data plan with only limited or no tethering data, the following should still work -- but I don't condone doing this in that case).
This had been driving me nuts because I no longer have internet at home. There IS a fix, and it doesn't require rooting your phone. Spent hours trying to get help at a Tbaytel location. Their response is always that they don't block tethering. Other carriers explicitly tell you when you try to tether (with an upsell page) that you have to pay extra to tether. Tbaytel does not, and their official policy is that tethering is allowed for no extra charge and not blocked.
Well like I said they don't have to block it because Google did the dirty work for them. All KitKat versions of Android block tethering natively. I have a Nexus 4. When I tried tethering with my SIM card in a iPhone, it worked perfectly. This is due to a hidden setting inside your phone's Android software, called "tether_dun_required", where it's set to 1 instead of 0. (0 makes tethering enabled). Normally you can't change this value without rooting your phone, but the following method will allow you to change it.
Anyway here are the steps to fix it: (NOTE: You do NOT have to root your phone for this method - so you do not void your warranty or risk bricking your phone)
1. Download Android SDK (Developer Toolkit) (~480mb) for your computer. You will need to have your phone connected to a computer via USB for this fix. You can download just the "Android Platform Tools" from unofficial sources, (which are only a few MB, if bandwidth is scarce), but I didn't try. You only need the Developer Toolkit for the Platform Tools it comes bundled with. Download here: http://developer.android.com/sdk/index.html
2. Download the USB drivers for your phone - even if your phone is already installed on your PC and working fine. For Google Nexus phones (and links for other phones): http://developer.android.com/sdk/win-usb.html. Extract the drivers to a temporary folder (eg. Desktop) with a program like WinRAR.
2a. Uninstall your phone's old USB drivers via Device Manager (right click My Computer -> Properties -> Device Manager). To do this, find and Right-Click your device in the list in Device Manager, and select Properties -> Driver -> Uninstall).
2b. Install the new USB drivers you downloaded by right-clicking your phone in device manager and clicking Properties -> Driver -> Update Driver. Choose "browse my computer..", NOT "search automatically..". Specify the extracted location of the drivers you downloaded (eg. Desktop).
NOTE: If you have to disconnect/reconnect your phone's USB, it will probably automatically reinstall the old drivers, so you may have to repeat steps 2a-2b. Once the hack is applied (step 9-10) the old drivers are fine.
3. Enable "Developer Options" on your phone. To do this, go into settings, and tap "About Phone" 7 times.
4. Go into Developer Options (in Settings) and enable USB debugging.
5. On your computer, extract the Android Developer Toolkit (from step 1), with a program like WinRAR, into a temporary folder. Locate the folder "Platform Tools" within the "sdk" folder. (It should contain adb.exe). Copy the "Platform Tools" folder to your C: drive. Rename the folder "Platform Tools" to "pt" so that it's easier to work with. (should be in C:\pt)
6. Start -> All Programs -> Accessories -> Command Prompt
7. Type "cd.." and press Enter. Repeat this step 2 more times.
8. Type "cd\pt" and press Enter
9. Copy the following into the Command Prompt: "adb shell content insert --uri content://settings/global --bind name:s:tether_dun_required --bind value:i:0" and press Enter.
If there's a prompt on your phone asking you to allow access, or something, click yes and copy the text again.
There won't be any confirmation dialog, but it shouldn't have any error messages. If it doesn't work, try Steps 2a-2b again - make sure the old usb drivers are deleted first.
10. To verify it worked, type: " adb shell content query --uri content://settings/global --where "name='tether_dun_required' AND value=0" "
Note: the spacing is just so you don't forget the last " (quotation mark). Don't include the spaces.
If it worked, then it will say that "tether_dun_required" has a value of 0.
11. In your phone, go to Settings -> Mobile Networks -> Access Point Names. Click on the entry that is selected (eg. Rogers LTE). Change "APN Protocol" and "APN roaming protocol" to "IPv4" --- change anything that says IPv6 to just IPv4.
12. Turn your phone off and then on again. You can now disable USB debugging and Developer Options if you want.
13. If you want to tether your phone's data internet connection for use on a computer, you must download a "User Agent Switcher" web browser extension plugin on your computer, to successfully use the tethered data. Otherwise your phone detects that it's a computer using the data and it blocks it (not permanently). The phone companies for whatever reason don't try to block tethered data between mobile devices (eg. from Nexus to iPad), and they also don't seem to bother with old browsers or Apple devices (conspiracy!). I'm using "Ultimate User Agent Switcher" for Google Chrome. In your user agent switcher, set the user agent to Safari 5.0.4, or Internet Explorer 9, or you may want to experiment to find one that displays webpages the best for you.
Step 13 may appear not to be necessary, but once you use 100mb of tethered data, tethering may stop working, unless you have done step 13.
DONE!!!!! Let me know if you need some clarification since I wrote this very quickly and from memory. The procedure is quicker/easier than it sounds, honest. But to think, that on the iphone, tethering works without having to do any of this... it could make a person angry! I personally think that having to do all of this is ridiculous, just to allow me to use what I paid for, which should have worked out of the box, and which I had no way of knowing wouldn't work. Considering that 95% of customers wouldn't/couldn't take these steps to fix it, these business practices are very dishonest.
https://docs.google.com/document/d/1Wso ... Iuqs/edit# (The bottom part where it says UPDATE)
http://forum.xda-developers.com/showthr ... 74&page=39
http://forum.xda-developers.com/showthr ... p=48740094
Any other sources I've neglected, I apologize. I got all this info from Googling, but the info I found was so scattered and incoherent at times I thought it would be nice to put it all into one place.
Edit: repost from http://forums.redflagdeals.com/how-fix- ... o-1436409/