Use PC's Internet on your Android Device [How to] [Reverse Tethering]

Tethering is the ability to surf on your pc using the 3g of your phone
Reverse tethering is the opposite : surf on your phone using the ADSL of your PC. No Wifi or 3G connection required.

This work only for rooted users !!!
For non rooted users, you can try my other solution, but require more manipulations and is limited to surf : http://www.codeproject.com/KB/androi...orwarding.aspx

Installation :
Unpack the zip file. This zip files contains the windows part, ADB and the android APK.

Before starting the tool :
  • You must install drivers for your device. Generic driver provided by google is on the usb_driver.zip
    You can also check the Universal Naked Driver
  • Ensure you have debugging enabled on your phone :
    Settings > Applications > Development > USB Debugging > Turn On
  • Ensure you have root access AND SuperUser application installed.
    Change the superuser settings (Menu -> Preferences -> Notifications part) :
    Uncheck "Notifications" label to display "Do not show notification when an app is granted Su Permissions"


AndroidTool

The AndroidTool.exe is the windows part

The low level communication tool (ADB) is included in the zip file.
AndroidTool will try to find ADB in c:\android-sdk-windows\platform-tools\adb.exe
If not found he will use the provided one.

The first time you use the program :
  • If you want to use another version of ADB, clik "config" and in the first tab enter the path to the ADB
  • Select the DNS server to use in the right list. On complex system, some dns can be detected.

Start reverse tethering
Just click “Connect”.
If it's the first time you use the program, This will install the latest android package and the dependencies (busybox and redsocks).
The SuperUser process may ask you to allow “Usb tunnel”



If the android process crash after receiving superuser rights, close the windows program and start again.

The android interface (first tab) will show connections forwarded to windows.
Others tabs are just for debugging (give information about system route tables and connections). Not yet finished.

Start your browser
Google chrome will complain that no connection is available. Don’t care. That work.
Firefox , opera and dolphin don’t have problem with that !!!

The current version of the application can’t forward low level ICMP packet (PING).
From Android Os point of vue, there is no internet connection.

Google Market/Play :

For android 4.x ONLY
Since reverse tethering version 3.4, it's now possible to download/update application.
This step is optional !
Required only if you want to download from market.
I recommend you to perform a nandroid backup before installing the hack.
Don't worry, I didn't brick my phone and tablet during the development.
The Xposed framework author and me are not responsible for anything you do with your phone/tablet/rice cooker.
  • On the windows program, go to tools tab and click "install hack"
  • Launch the Xposed Installer (you just installed) on your android and click on "Install/Update"
  • Go to the module tab and check the HackConnectivityService (see screenshot below)
  • Reboot the phone
  • Done!
    This work for market but also for some other programs (some games,skype,hangouts...)



For older android 2.x or 3.x version :
The application want to have an active 3G or Wifi network interface.
Some market applications are tagged "Wifi" only.
To get around this problem, you can activate the 3G BEFORE starting reverse tethering,all the data will goes to the usb.
Tips : You can connect to some wifi hotspot not protected by a key.
It's only when you want to surf that the hotspot ask you a user/password.
But, at this point, we have an 'active' connection. Market download should work after starting reverse tethering.

Not fully working application but work if you install the HackConnectivityService on android 4.x:
  • Market download
  • Spotify
  • Skype. (not checked yet)
  • If someone know another one, post a reply !

Troubleshooting

If your device is not listed in the "select a device" combobox :
  • Ensure Usb debugging is enabled (Settings > Applications > Development > USB Debugging > Turn On). Deactivating and reactivating the Debug mode may help
  • The ADB subsystem is sometimes not working properly. Click the "Kill ADB" button (on Tools)
  • Your device is perhaps not installed properly. See your device manufacturer. You can download a generic driver from google here : http://developer.android.com/sdk/win-usb.html.
  • Windows can detect your device as a "Media Transfer Protocol" (MTP) or "Picture Transfer Protocol" (PTP). When you connect the usb cable, you have a notification. Click the notification to change this parameter. If one don't work, take the another one...
Click refresh or restart the tool to detect your device.
If the connection shutdown often, try another usb cable

Android 4.3 Troubleshooting
Google added some security stuff on this version.
Important : You have to connect your phone/tablet to wifi at least once after boot before using reverse tethering !!!

Proxy :
There is 2 problems with proxies :

Android 3G proxy. Even if 3g is desactivated, your provider (APN) proxy may still used by applications.
The windows tool is not able to communicate with your provider proxy.
Note that not all providers include a proxy. You must remove it manually.
The tool will give you informations on how to do it when detected.

Corporte proxy. The windows application is not able to traverse proxies.
The good news is that you can use some applications like FreeCap , sockscap and proxifier.
You must start the androidTool from one of these launchers, giving proxy adress and port.
Thanks "edgd1er" for the information.

History :

Version 3.14
  • Small bug fixes, added debug code in case of crash
  • Added xposed debug code for connectivity hack

Version 3.11
  • Nothing in the program
  • The zip include the latest Xposed framework.
    It's NOT mandatory to update to the latest framework.
    Usefulll only for android 4.3.
    Click the "install hack" button on tool tab to update the framework.
    After install, you MUST run the XPosed installer, tap the "framework" line , tap the "Install / update" button THEN reboot.


DOWNLOAD HERE