yashsingh1/xdaforums huggingface dataset:
[Nexus 6  General] tabormeister:
Obviously I'm not responsible for your mom exploding or your phone disowning you, but.....

I got tethering and Android Pay working on stock Nougat - that's Android N, folks - on a Nexus 5x.

Thanks to [MENTION=631273]Chainfire[/MENTION], [MENTION=4268910]ManHands[/MENTION] and [MENTION=839943]interloper[/MENTION], and you!

click thanks if this helps, or buy me a beer or something.

1. be on Nougat obviously

2. flash twrp

3. flash systemless root (unsure if .supersu SYSTEMLESS=true in /data is still needed, but can't hurt - mine is still there from earlier.)

4. while still in twrp, go to mount and check system. Make sure you allow changes.

5. from your computer, do this

adb shell
echo "net.tethering.noprovisioning=true" >> /system/build.prop

6. reboot into Nougat.

7. Install Terminal Emulator from the Play Store.

8. Launch it, and in Terminal Emulator, do this

su
settings put global tether_dun_required 0
exit

9. go into Supersu, expert, scroll to the bottom and hit full unroot. No, you don't want it to patch you back to the stock boot image or recovery*. If it hangs, just reboot and try doing it again.

10. ????

11. Profit! You should have tethering unlocked, be unrooted, and have full Android Pay goodness working.

To take an OTA, do this, because Flashfire gets confused after you've done build.prop edits -

1. go to About Phone, scroll down. Find your build number.

2. download that Nexus Factory Image.

3. Unzip it all. ALL OF IT.

4. Make sure you have Android SDK & platform-tools (or just a working Fastboot and ADB)

5. just flash boot, system, and recovery - you can now OTA with no problems. Then repeat the above guide on your new OTA. Confirmed working 10 minutes ago, OTA'ing from Marshmallow to Nougat and then getting tethering working again

ALTERNATE IF YOU PREFER FLASHFIRE:

All the above steps, but you only have to flash the System image to fix the build.prop hash fail then flashfire should work for you. Wouldn't necessarily recommend upgrading version numbers (6.0.1 to 7.0.0) with Flashfire, but who knows, it might work great! Chainfire is a wizard.

*you can do this if you want, but when I let it patch my boot image I got the dreaded "device corrupt!!!!1" message at boot. Did not try letting it flash stock recovery image.
[Nexus 6  General] JW09I4:
While I know you're only trying to help, and spent a decent amount of time formatting your post, this process is the same regardless of what version of android you're on or what device you have. It actually does more harm than good when users on forums repeatedly post they got this general feature to work on this device or that device, this version or that version of Android because it enlarges the thread size exponentially.

To use an analogy, this would be like users repeatedly posting after every new iteration or update of Windows that configuring a static IP still works, and it's still configured in the exact same way as the previous iteration or update.

These types of things are not going to change from device to device or android version to android version because they're not device, or version, specific.

Android Pay is essentially in the same boat, as it will always work on an unrooted device, but will never work to add CC #'s while rooted. In general, it shouldn't be allowed to operate at all on an unrooted device due to how transactions are processed, allowing the end user to execute an exploit preventing merchants from collecting funds after a purchase is made on the device. While there has been limited success getting AP to successfully process a transaction on a rooted device, the devs will eventually fully lock it down from running on a rooted device period, as it's too much of a liability for the world economy.
[Nexus 6  General] mswal2846:
I don't honestly get the point of this post. I, for one, thank tabormeister for his/her post.
[Nexus 6  General] JW09I4:
[MENTION=7515284]Dethfull[/MENTION] please edit your post, as it's been reported as spam

---------- Post added at 20:55 ---------- Previous post was at 20:50 ----------

Use thread search and you'll quickly figure out the point.

Enabling, or disabling, tethering DOES NOT change in between Android versions or Android devices. In other words, stop reposting what's already been posted well over 25 times in this thread alone (let's also not forget about the OP, since the #1 post in this thread contains the exact same instructions, with the additional command mentioned for the first time in #14).

Barring some kind of massive technological breakthrough in radios, and how those radios interact with code, what worked 5 years ago to enable tethering is still going to work 5 years from now, so there's no need to continually post the same steps over and over again in a thread that has covered those steps over and over again. Why I've had to repeat this every 25 - 50 posts is beyond ridiculous.

I was curious how many times those steps have been covered since post 200 (we're currently on 288), and it's been explicitly or subtly stated in 13 posts, or ~1 per every 6.77 posts: #'s 274, 268, 240, 230, 227, 226, 225, 210, 207, 206, 205, 204, & 201.

Post 223 sums up my point quite nicely since this is not the first time I've had to explain the rocket science and extremely difficult physics behind the area in the right hand column of every thread page that says "Thread Search".
[Nexus 6  General] tabormeister:
Gotta love XDA. Hey - you aren't mods. For some of the precise reasons you mention (thread length crazy long, etc.) I think posts like this are always useful. This is supposed to be a summation of all the misinformation and confusing stuff previously in the thread, (op and most of the middle is wrong) compiled into an easy-to-read-guide, and, most importantly to be about how to get tethering, and keep Android Pay, since systemless root breaks it as of recently and maybe some people reading this guide didn't know that and want it back.

XDA is a community, and we're supposed to help each other out, IN ADDITION to searching before we post.

I'll go ahead and just start another thread in general to help da n00bs. Simply, go fart on someone else's parade :)
[Nexus 6  General] JW09I4:
Android Pay will never function properly on rooted devices due to how transactions are processed. This will not change due to the serious global consequences involved if Android Pay is allowed to run on rooted devices and 3rd Party ROMs. Perhaps you should utilize google to research and understand why this is.

No, I'm not a Mod; however, I do care about users being able to easily find and disseminate the information they require. Had you and other users bothered to take 5 seconds out of your day to use the thread search function prior to reposting the same information and questions over and over again, this thread would only be ~50 posts instead of the 289 it now is. Try for some personal responsibility.
[Nexus 6  General] tabormeister:
1. Yes, but up until recently systemless root DIDN'T break Android Pay. Now it does. Something changed with SafetyNet, thus my update.

2. this guide sidesteps the dm-verity problem and lets you keep a persistent build.prop edit, which is necessary to keep tethering unlocked.

3. you can have tethering unlocked, and after unrooting, still have Android Pay, and no corruption messages.

Not attempting to get into a snipe war with you. Just because you don't personally find a post useful, does NOT mean it is not useful. More than one user likes to tether their phone and still be able to make mobile payments.

For more info about WHY that guide I posted works across all carriers and it isn't just reposted garbage, read the awesome people talking about it in this thread starting on this page
[Nexus 6  General] tabormeister:
Moving to PM so as to not clog thread even more with pointless back-and-forth. Mods, please nuke dumb squabbling and leave the useful stuff.
[Nexus 6  General] mchlbenner:
You have to much time on your hands!!
[Nexus 6  General] falcon9094:
This process still works on androin N
[Nexus 6  General] smclaughlin3:
does it?
[Nexus 6  General] falcon9094:
yes just did it
[Nexus 6  General] JW09I4:
WOW!!! it's a miracle how such a basic config file that's been around since the beginning of android still works. Wow! look at that! ...even the dialer operates the same way! No way... even the browser still allows the browsing of web pages... I can't believe it! it's a miracle! Who knew there'd be all these miracles within the basic functionality and config files on subsequent iterations of Android!?!? Award worthy!
[Nexus 6  General] falcon9094:
Thanks for your sarcasm since people always ask the same question update after update I decided to post before it was asked. But thank you again for a great post you deserve a reward for it.?
[Nexus 6  General] JW09I4:
Perhaps you could have read the last 10 posts prior to reposting known information that does nothing but lengthen the thread, providing no informative benefit, thereby making it harder for other users to find the information they require.

Simply put, there's no excuse for reposting known information that's been repeatedly covered in a thread... please do your due diligence and have some personal responsibility by reading, at minimum, the last 10 posts on a thread prior to posting.

Considering I had JUST said the exact same thing to another user two posts above your original one, it defies intelligence how users like yourself can't be bothered to READ prior to posting. You, and many other users, seem to not understand that over 200 posts in this thread are users repeating the SAME information over and over again because they're too freakin lazy to read. The truly ridiculous part is in a few weeks, another lazy user like yourself is going to repost previously covered information directly below this post.

Mods should either lock this thread to prevent such imbecilic idiocy, or suspend users' accounts for 7 days at a time when this level of idiocy occurs.
[Nexus 6  General] mswal2846:
Reading through this forum is like reading through the script for "Grumpy Old Men." Sheesh...
[Nexus 6  General] eddie2020:
I am root user, I tried add a line to build prop net.tethering.noprovisioning=true and with android emulator by the tether_dun_required 0 still same.. Service provider still able to check when other phone connected my hot spot it show no Internet access and redirect to my service provider page
[Nexus 6  General] malzonie:
It appears that this doesn't seem to work anymore. After a reboot it works if you enable right away but if you turn it off you can't re-enable unless you reboot again.. Anyone got another way to go about getting tether to work preferably consistently without a custom rom. I am rooted
[Nexus 6  General] culala:
every time when reboot it. tether_dun_required become back to 1

by the way. if you rooted you can setting under

data/system/users/0/settings_global.xml after change i set the file to read only it will change back to R/W after reboot
[Nexus 6  General] bodecove:
I'm on Verizon and that's what I did also...14 Mbps on connected tablets wifi....

net.tethering.noprovisioning=true

gets you done!
[Nexus 6  General] RussianBear:
All these things are great and all, but they know. I'm getting popped even with a vpn when I tether thru a router (using openvpn in settings). I am not getting popped on my desktop when I use a vpn + ttl change to less than 128. Yet, at least. Not sure what the deal with a wireless router is, but do pm me if you know a workaround.
[Nexus 6  General] NAU420:
I'm lost, so this is not working on Nougat right? I really need the tethering to work and if it doesn't work, I'll stay on 6.
[Nexus 6  General] mswal2846:
I'm on Nougat and it's working for me. What I had to do to get it to work was:

1. flash TWRP

2. copy /system/build.prop to internal storage

3. reboot

4. edit copy of build.prop in my favorite editor and save back in internal storage

5. boot back to bootloader

6. flash TWRP again (it would be wiped out after the reboot)

7. install SU (root)

8. go to terminal in TWRP

9. copy from internal storage to system: "cp /sdcard/build.prop /system"

10. chmod 644 /system/build.prop

11. "settings put global tether_dun_required 0"

12. reboot

If you don't want root anymore, download "supersu" app and go in and fully remove SU and reboot

Note you will need to repeat above after every update.
[Nexus 6  General] malzonie:
This doesn't work after I turn it on one time even if I change this permission to Read only it still says unsubscribed. I'm on virgin mobile I dunno it's rather annoying.
[Nexus 6  General] pickupman66:
Hopping on here to try and get mine working. I have the proper build.prop edit. I have the dun=0 done with terminal. Still get provisioning and to contact at&t.

Im on rooted stock.
[Nexus 6  General] RussianBear:
Get a vpn, man.
[Nexus 6  General] pickupman66:
I cannot even get wifi tethering to activate. How is a vpn gonna help me?

sent from my pixelated Nexus 6p
[Nexus 6  General] RussianBear:
What do you mean? I use the native tethering app.
[Nexus 6  General] pickupman66:
There in is my issue. I cannot use wifi hit spot app because of carrier provisioning. I'm in at&t unlimited plan.

sent from my pixelated Nexus 6p
[Nexus 6  General] james59802:
build prop edit works on 7.0

add to bottom of build.prop in /system folder

net.tethering.noprovisioning=true

reboot
[Nexus 6  General] pickupman66:
I got it working.

sent from my pixelated Nexus 6p
[Nexus 6  General] ooofest:
Hm, in looking at this, for my Nexus 6 on a Verizon account with the old Unlimited data plan, following the steps in comment #96 would trip SafetyNet - so, I'd gain tethering but lose Android pay, Pokemon Go, Snapchat and maybe future app compatibility?

Well, at least it applies for others.

- ooofest
[Nexus 6  General] pickupman66:
I'm from a small rural town. My bank is not AP compatible and only half if places I shop at take it, so I couldn't use it if it worked. Too old for Pokemon go. What is Snapchat? Lol.

sent from my pixelated Nexus 6p
[Nexus 6  General] wrexus:
I could not get this tethering hack to work on Nougat (shamu-nbd91p). From what I understand, Nougat won't support the ability to bypass the tethering provisioning check. Please correct me if I'm wrong.

So, I went back to the latest 6.0.1 (shamu-mob31k) which I ran into a slight problem when trying to push the build.prop file back to the /system directory. Apparently the partition is configured with no space and therefore the only way to be able to write the file back without getting an out of space error is to delete enough free space. I tried to delete some ringtones from the /systems/media/ringtones directory but that didn't suffice. So, I ended up deleting the Hangouts.apk from the /system/app/Hangouts directory. This finally worked.

I hope that someday we will find a way to bypass the provisioning check on Nougat.
[Nexus 6  General] dpj52190:
Tested working on t mobile. Doing this adb command has allowed tethering on T-Mobile. Nougat 7.1.1 nexus 5x
[Nexus 6  General] photolarry:
Put in OP!!

I don't have time to sift through all this either

---------- Post added at 12:55 AM ---------- Previous post was at 12:54 AM ----------

It's not in the damned OP.
[Nexus 6  General] HTC_FUZE:
good to know.
[Nexus 6  General] stormPremier:
Hi everyone,

I just made a little flashable zip with some stuff of this thread

It could be useful for future people coming here (instead of reading these 33 page O.O)

http://xdaforums.com/android/software-hacking/mod-hotspot-unlocker-t3518558

Maybe put it to OP ?
[Nexus 6  General] harisund:
/system is r-o on my Android 6 XT1103 (just installed Android 7) . Attempting to remount as r/w gets me the error - mount: '/dev/block/dm-0' not user mountable in fstab

Doing the global settings thing alone doesn't seem to have an impact though.

Man this sucks.
[Nexus 6  General] stormPremier:
Try via recovery flashing maybe .... It will probably not work, but it's worth trying. ( http://xdaforums.com/android/software-hacking/mod-hotspot-unlocker-t3518558 )
[Nexus 6  General] impalerware:
Did 7.1.1 break the net.tethering.noprovisioning=true build.prop edit? Doesn't seem to work anymore for me.
[Nexus 6  General] Ratamacue:
I had issues initially, but it started working after I rooted again and rebooted a couple times. No idea what the problem was or if what I did had anything to do with why it started working again.
[Nexus 6  General] Ferenczy68:
It probably has something to do with there being 0 space available on the stock system partition. Unless you make room there then build.prop edits won't work. If you've got custom recovery installed then you should be able to delete some unwanted stock app or apps (YouTube) to make space available. Of course I haven't been paying much attention since 6.01 and this is all purely conjecture... ?
[Nexus 6  General] stormPremier:
Probably, it depend on the OS build :/

Kinda weird ... Are you saying you install it while your tethering was ok ?

There is always enough place for some kb ;)

Script normally return failure if he can't backup files.
[Nexus 6  General] Vikings09876:
I might just be stupid, but when I have the adb shell open, it tells me that settings isn't a valid command. What am I doing wrong?
[Nexus 6  General] ultrap:
OK on Sprint, no go on AT&T

Hmm the adb shell "settings put global tether_dun_required 0" command has worked for me on Sprint for 6+ months but I just switched to AT&T and no go... "checking subscription" and hangs forever.

Opened ADB shell and settings get global tether_dun_required does still return 0... what is AT& doing differently?

I am still on Marshmallow 6.0.1 - the only reason I haven't yet upgraded to Nougat is because I didn't want to break tethering. Not rooted.
[Nexus 6  General] ktmom:
Never used AT&T, so I'm not sure if this will help. Have you tried adding the line

net.tethering.noprovisioning=true

to system/build.prop?

If you have TWRP, boot to recovery, mount system, then use ADB to edit the file.
[Nexus 6  General] slayer.1942:
how can you know after issuing the command that it made the effect?(can we send a query with adb shell to see the statues of this "tether_dun_required" variable?

and another question is this method works on t-mobile locked phones of galaxy s7 cause I am about to buy one?

thank you
[Nexus 6  General] BigDig:
Any idea why that doesn't work on 7.1.1? I'm throttled to 128kb/s
[Nexus 6  General] protoc0l:
just wanted to say a big THANKS for the adb shell command, I spent a frustrating weekend at a farm, unable to tether/wifi my data connection to my laptop, tried the adb shell command, working now :)
[Nexus 6  General] x7nofate:
Hi ,no try to edit build.prop and also by the terminal for android app and it's not working for me. Please help
[Nexus 6  General] MagikGab:
Hi guys, I know this isn't the correct topic due to the fact I own an LG G6, but anyone knows why every time I reboot the phone I found the "settings get global tether_dun_required" on 1 even if I set it on 0?
[Nexus 6  General] MagikGab:
Just type:

settings get global tether_dun_required

it must return 0. It in general should work on every device, independently from the manifacturer.

But I have that after a reboot it returns 1 to me, so I have to re-set as 0. Anyone knows why?
[Nexus 6  General] jashton23:
Just root the phone using "Nexus Root Toolkit" and then follow the build prop. I have it confirmed on Verizon on 6.0 its rather simple
[Nexus 6  General] brizey:
I think that that era is over.

If you want to modify your phone, then do it properly. Unlock the bootloader, flash a custom recovery, and use custom ROMs. If you want to go back to stock, flash the factory images. I am not sure why anyone that wants to modify bothers with OTAs. Way more trouble than they are worth. All of these crazy delta sequences and worrying that there is a bit out of place somewhere. It's like four fastboot commands to flash the factory images. Its so much cleaner and simpler. And its basically bullet proof unless you screw up a BL update, and even that should not take if things are working properly. Those factory images are THE point of getting a Nexus.

If you just want the pure Android experience, well then, you don't modify kind of by definition.
[Nexus 6  General] Jexx11:
How were you able to edit build.prop without root? Did you use some other method mentioned here?
[Nexus 6  General] DA6030:
A custom recovery can write to the system partition - that's how root binaries are installed in the first place! :D
[Nexus 6  General] jarredduq:
You have to add "dun" to the apn type field in the APN.
[Nexus 6  General] Durthquake:
You have to root phone to edit the build.prop - using the Nexus toolkit took under 5 minutes to root it.
[Nexus 6  General] imnuts:
You don't need root to edit build.prop. Given that you needed a toolkit to root a Nexus device, it doesn't surprise me that you'd think otherwise though.
[Nexus 6  General] Durthquake:
Editing the build.prop as far as I know requires root since its a system file and you need to change the access to it to have write access, which requires SU access to do. Unless you flash a modified .zip to do it then I guess you wouldn't. But I prefer to root, since I can use root for other things (like get the notification light to work) and multiwindow support.
[Nexus 6  General] trent999:
You can fastboot, then boot a temporary TWRP recovery from there that will allow you to mount system r/w, pull build.prop with ADB, edit it, rewrite it, then restore \system to read only. Then reboot.

No root required, as Mr. Imnuts has pointed out, but I think you have to unlock your boot loader first, which means you might as well root since you will have wiped the device at that point.
[Nexus 6  General] simpkill:
Doesn't seem to work for me. I'm on sprint. everything went appeared to go well in shell, but still cant use wifi tethering.
[Nexus 6  General] jeromeh:
Does anyone know if this makes Android Pay stop functioning? I would love to edit the build.prop and hosts file in recovery to avoid rooting and get tethering, ad blocking and Android Pay functionality. Has anyone tried it yet?
[Nexus 6  General] streetracer8605:
I'm on sprint too. I had to do the adb command and edit the build prop. After I did both, it works now.
[Nexus 6  General] jasonftfw:
Got it working with T-mobile, but it's not the greatest. I use my phone as a hotspot in my car to connect my tablet for music/gps, but my music is constantly buffering every few seconds now with the edit to build.prop and dun added to apn type. any way I can try to fix this issue?
[Nexus 6  General] kafeaulait:
Quick question: Under Settings > Data Usage..., does your Tethering and Portable Hotspot entry still accumulate data once you get it to work?

I have some tethering allotment from T-Mobile, so I can't verify the effects of the changes I make until I hit their cap and can't tether anymore. Would appreciate your help.
[Nexus 6  General] meoshe:
I assume the default value is 1, correct? Just in case this affects androidpay just like the dpi change.
[Nexus 6  General] jasonftfw:
I believe that is going to show your total data for tethering regardless. You can get the T-Mobile my account app and just that to monitor how much they're seeing for hotspot
[Nexus 6  General] kafeaulait:
I am eternally grateful. The Android counter does keep going up but T-Mobile hasn't seen anything for the past 3 days.
[Nexus 6  General] imnuts:
I haven't used tethering on my Nexus 6 yet, but on past phones, the tethering entry did start increasing despite the change. All your telling the phone is that you can tether and it doesn't need to check in with the service provider. The rest of tethering still functions the same, so I'm not sure why it wouldn't track your tethering usage.
[Nexus 6  General] jasonftfw:
The system will still be counting obviously, but the question was more about how to know if it's working when your provider gives you an allotment of tethering as T-Mobile does.
[Nexus 6  General] az_r2d1:
I did this on my unlocked/rooted stock 6.0 MM.

All went ok except the second to last command (adb shell settings put global tether_dun_required 0);

I get:

But I rebooted and tethering is now working, with Verizon.