Android 6.0 Marshmallow tethering
Enable tethering on Android 6.0 Marshmallow update via ADB shell command Google

Avid Android users may be disappointed by the fact that the Android 6.0 Marshmallow update allows mobile carriers to block tethering by default. This is done to prevent sharing of mobile data with friends and family members in order to save a massive chunk of data bandwidth.

However, those who are eager to overcome this hassle may go ahead and execute a simple command to manually enable tethering on their Android device. It must be ensured that correct ADB drivers are installed on the computer for seamless communication between the PC and your phone. It is imperative that you unlock access to the ADB shell before enabling tethering on your Android device. Android newbies can follow the steps outlined below to enable tethering on Nexus 5, Nexus 6, Nexus 7 and Nexus 9.

Steps to enable tethering on Android 6.0 Marshmallow update

Step 1: Ensure you have the correct OEM drivers installed for your handset on the computer

Step 2: Download and install the necessary ADB drivers (v1.4.2)

Step 3: Enable USB debugging on your Android handset:

  1. Go to Settings > About Device, and tap the build number 7 times or until you see 'You're now a developer' message.
  2. Return to Settings > Developer options and use the toggle button to turn on USB debugging. Then tap OK button to accept the warning and continue.

Step 4:Connect your device to PC with original USB cable.

Step 5: Launch a command window on your Windows PC.

Step 6: Access ADB shell and run the following command:

adb shell

The directory location should change from your windows PC to that of device (see screenshot below).

ADB shell access
How to enable tethering on Android 6.0 Marshmallow update The Android Soul

Step 6: You can now enable tethering by running the following command:

settings put global tether_dun_required 0

Step 7: That's it. Just reboot your device once, and tethering will get enabled on it.

[Source: The Android Soul]