• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[GUIDE] How To Unlock Tethering on Nexus 5X.

Search This thread

DualSportDad

Senior Member
Apr 29, 2010
722
80
Cape Coral, Fl.
So is there currently no working wifi tether unlock on T-mobile and Metro? I can confirm nothing in this thread works on Metro as of today :( Seems to have been that way for a while.

As far as I can tell, T-Mobile has successfully thwarted ALL wifi tether limit workarounds. Even Fabio Grasso's WiFi Tether Router root app doesn't get past it. Really upsetting, especially to be on a Nexus and not have uncapped tethering. That's one of the main reasons I got a Nexus.

So.... does anyone have any ideas? Maybe I should create a Bounty thread. Would be worth paying to have a clever or new solution with potential to work long-term, IMO. Really don't wanna have to go back to wired tethering :eek:

I suspect the reason they have gone all-out on this is because T-Mobile actually sells unlimited wifi hotspot now, the premium T-Mobile One plan. It's $95 a month though, before device payments. That's a bit steep for me.
I would gladly throw in on a bounty. I have tried everything I know of with T-Mobile and they catch my tethering. I'd pay the $95 if tethering wasn't capped at 3g speeds. I might switch to at&t or cricket to get my tethering back but I'm afraid it's only a matter of time with them as well.

Sent from my Nexus 5X using Tapatalk
 

wpbear

Senior Member
Nov 27, 2006
1,750
78
Columbus, GA
How to know if T-Mobile knows you are tethering vs not?

Im on latest PN and tether seems to work ok on T-Mobile for me.

My plan is the 4 lines for $120 w/10GB LTE data (temp free upgraded to unlim LTE)
 
Last edited:

wpbear

Senior Member
Nov 27, 2006
1,750
78
Columbus, GA
Yes you're right it's counting. Does PN already have entered settings put global tether_dun_required 0 ? I verified the build.prop is correct but don't know where to verify global......
 

mgbelisle

Member
Dec 16, 2016
8
1
New York City

garrettc134

Member
Dec 17, 2015
6
0

jbarcus81

Senior Member
Jul 30, 2010
3,001
613
Marietta, OH
Seems I'm having issues? I follow the guide and with the command adb shell settings put global tether_dun_required 0 ... it seems to do nothing? My Command window just sits there...

Got it.. had to install a command app on the phone and the command worked...
 
Last edited:

derakht

New member
Jun 26, 2013
2
0
Same Problem.. Does anyone have a solution?

The steps outlined dont seem to be working on the latest 6.0.1 image.
I unlocked bootloader,
flashed twrp,
mounted /system,
ran the commands,
The last command - "adb shell settings put global tether_dun_required 0" failed with the following
Error while accessing settings provider
java.lang.NullPointerException: Attempt to invoke interface method 'android.os.IBinder android.os.IServiceManager.getService(java.lang.String)' on a null object reference
at android.os.ServiceManager.getService(ServiceManager.java:55)
at android.app.ActivityManagerNative$1.create(ActivityManagerNative.java:2606)
at android.app.ActivityManagerNative$1.create(ActivityManagerNative.java:2605)
at android.util.Singleton.get(Singleton.java:34)
at android.app.ActivityManagerNative.getDefault(ActivityManagerNative.java:84)
at com.android.commands.settings.SettingsCmd.run(SettingsCmd.java:137)
at com.android.commands.settings.SettingsCmd.main(SettingsCmd.java:63)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:251)


I apologize if this has already been answered in the thread.

I'm having exactly the same issue. Does anyone know what to do about this? No tethering for me with these instructions. :(
 

govindadas

Senior Member
Dec 22, 2011
97
7
Arkansas
one line of code failed on Oreo, but still working.

Just got a refurb and updated to latest 8.0 Orea OTA (the second 8.0.0 in factory image list, it's the most recent one as of yesterday). Unlocking, rooting went fine, fixing the tethering went fine except for the last line of "adb shell settings put global tether_dun_required 0". After issuing that command the command prompt returned but never completed, it just hung there. I let it hang for a couple minutes then ctrl-c to stop it. Tried it 2 or 3 times making sure TWRP was awake at the time.

However, tethering works now just fine though. Not sure exactly what that line did. Maybe it is unnecessary for Oreo, or maybe needs to be modified somehow.
 

Gabriel1495

Senior Member
Feb 29, 2016
91
19
26
Bologna
Hi, I have a question.
In settings --> Google --> instant tethering
It seems that I can enable internet sharing without root, but it is not true, it doesn't work, so what is that setting for?
Thank you
 

lambdaaa

New member
Nov 19, 2017
1
0
does not work

At&T nexus 5x, no root. Everything went fine until the last command. It hung there and did not do anything. Tether still does not work.
 

stackv

New member
May 30, 2018
3
0
(...) I can turn on tethering and set up a wi-fi network. My other devices can even see the hotspot and attempt to connect to it, but are unable to establish a connection. I’ve tried changing the session ID, the password, turning WPA2 on and off, switching from 2.4 GHz to 5 Ghz… and nada. (...)

Same thing here! Connected ... but no internet on the laptop. Data fully functional on the android 7 phone, tethering activated (wifi/hotspot, bluetooth tethering and USB-tethering), but always same effect on the laptop: I got an IP-address and all, but still NO INTERNET.

no idea why.

then tried this (adb):
ugg:/ $ settings put global tether_dun_required 0

with this answer:
"Error while accessing settings provider
java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS"

now i'm totally stuck.

(got a huge 100 Go data plan on the phone, tethering is allowed, but no support is given.)

anyone?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 18
    I'll start off by saying I didn't come up with any of this method myself, its just different information I found scattered on different threads on XDA and Reddit. Maybe some other 5X users will find it useful contained in this thread.

    Secondly, this requires an unlocked bootloader, also working adb and fastboot with correct drivers for your 5X, enable USB debugging. I won't go over that here, there are plenty of other guides on how to do that, and know that it will erase all your data. As long as you can find your device via "adb devices" and "fastboot devices" you should be fine.

    Lastly, you will get the corrupt data message on phone startup. I don't see any negative effects with this, other than an annoying message. Also I'm still able to use the fingerprint scanner as well as set up Andoid Pay. I can't verify Android Pay as I don't have any stores near me that accept it.

    You also won't have to flash any custom recovery or root the device, which keeps it closer to stock, which hopefully will allow Android Pay to still function, hopefully someone with a Android Pay store nearby can test this to verify.

    First grab TWRP for 5X from here. Save it in the same folder as your adb/fastboot install.
    Make sure your phone is connected to your computer, open command prompt and verify adb sees your phone.
    Code:
    adb devices
    Now reboot to bootloader.
    Code:
    adb reboot bootloader
    Now we boot from TWRP without having to flash/install it.
    Code:
    fastboot boot twrp-2.8.7.0-bullhead.img
    When TWRP finishes booting, click Mount and check the box for /system

    Now we need to pull the build.prop file.
    Code:
    adb pull /system/build.prop
    Using a text editor add this line to the end of the build.prop file and save it.
    Code:
    net.tethering.noprovisioning=true
    Now we push it back to the phone.
    Code:
    adb push build.prop /system/
    Make sure the permissions are correct.
    Code:
    adb shell chmod 644 /system/build.prop
    And lastly
    Code:
    adb shell settings put global tether_dun_required 0
    Now we just reboot
    Code:
    adb reboot
    and your tethering should be working!

    I'm currently using this method and it is working for me. I'm on Verizon with a Grandfathered Unlimited Plan, so I can't test it for any other carriers.
    Most of this information I pulled from this reddit thread, I just did my best to condense it down and simplify it, and make it aimed toward the Nexus 5X specifically.

    edit* People are confirming on the Reddit thread on their Nexus 6 that Android Pay is still working after making these changes!
    4
    Getting somewhere... adding "net.tethering.noprovisioning=true" to default.prop in boot.img seems to do the trick. I uploaded my modified boot.img if anyone wants to try it out. Do a "fastboot flash boot boot.img" to flash it. If you want to hack it manually, first back up your boot.img (since the 7.0 system image still isn't posted as of writing). With phone booted to twrp-3.0.2-1-bullhead.img or newer:

    Code:
    adb shell dd if=/dev/block/mmcblk0p37 of=/sdcard/boot.img
    adb pull /sdcard/boot.img

    Download Android.Image.Kitchen.v2.4-Win32, extract it
    Drag and drop the boot.img you just pulled onto unpackimg.bat
    Navigate to the ramdisk folder just created, and edit default.prop with notepad++. Add the line to the bottom and save the file:
    Code:
    net.tethering.noprovisioning=true
    Double click repackimg.bat to build your new boot.img (will be named image-new.img)
    Flash it using:
    Code:
    fastboot flash boot image-new.img

    If this works for anyone please post back... hopefully this is the only thing required and not any of the other million things I tried :) Note that I'm unrooted, only need an unlocked bootloader. I'm not really sure what the implications are for modifying the kernel ramdisk like this with regards to Android Pay, etc.

    Edit: Was able to add a card to Android Pay, so we look good to go. Maybe there is a better way to make changes to build.prop stick, but this seems to work for now. On the plus side this leaves your system partition untouched... flashing the stock boot.img back to do an OTA update should be much quicker.
    3
    T-Mobile/MetroPCS users additional steps to enable tethering

    If you are on T-Mobile or MetroPCS you will need to perform some additional steps for tethering to work. After you have performed the steps outlined earlier in this thread do the following:

    Under Settings -> More -> Cellular Networks -> Access Point Names

    Touch the name of the APN that is selected (there may only be one) then:

    1) change "APN Protocol" to "IPv4"
    2) change "APN roaming protocol" to IPv4
    3) Edit "APN Type" and add "dun" to the comma separated list so it reads something like "default,supl,mms,dun"
    4) OPEN THE MENU IN THE UPPER-RIGHT AND CHOOSE SAVE!
    5) You MAY have to reboot for this to take effect
    3
    I figured out how to take an OTA update, no dirty flash or anything silly. It is stupid simple and obvious.

    Download the factory image for the build you are currently on: link

    We need to get the system.img, so extract the tgz and you will see image-bullhead-xxxxxx.zip. Extract system.img to whatever your working adb/fastboot directory is.

    Either boot into the bootloader manually or make sure USB debugging is enabled and:

    adb reboot-bootloader
    fastboot flash system system.img

    When it's all done use the buttons on your phone to "Start" to boot up. Assuming you didn't @#$ with any other partitions on your phone (if you flashed a custom recovery you will also need to flash the stock recovery.img), you can now take the OTA! Of course you will need to redo steps in the OP to re-enable tethering.

    tl;dr: Download factory image for your CURRENT build, extract system.img from the factory image, boot into the bootloader and "fastboot flash system system.img". You can now reboot and accept the OTA.
    3
    If I already have TWRP, can I just boot into it and do the following steps?

    "When TWRP finishes booting, click Mount and check the box for /system

    Now we need to pull the build.prop file.
    Code:
    adb pull /system/build.prop
    Using a text editor add this line to the end of the build.prop file and save it.
    Code:
    net.tethering.noprovisioning=true
    Now we push it back to the phone.
    Code:
    adb push build.prop /system/
    Make sure the permissions are correct.
    Code:
    adb shell chmod 644 /system/build.prop
    And lastly
    Code:
    adb shell settings put global tether_dun_required 0
    Now we just reboot
    Code:
    adb reboot
    and your tethering should be working!"
    Sure, or just boot the phone, open a file explorer app, and add the build.prop line. Seems a lot easier to me.