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

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

Search This thread

sfhub

Senior Member
Oct 23, 2008
5,342
7,220
when i try to push back the edited build prop file to the phone i have this error:
failed to copy build.prop to /system/build.prop: couldn't create file: Read-only file system
Mount system partition read/write in TWRP.

You'll need to install root for the build.prop changes to stick around otherwise they will be error corrected back to original.
 

Lollolollo84

Senior Member
Mar 9, 2015
77
10
I think that I have some problems with root/supersu...
Before I will try to flash factory images, twrp and super su again... I hope it solve!

---------- Post added at 05:44 PM ---------- Previous post was at 05:24 PM ----------

Mount system partition read/write in TWRP.

You'll need to install root for the build.prop changes to stick around otherwise they will be error corrected back to original.
My N5X have root (checked with root checker) and was decrypted...
I don't know the reason but system now is RO instead of RW... Can I solve the problem flashing again factory image, twrp and super su?
 

tabormeister

Senior Member
I guess my lingering question is... once you do a full unroot and restore the original boot.img, isn't dm-verity reenabled?

Possibly (regarding the build.prop entry and where to put it)

Oh gosh, I didn't see this discussion until right now! I only included the bottom bit about restoring the original boot.img in order to flash an OTA when one comes out. Yes, restoring the original boot image will break tethering again, depending on your carrier. This is more an 'all-carrier' approach, Sprint and Verizon I believe require both of those settings. So basically, run the first part of the guide from stock, then run the second part to flash an OTA if you need to, then run the first part again and boom, tethering and Android Pay working again. Leave the boot.img alone until you need to OTA again, when doing the full unroot I didn't let it reflash that or recovery.img.
 

Lollolollo84

Senior Member
Mar 9, 2015
77
10
Try renaming and pushing build2.prop.

That will tell you if there is a problem overwriting build.prop (in which case you could move it out of the way, or problem with writing to /system in general)

Also I assume you are doing the adb push in TWRP, not in android.
I think that the problem is:
Now i have root systemless
But I need to root system also...

How I can solve this problem and have a normal / full root (NOT Systemless!!!)

EDIT:
i found this guide: Some opinions????

Step 1: flash SuperSu 2.71 normally (this will patch boot.img)

Step 2: boot the device and full unroot in Supersu app (device should now
be unrooted, however because of step 1, the patched boot.img is still there)

Step 3: boot into twrp >go to the terminal > and type: "echo
SYSTEMLESS=false>>/data/.supersu" (force the new 2.71 to only install in
system mode)

Step 4: now flash supersu 2.71 in twrp (if you read the logs, it should say
something like "installing in system mode")
 
Last edited:

sfhub

Senior Member
Oct 23, 2008
5,342
7,220
I think that the problem is:
Now i have root systemless
But I need to root system also...

How I can solve this problem and have a normal / full root (NOT Systemless!!!)

EDIT:
i found this guide: Some opinions????

Step 1: flash SuperSu 2.71 normally (this will patch boot.img)

Step 2: boot the device and full unroot in Supersu app (device should now
be unrooted, however because of step 1, the patched boot.img is still there)

Step 3: boot into twrp >go to the terminal > and type: "echo
SYSTEMLESS=false>>/data/.supersu" (force the new 2.71 to only install in
system mode)

Step 4: now flash supersu 2.71 in twrp (if you read the logs, it should say
something like "installing in system mode")
You can install SuperSU in system that way, but I don't think that is related to you not being able to place build.prop on /system.
 

ald040

Member
Jun 22, 2013
5
1
Has anyone run into any issues using this method with Android 7.0? I've been getting the factory images, flashing them, installing the OTA and then doing the process to gain no tethering provisioning and has worked flawlessly for the past 6-7 updates, but now doesn't seem to work with the new Android 7.0 update, any help will be greatly appreciated!

Edit: I apologize, I did the unthinkable and asked the question without spending more time researching. I figured the conversation would have been on the last page of the thread, but it appears I updated a lot later.
 
Last edited:

tabormeister

Senior Member
The reason the method in the post you replied to works is because the installation of SuperSU (in the default systemless install mode) will disable dm-verity in your kernel/boot.img, which also disables the reed solomon forward error correction.
My workaround was to edit default.prop in boot.img which seems to supersede.
So is there a way we could do this without having to do the systemless root step? I'd really rather do it without having to root at all
 

tabormeister

Senior Member
You quoted the way to do it without rooting.
He wrote the post that he referred to. It requires rooting.

@sfhub exactly! Lame as it is, Android Pay still works with my method but the latest Pokemon Go stopped working. I need my pocket monster fix, so for now I'm using paid Foxfi + pdanet on my laptop...this is actually an awesome solution because it autoconnects when I plug in my phone, but it'd be rad if we could figure out a way to fix the forward error correcting problem (I think the dude I quoted mentioned changing default.prop) without even having to install systemless.

I was approaching this thinking you could only do settings put with root...now I know that's not the case, maybe another echo into default.prop would do the trick? Also, the reason I echo into build.prop is since MM there's like 0 space left in /system so if you try to pull, edit, and push build.prop it errors out
 

sfhub

Senior Member
Oct 23, 2008
5,342
7,220
I'm talking about modifying the boot. IMG

http://forum.xda-developers.com/showthread.php?p=68380897

Sent from my Nexus 6P using Tapatalk
I think I may have misread your original reply. Apologies.
...
Just disable dm-verity on the boot.img. You don't need the root portion, just the side-effect of SuperSU disabling dm-verity.

You can modify the SuperSU install script if you don't want to edit it yourself.

Same can be done for the default.prop changes.
 
Last edited:

DualSportDad

Senior Member
Apr 29, 2010
722
80
Cape Coral, Fl.
I have to ask this cause I don't fully understand.... What is the importance of adding the "tether_dun_required 0" ? My mom was using T-Mobile and they started to throttle her tethering so she switched to cricked a couple of days ago and her tethering would connect but not allow data transfer. I ran the adb commands to add the above mentioned and it worked no problem. She is on a 6.0 or 6.0.1 pure nexus ROM. I went to do the same to my phone in fear that's how T-Mobile was able to see her tethering usage (I'm on T-Mobile) but after running the commands I went to check and I don't even have a settings.db folder, I'm on 7.0 stock with elemental kernel, not rooted. I checked my nexus 6 on a 6.0 ROM and it has the settings.db folder and took the dun mod just fine.

Sent from my Nexus 6P using Tapatalk
 

novacav

New member
Apr 10, 2011
3
0
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.
 
Last edited:

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.