7

Before going into main question, we do know that :

Now the question is :

"Is there a way to share the reverse-tethered internet (as we known connected via usb0 interface) via "Android WiFi Hotspot?"

To make it easier, here's the schema:

schema
Schema of my setup (click image for larger variant)

*Additional Notes :

  • Actually I don't give a limit which version of the Android (so if it's just compatible in higher version e.g. 4.2, it's okay for me), but I prefer it works on 2.3.x (Gingerbread)

  • Some explanations of how to make APN (Infrastructure Mode) on Android (just like Wireless Router/[netsh wlan hostednetwork] on Windows 7/8) might be really helpful too.

  • And also some explanations about how to masquerade (internet sharing) between two interfaces in Android. (such as ICS in Windows or Masquerade/iptables thingy in Linux-based)
4
  • possible duplicate of How to set up reverse tethering over USB?
    – t0mm13b
    Aug 14, 2013 at 8:38
  • 2
    @t0mm13b No. The OP doesn't want to know how to set up reverse tether, but how to share that connection to other devices.
    – Izzy
    Aug 14, 2013 at 8:49
  • 1
    yeah, that's quite different that just reverse tether.. it's more advanced which, after you tether, you do "masquerade" sharing from usb0 into wlan0 and broadcast that as wifi hotspot. i understand that mistake that pretty "similar". please let LO this one. thanks in advance.
    – akasection
    Aug 14, 2013 at 9:37
  • Btw: You might wish to take a look at Can we use an Android phone as a Wi-Fi repeater? and see how it applies to your case. Don't forget to let us know here then :)
    – Izzy
    Aug 18, 2013 at 18:36

2 Answers 2

5

I managed to make it work. Here is an "OSI-like" diagram of my setup, if it makes sense:

 ____________________   ______________________________    ____________
|   LinuxVM <----+  |  |                              |  |            |
|  VirtualBox    |  |  |                              |  |            |
| Windows7(host) |  |  | +--> AndroidPhone <-------+  |  | +-->Laptop |
|  (USB)         +-------+   (USB)  (wifi-HotSpot) +-------+   (wifi) |
|___________________|  |______________________________|  |____________|

The script is located at the XDA forum: http://forum.xda-developers.com/showpost.php?p=50236807&postcount=9

## 0.a. Connect android-phone to PC through USB.
## 0.b Enable Settings|...|Tethering 
##  (so that the device gets detected by the PC's kernel, you should see the following with 'dmsg':
##         [    3.976599] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-0000:00:0b.0-1, RNDIS device, 4e:d5:8c:7b:4f:5a
## Enable Settings|...|Wifi-Hotspot


## Setup usb reverse-tethering.
#  from: http://forum.xda-developers.com/show....php?t=2287494
#
#  Yours device might be 'rndis0' or something else.  Check by just typing 'netcfg'.
#
netcfg usb0 dhcp
busybox route add default gw 10.42.0.1 dev usb0


## Disable mobile-data.
#
busybox ifconfig rmnet_usb0  0.0.0.0


## Masquerade through USB.
#
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -F
iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE
iptables -P FORWARD ACCEPT


## Set DNS (if neccessary, ie google's 8.8.4.4).
#
setprop net.dns1 XX.YY.ZZ.WW
4
  • man.. the wait is over. this is the godlike answer XD Thanks a lot :)
    – akasection
    May 24, 2014 at 6:17
  • 2
    Excuse me, would you please tell me where to write and execute this script to allow wifi tethering while reverse tethering from usb? And please, is it a one way process or is it temporal?
    – user32844
    Oct 21, 2014 at 23:14
  • 1. it's temporal. it breaks if any of interface down (offline) or restarted. 2. write this script via text editor and save it as <filename>.sh, execute it via terminal (emulator).
    – akasection
    Sep 20, 2015 at 13:21
  • I able to access PC internet in android mobile using "AndroidTool.exe" tool now can anyone tell me what is next step to share the internet using wifi-HotSpot to other devices. above command tried still no success. Apr 26, 2016 at 9:23
1

I made a tool special for that use case: tetherspot

This script simplifies reverse USB tethering with WiFi hotspot on non-rooted Android devices

The main idea is to use

  • Gnirehtet on PC to start reverse USB tethering via VPN and adb
  • Proxy server on Android to route WiFi hotspot traffic to VPN

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .