Tethering on Nexus 6 on Android M (Preview 3)

There’s a lot of articles describing how to get tethering on Android 4 and 5. Those steps no longer work on Android 6 (M) and it’s somewhat hard to find the current ones. Note that settings.db specifically have¬†been depreciated and those steps no longer work. It’s actually simple¬†though. While there’s multiple ways to get at this, the below are the easiest, and quickest (and don’t cost you money.)

  1. Functional ADB install on your PC.
  2. Rooted Android M device.
  3. TWRP or the like installed. (And/or a program like SuperSU.)

If you don’t have a rooted device, this won’t work. If you want to use an alternative to TWRP, that is certainly fine. What matters – you need to remount /system as rw.

  1. On your computer open up a terminal and type: adb shell reboot bootloader
  2. Enter into Recovery mode.
  3. (In TWRP) Under mount, ensure that system is checked.
  4. In the terminal window, type adb shell
  5. su -
  6. vi /system/build.prop
  7. Append at the very end (Type upper-case G, then paste in the below)
    1. net.tethering.noprovisioning=true
  8. Hit the escape key, then type :wq to save and quit the file. Exit twice to drop out of the shell. Then type:
  9. adb shell content insert --uri content://settings/global --bind name:s:tether_dun_required --bind value:i:0

That should be it. You should have your device tethering. To check, open up the menu and simply toggle the system wifi tether on. If you don’t get an error, you should be set. Note that this may be against your carrier policies – check your plan before doing this.

As a final comment, you can certainly issue something like mount -o remount,rw /system with superuser permissions. Since it’s mounted RO, you can’t touch build.prop until it’s remounted. And it’s a little tricker to get /system remounted in Android M. That being the case, rebooting into TWRP is the easiest method for getting it mounted, and edited.