Introduction
This guide is intended to help you share Internet connection from your PC to your Android smartphone/tablet via USB cable. This technique is called USB reverse tethering. It is different from USB tethering in which you share Internet from your Android to your PC. There are many reasons why you need this technique working:
- You don't have mobile/wifi network and your PC doesn't have any wifi adapter
- You can't do tethering over wifi, for example, your company doesn't let you make any hotspot at work
- You don't want to spend money for a mobile plan, and you want a more stable and faster Internet connection than wifi
- You don't want your PC and your Android to become too hot because of wifi
- You want your Android charged while in use
...
You have searched and found some applications/tools/solutions, you followed exactly their instructions but finally you were frustrated because they didn't work, here I come for a new method.
This method works following Internet connection sharing basics. If your Android device is able to do USB tethering, you will be able to do USB reserve tethering with this method!
Advantages:
- No additional software on your PC. Leave no trace on your PC. Imagine when you are at work and you have to install some crappy "toy" application on your PC to estiblish a tunnel connection for this task.
- Works with Windows, Linux and Mac OS X
- You know what you do. Who knows what the "easy-to-use" tools do when they fail to help you?
Disadvantages:
- You have to type some commands on your Android.
If you are ready, let's start!
Requirements:
- Rooted Android device with "USB tethering" capability. Check in Android Settings - Wireless & networks - Tethering & portable hotspot. Many stock ROMs disable this capability. You must enable it somehow (root your Android and use an application to enable or replace the stock ROM). CyanogenMod ROMs always have this capability. The important thing to remember is when you connect your Android and enable "USB tethering", it appears as a USB network adapter, not a mass storage or media device.
- PC with a working Internet connection.
- USB cable to connect your Android to your PC.
- Terminal Emulator on your Android. If you don't want to type commands on your touchscreen with Terminal Emulator, you can use your PC keyboard to enter commands with "adb shell". adb is a part of Android SDK which is available for download from Google. To use adb, you need to enable "USB debugging" on your Android.
- Optional, BusyBox on your Android.
Step 1: Connect your Android to PC by USB cable and enable "USB tethering". You are still allowed to enable this option even when your 3g/wifi on your Android is off.
- If you are using Linux (Ubuntu), you don't need to install anything. NetworkManager applet will try to establish a connection on the new detected wired network device.
- If you are using Windows, Windows will automatically search Windows Update and install driver for you. You can skip Windows Update search and install manually an already included driver from Microsoft. In Install Driver window, click Browse My Computer, then Let me pick..., select Network Adapters, uncheck Show Compatible Hardware, look at "Microsoft Corporation" at the left column, and choose Remote NDIS Compatible Device from the right column. You can install or update a driver from Device Manager in Windows.
- If you are using Mac, install driver HoRNDIS. You will be notified about a new network interface. Click "Network Preferences" in the dialog to add it to known interfaces list. Then "Apply".
- If you are using Linux without GUI or NetworkManager, run these commands as root (or use sudo):
Code:
ifconfig usb0 10.42.0.1 netmask 255.255.255.0
(suppose that you don't have any other USB network adapter, otherwise, your Android may be usb1, usb2...)
Code:
echo 1 > /proc/sys/net/ipv4/ip_forward
Command for sudo will be:
Code:
sudo 'echo 1 > /proc/sys/net/ipv4/ip_forward'
Code:
iptables -t nat -F
iptables -t nat -A POSTROUTING -j MASQUERADE
Step 2:
- If you are using Linux, click on NetworkManager applet at the top right of your screen, select "Edit Connections...". In tab "Wired", choose the new established connection (be careful, not Ethernet LAN connection) and click "Edit..." In tab "IPv4 Settings", choose "Shared to other computers" as Method. Click "Save". NetworkManager will reestablish the connection and assign to your PC an IP address on this USB network connection, default: 10.42.0.1. Leave Internet connections (wired or wireless) untouched.
- If you are using Windows, open "Network Connections" in Control Panel. It is somewhat different from setup in Linux. Right click on an Internet connection that you have. I assume that you are using a desktop which doesn't have any wifi adapter, so right click on LAN Ethernet connection with Internet, and select "Properties". In tab "Sharing" (or "Advanced" for Windows XP), click "Allow other network users to connect through...", then select the USB connection in dropdown list below. Click OK. Windows will automatically setup your USB network connection and assign to it an IP address, default for Windows 7: 192.168.137.1, default for Windows XP: 192.168.0.1. You can see your Internet connection is now "Shared" and your USB connection is now "Unidentified network".
- If you are using Mac, open System Preferences - Network. If you installed HoRNDIS, you will see a new network interface corresponding to your USB connection. With "Using DHCP" as Configure Ipv4, it may be already connected. Go back to System Preferences, click "Sharing". Select "Internet Sharing". Choose the Internet connection (Ethernet or Airport...) in "Share your connection from", and choose USB connection interface in "To computers using". Mac will assign to your USB connection interface an IP address, default: 192.168.2.1.
- If you are using Linux without GUI or NetworkManager, you have done all PC setup in step 1.
Your PC setup is now done!
Step 3:
Open Terminal Emulator on your Android. Type:
Code:
su
The command prompt must change from $ to #. If it does not, check to ensure that your device is rooted properly.
[UPDATED]Type the following command in Terminal Emulator, the same for all PC operating systems:
Code:
netcfg rndis0 dhcp
The name for usb interface inside Android may vary. It is usually rndis0 or usb0. Type
Code:
busybox ifconfig
to identify the name.
Use OLD instructions below when automatical dhcp method does not work.
[OLD]Type these following commands in Terminal Emulator:
For Linux PC:
Code:
ifconfig rndis0 10.42.0.2 netmask 255.255.255.0
route add default gw 10.42.0.1 dev rndis0
If route fails, try:
Code:
busybox route add default gw 10.42.0.1 dev rndis0
For Windows PC, use the same above commands, replace 10.42.0.2 by 192.168.137.2 (192.168.0.2 for Windows XP), replace 10.42.0.1 by 192.168.137.1 (192.168.0.1 for Windows XP)
For Mac PC, replace 10.42.0.2 by 192.168.2.2, replace 10.42.0.1 by 192.168.2.1
Now you can close Terminal Emulator and start the browser for Internet.
Some applications (download in Google Play, GMail, Facebook...) don't recognize Internet connection. You can try this way (WARNING: NOT TESTED):
- Enable temporarily 3G connection on your Android
- Type:
Code:
ifconfig rmnet0 0.0.0.0
The name for 3G interface inside Android may vary: ppp0, rmnet0... Type
Code:
busybox ifconfig
to identify the name.
before ifconfig rmnet0 ... above.
This will make applications see your Internet connection via USB as 3G!
USB tethering settings on Android will be reverted automatically when you unplug USB cable. To revert back settings on PC, uncheck "Allow other network users to connect through..." on Windows, "Internet sharing" on Mac, change from "Shared to other computers" back to "Automatically (DHCP)", or simply delete USB connection from NetworkManager on Linux.
Awesome tutorial! I moved to a new office at work and lost my 4G signal, they don't have new WiFi AP's up yet, and Edge sucks. I figured out the first half but couldn't figure out how to take a DHCP address on the USB connection on my phone. That worked perfectly and if you leave WiFi or mobile data on then ifconfig it to 0.0.0.0 Gmail et. al. work fine as well. Combined with my Open VPN bridged tunnel to my home network this is a great system for getting a connection away from wireless signals.
pretty handy. glad I found this thread.
p.s Newsworthy soon.
I tried the instructions provided in the tutorial for LAN n 3G connection.
The internet is not starting on my mobile
Very useful! Many times I've gone to Vegas wondering if I could tether my phone's internet to my computer using USB instead of having to use wifi tether or paying for over expensive slow internet! Definitely a useful tool and money saver
Hi!
Thanks for this awsome tutorial but something isnt working for me.
I gues it is at this step:
Click "Allow other network users to connect through...", then select the USB connection in dropdown list below. Click OK. Windows will automatically setup your USB network.
When i allow other network users i dont get any dropdown list and when i press setings below it myself i get a list but there is no USB in there.
I selected everything in there but it still did not work :/
What might the problem be?
also my device seems to be usb0 not rndis0 because terminal said "no such device" and with usb0 it said nothing
Thanks!
aww thanks to share
This is much easier.
xeph20 said:
Hi!
Thanks for this awsome tutorial but something isnt working for me.
I gues it is at this step:
Click "Allow other network users to connect through...", then select the USB connection in dropdown list below. Click OK. Windows will automatically setup your USB network.
When i allow other network users i dont get any dropdown list and when i press setings below it myself i get a list but there is no USB in there.
I selected everything in there but it still did not work :/
What might the problem be?
also my device seems to be usb0 not rndis0 because terminal said "no such device" and with usb0 it said nothing
Thanks!
Click to expand...
Click to collapse
Your Windows must see your Android as a USB network adapter. Go into Device Manager and check under Network Adapters to see if it is there.
If it isn't there, did you enable "USB tethering"? Go into Android Settings - Wireless & networks - Tethering & portable hotspot. When you activate USB tethering, Windows will popup New Hardware dialog for the first time. If you don't activate USB tethering, there will be neither rndis0 nor usb0.
oddoneout said:
This is much easier.
Click to expand...
Click to collapse
Maybe, but that method requires you to install an additional software on your PC. It works with Windows only. The connection is slower, for sure, because data packages have to be routed through the software. And that method proved 'not fully working' (some applications can't connect to Internet).
Thank you
Thank you for posting this great method.
I tried it on my HTC Desire HD and now I am suffering some issues.
After doing all the steps, the internet doesn't work. And after using the command ifconfig rmnet0 0.0.0.0, the usb connection is not recognized by my phone now. I found that the usb debugging option was disabled after the configuration steps. After I re-enable the usb debugging in the setting, the usb connection is still not recognized.
If anyone know how to re-enable my usb connection, please let me know. Thank you.
wangzhuoyu said:
Thank you for posting this great method.
I tried it on my HTC Desire HD and now I am suffering some issues.
After doing all the steps, the internet doesn't work. And after using the command ifconfig rmnet0 0.0.0.0, the usb connection is not recognized by my phone now. I found that the usb debugging option was disabled after the configuration steps. After I re-enable the usb debugging in the setting, the usb connection is still not recognized.
If anyone know how to re-enable my usb connection, please let me know. Thank you.
Click to expand...
Click to collapse
USB debugging option is quite irrelevant. Here I mentioned "USB tethering" capability, not "USB debugging". You can do all steps in this instruction with USB debugging off. Please tell me more when you mean "the usb connection is not recognized by your phone"
phamthanhnam said:
USB debugging option is quite irrelevant. Here I mentioned "USB tethering" capability, not "USB debugging". You can do all steps in this instruction with USB debugging off. Please tell me more when you mean "the usb connection is not recognized by your phone"
Click to expand...
Click to collapse
Thank you for your reply.
I mean when the usb cable is plugged, and the phone is connected with PC by the usb cable, there is no real connection between them.
When I used the command: busybox ifconfig, the usb0 device is not listed any more.
wangzhuoyu said:
Thank you for your reply.
I mean when the usb cable is plugged, and the phone is connected with PC by the usb cable, there is no real connection between them.
When I used the command: busybox ifconfig, the usb0 device is not listed any more.
Click to expand...
Click to collapse
Try to enable USB tethering again, or better restart your phone, then connect it to PC and enable USB tethering. usb0 will disappear if USB tethering option is off.
You will have working Internet connection before ifconfig rmnet0 0.0.0.0. Try open browser or ping first.
phamthanhnam said:
Try to enable USB tethering again, or better restart your phone, then connect it to PC and enable USB tethering. usb0 will disappear if USB tethering option is off.
You will have working Internet connection before ifconfig rmnet0 0.0.0.0. Try open browser or ping first.
Click to expand...
Click to collapse
Thank you so much. But I can't enable USB tethering even after restart my phone and connect it to PC. The USB tethering option is black. My phone can't be recognized by PC now.
wangzhuoyu said:
Thank you so much. But I can't enable USB tethering even after restart my phone and connect it to PC. The USB tethering option is black. My phone can't be recognized by PC now.
Click to expand...
Click to collapse
Hi, I reflashed the ROM and redo all the steps. It still doesn't work. However, the USB connection is established.
And I pinged my phone from PC. I got reply from My phone.
Then I figured out that the Symantec Firework stopped the internet traffic of the shared internet. By changing to allow IP traffic, now my my phone can access the internet with the USB cable.
Some apps work well, including Google Play and Gmail. But Fongo, Nonoh says no Internet connection.
If someone know how to make Fongo and Nonoh work, I really appreciate it.
Thanks again for the great help from you guys.
---------- Post added at 09:51 PM ---------- Previous post was at 09:26 PM ----------
wangzhuoyu said:
Thank you so much. But I can't enable USB tethering even after restart my phone and connect it to PC. The USB tethering option is black. My phone can't be recognized by PC now.
Click to expand...
Click to collapse
wangzhuoyu said:
Hi, I reflashed the ROM and redo all the steps. It still doesn't work. However, the USB connection is established.
And I pinged my phone from PC. I got reply from My phone.
Then I figured out that the Symantec Firework stopped the internet traffic of the shared internet. By changing to allow IP traffic, now my my phone can access the internet with the USB cable.
Some apps work well, including Google Play and Gmail. But Fongo and Nonoh says no Internet connection.
If someone know how to make Fongo and Nonoh work, I really appreciate it.
Thanks again for the great help from you guys.
Click to expand...
Click to collapse
It is very funny that actually Fongo connects to the internet and shows my account info. However, it still says WiFi & Data not available.
It seems that these apps don't test the internet accessibility by trying to connect to the servers, but by reading some WiFi & Data status information in the phone system. So how can we cheat them?
Thanks again for this wonderful post.
After using the command: ifconfig rmnet0 0.0.0.0, is there any way to reverse the command? Thanks. I want to check how some apps work if I didn't use the command.
Tried to use this method on linux, apparently either adb or terminal emulator stops working (adb says my device is offline, terminal emulator doesn't show any prompt, just blank screen) when I enable USB Tethering, therefore I can't execute the required commands.
Notworking in proxy connections
Hi,
I tried all the steps mentioned by you in my Kubuntu PC. All worked well except i'm not able to use internet on my mobile. My pc is connected to a network (which i want to share to my pc) via proxy settings. I pinged from my adb shell for other PCs in my network, and it worked without any packet loss. So my phone is actually connected to the network but i cant access internet. Is there any solution
wangzhuoyu said:
After using the command: ifconfig rmnet0 0.0.0.0, is there any way to reverse the command? Thanks. I want to check how some apps work if I didn't use the command.
Click to expand...
Click to collapse
Try to turn off mobile broadband, or this command:
ifconfig rmnet0 down
leledumbo said:
Tried to use this method on linux, apparently either adb or terminal emulator stops working (adb says my device is offline, terminal emulator doesn't show any prompt, just blank screen) when I enable USB Tethering, therefore I can't execute the required commands.
Click to expand...
Click to collapse
Try to use latest adb version (download from Google instead of using repository version). Android 4.2.2 requires you to accept connection from adb in a dialog displayed on your phone's touchscreen. Try to clear cache/application data in Android Settings/Applications for Terminal Emulator.
Sagar Uv said:
I tried all the steps mentioned by you in my Kubuntu PC. All worked well except i'm not able to use internet on my mobile. My pc is connected to a network (which i want to share to my pc) via proxy settings. I pinged from my adb shell for other PCs in my network, and it worked without any packet loss. So my phone is actually connected to the network but i cant access internet. Is there any solution
Click to expand...
Click to collapse
Run 'busybox route' in Terminal Emulator and assure the default gateway is correct. It should be Kubuntu PC's IP on USB interface (10.42.0.1), like this:
default 10.42.0.1 0.0.0.0 UG 0 0 0 rndis0
then try 'nslookup www.google.com' to see if it can reach DNS server and get domain name resolving.
Try to turn off firewall on your Kubuntu PC:
'sudo ufw disable'
I have not tested with proxy networks yet. Maybe you have something in your PC/network that blocks traffic from your phone to Internet?
Related
i.e. to access a PC's internet connection from the phone for data via USB (NOT use phone's 3G connection!)
My problems;
3G Data from my provider costs $269 a GB!
My PC has wireless internet but through a USB modem, not a router.
Cannot share the connection with a WiFi router as routers (or mine anyway) don't have a USB connection, ie I can't plug the USB modem into my router.
I can share data through a wireless dongle but only via ad-hoc network, but I can't seem connect my Dream to ad-hoc networks and am not even sure that it will be able to share the internet once connected. I've tried various Wifi tether applications.
So a USB tether app would be perfect. Else how can I use my PC's internet connection for data on the phone?
HTC Dream rooted and running CM4.2.8
Correction in title, YOU need a reverse teether.
WIFI is not hard to comeby, comeon.
The Dream can connect to ad-hoc networks, but ask that in Q&A.
No, I'm not the only one, this is a question that has been asked quite a few times before.
Also having read through many posts I have found no reference to anyone that has actually successfully shared the PC's internet connection to the phone with an ad-hoc network.
Wait a sec, you said that you have a WiFi router? A separate device from the USB modem?
1. Connect the router to your PC via Cat 5
2. Set up routing on your computer (ICS if you are running windows)
3. Set up the wireless part of the router
4. Connect the Phone to the router WiFi.
5. Use the WiFi normally from your phone.
This might help until someone can get reverse WiFi or USB tethering to work.
t1n0m3n said:
Wait a sec, you said that you have a WiFi router? A separate device from the USB modem?
1. Connect the router to your PC via Cat 5
2. Set up routing on your computer (ICS if you are running windows)
3. Set up the wireless part of the router
4. Connect the Phone to the router WiFi.
5. Use the WiFi normally from your phone.
This might help until someone can get reverse WiFi or USB tethering to work.
Click to expand...
Click to collapse
Look carefully to the topic. It has written USB not wireless.
kiiiiiid said:
Look carefully to the topic. It has written USB not wireless.
Click to expand...
Click to collapse
That would be why it is called a work around. The suggestion is a response to this statement "Else how can I use my PC's internet connection for data on the phone?" from the OP.
pardus said:
No, I'm not the only one, this is a question that has been asked quite a few times before.
Also having read through many posts I have found no reference to anyone that has actually successfully shared the PC's internet connection to the phone with an ad-hoc network.
Click to expand...
Click to collapse
I've shared internet with G1 via ad-hoc without problem. The solution I found in Q&A section
1. Get a Wireless router
2. Plug ethernet cable from PC to Internet Input on Router
3. In Windows control panel, edit the wireless connections settings to shared
4. Connect to the router and setup wireless network settings
5. Connect to wireless network with phone
There you have it, easy steps to do what you need.
After hours of 'googling', it seems that's it's impossible to get my router to share a USB modem's connection (http://forum1.netgear.com/showpost.php?p=68070&postcount=5)
@g1DDriver: Please show me where, I've searched but can't find it?
@Wisefire: 2. Plug ethernet cable from PC to Internet Input on Router - if I do that I cannot connect to the router at all, ipconfig shows the ip address as 192.168.1.2 but a browser just doesn't see it.
just buy a wireless router. they cost what, like 10$ now while on sale?
kb8to24 said:
just buy a wireless router. they cost what, like 10$ now while on sale?
Click to expand...
Click to collapse
could also try this
http://www.readwriteweb.com/archives/watch_out_wifi_here_comes_mifi.php
kb8to24 said:
just buy a wireless router. they cost what, like 10$ now while on sale?
Click to expand...
Click to collapse
perhaps you're not reading my first post correctly, I have a wireless router...
...and anyway is it even possible to plug a USB modem into a router, it would need drivers & software which the the router can't handle?
My ISP also has their own proprietary modems (http://www.iburst.co.za/default.aspx?link=hardware_modems) which are very pricey, so I'm not getting another modem either.
I've been trying to set-up an ad-hoc network using the instructions here: http://blog.joint.net/2009/07/connecting-android-phone-through-adhoc.html
but having no luck.
Who'd of thought something so painlessly simple in WM6 would be a nightmare in Android
pardus said:
My ISP also has their own proprietary modems (http://www.iburst.co.za/default.aspx?link=hardware_modems) which are very pricey, so I'm not getting another modem either.
Click to expand...
Click to collapse
From that link, which modem do you have. A model # would be nicer.
Also, what is the model # of your router?
What OS are you using?
pardus said:
@Wisefire: 2. Plug ethernet cable from PC to Internet Input on Router - if I do that I cannot connect to the router at all, ipconfig shows the ip address as 192.168.1.2 but a browser just doesn't see it.
Click to expand...
Click to collapse
That would be because you are trying to manage the router from the WAN port... If you want to be able to do this you need to enable remote management. (Connect PC to inside, enable remote management, the connect to outside (WAN port) and use the http:// 192.168.1.1:8080 or whatever you set the port RM to)
The modem I have is "USB Modem for laptops and desktops"
Router is the Netgear WGR614v7 and OS is Win XP
I see a couple of things that could have prevented you from making this work.
By default the Netgear router gives 192.168.1.0 (mask of 255.255.255.0) to the inside. You cannot use the same network between the computer and the router. I would change the network on the inside of the router to 192.168.5.1 255.255.255.0. (Just change the 1 to a 5 in the router settings.)
ftp://downloads.netgear.com/files/wgr614v7_ref_manual_20apr06.pdf
So connect your PC to one of the four ports. Let it get an IP address. Connect to http://www.routerlogin.net (Per the instructions in the PDF.) Login and change the inside address pool to 192.168.5.1 255.255.255.0. (Instructions are at Chapter 6, "Using the LAN IP Setup Options" in the PDF above.) Reboot the router.
Connect to http://www.routerlogin.net again. Login and enable remote management. (Instructions are Chapter 6, "Enabling Remote Management Access" in the PDF above)
Enable Internet Connection Sharing on your computer.
Reboot the router again.
Once the router connects again, open a command prompt and do a "arp -a" (without the quotes) and get the IP address of the router. (It will be the IP address in the 192.168.1.x range that is *not* listed in an ipconfig from the command prompt)
Connect to that IP address (for example http://192.168.1.6:8080) and continue on setting up the wireless part normally.
Once you connect your phone to WiFi the connection flow looks something like this:
Phone = 192.168.5.21 > NAT > 192.168.1.6 <routed> 192.168.1.1 (IP of your Wired NIC on the computer) > NAT > USB NIC IP address > Internet
Of course the IP addresses above are just guesses as to what you will actually see.
Hopefully this will get you going well enough until someone gets reverse tethering to work.
Reverse tether g1 to pc network over usb cable
My android os is CyanogenMod 4.2.14.1,
1.Enable "Settings\Wireless controls\Internet tethering"
2.Install HTC Remote NDIS based Device driver(View attachment 277122)
3.Set the HTC adapter as: IP:192.168.2.1, Mask:255.255.255.0
4.Set the PC ethercard as shared connection
5.Run these codes in terminal:
su
ifconfig usb0 192.168.2.2 netmask 255.255.255.0
busybox route delete default
iptables -F
iptables -F -t nat
busybox route add default gw 192.168.2.1
setprop net.dns1 8.8.8.8
setprop "net.gprs.http-proxy" ""
6.Now your g1 could open browser to view any web pages on the internet, and update apps in the Market.
for diyism
Hey there.
I´ve searched the forums but i didnt found for a way to share a desktop internet connection with the phone by USB.
There are many ways to tether (share phone connection with the desktop/laptop, wired or wireless), but are there any way to share internet the opposite way?
Thanks!
Dont think so.
As far as I know, there is only one option to connect to internet through PC. You can connect by WiFi, but only with Windows 7, because Desire can't connect to ad-hoc network.
If you are interested in this subject, go to connectify.me
Thanks for your help!
YES if you have windows 7 and wifi.
Sorry to bump this but was a big deal for me also and I found a solution.
I use a peice of software called connectify (google it) which uses some new part of windows 7 networking to allow you to turn your computer into a wifi router.
It even works when connected via wifi which obviously it pointless if you have wifi already. We dont at work so I use it then and have about 6 others connected from thier desires with no effect on me.
HI
I have found the solution to share PC's internet on mobile via USB. I am using ubuntu 10.04 and HTC dream with superfroyo2.2. I just did the following:
First of all, connect the PC to Phone via usb. and enable tethering on phone. (Don't panic. I am going to tell you how to do the reverse of it.)
Your PC will get the IP 192.168.42.37 and mobile will have the IP 192.168.42.129.
Settings on PC
sysctl net.ipv4.ip_forward=1
Above command will enable routing on the PC.
Now go to your phone via adb shell
and give following commands;
#setprop net.dns1 8.8.8.8
also need to set default gw using
# busybox route add default gw 192.168.42.37
by above commands on mobile you have set the dafault gateway to be PC's IP and also set the DNS.
and BINGO..your internet should work on mobile now.
If you still get some problem, then troubleshoot it step by step. First ping your PC from mobile and mobile from PC, both should ping each other and make sure, your PC is connected to internet and there is no firewall or antivirus on the PC that may block incomming traffic from mobile.
As a further test you can give following command to enable NAT on your PC:
// iptables -t nat -A POSTROUTING -s 192.168.42.0/24 -j MASQUERADE
I did not use this command and natting was done without this command on my PC, my be due to some error or other configurations that I don't know but its good for me that its working without it
HD roms had that IIRC
Sent from my HDfied HTC Desire
i dont think its possible right now :/
Hi to all
as i heave seen there is no solution for reverse tethering for android.
partial solution may be in using adb forward command and some sort of tunneling on windows.
What i think is that software on windows machine acts as tcp/ip tunnel and all packets are transfered to usb and on android device should run app that acts as other side of tunnel.
since im not software developer i wonder if someone might take a look at this type of solution for reverse tethering
please no solutions as buying router and similar.
grunf said:
as i heave seen there is no solution for reverse tethering for android.
Click to expand...
Click to collapse
Errr... no? Android is just linux, so you could do anything with it. It should be possible to tether using wifi, bluetooth or even usb.
I was reverse-tethering over bluetooth some time ago, cause I didn't have data plan.
Root your phone - most decent roms have ad-hoc support, so you could very easily share your internet connection from windows. I don't know about BT and USB on Windows. I think there are some PAN managers, so you will be able to create BT connection. Also I think there is usbnet driver for windows. But I don't know, whether it's possible to share internet to these two connections. It's all much easier on linux ;-)
i was thinking about sharing thru wifi and bt but when i activate ICS ip address changes and router at work doesn't like that...
using usb- i did find some reference about Remote NDIS based Internet Sharing Device and i got drivers but i can not figure out how to install them without messing adb.
my phone(lg gw620) is rooted and i do agree that on linux is easier but due to company policy i heave to use windows.
Have you tried conectify for your PC?
grunf said:
i was thinking about sharing thru wifi and bt but when i activate ICS ip address changes and router at work doesn't like that...
Click to expand...
Click to collapse
I'm not sure what do you mean. You connect your PC to a router using cable and want to share this connection to a phone using wifi, right? Then ICS shouldn't change your IP on router side (ethernet one) - AFAIK it set IP of interface you share *to*, not *from*. Modifying *from* connection doesn't have much, cause it would always broke your connection to the internet. Are you sure you share it in correct direction? ;-)
Brut.all said:
Root your phone - most decent roms have ad-hoc support, so you could very easily share your internet connection from windows.
Click to expand...
Click to collapse
Humm.... so that's what the point of adhoc support on phone would be. I couldn't think of any reason my phone would need to pick up an adhoc connection
Ahh or maybe you have 192.168.0.* subnet in your work, ICS set same subnet on wifi side and this is your problem?
Also you could try to bridge these connections instead of doing "normal" sharing. It's easier and if your router doesn't do some MAC checks, this should work.
Isn't there are a easier way like we had on WM6. I am wanting to do it since ages and couldn't get through.
Brut.all said:
Root your phone - most decent roms have ad-hoc support, so you could very easily share your internet connection from windows. I don't know about BT and USB on Windows. I think there are some PAN managers, so you will be able to create BT connection. Also I think there is usbnet driver for windows. But I don't know, whether it's possible to share internet to these two connections. It's all much easier on linux ;-)
Click to expand...
Click to collapse
Could you recommend such a decent rom? I'm using LG GT540. So far didn't see a need to root, but internet connection sharing is definitely worth it.
Brut.all said:
I don't know about BT and USB on Windows. I think there are some PAN managers, so you will be able to create BT connection.
Click to expand...
Click to collapse
It's possible, but Widcomm bt stack is needed, microsoft's built-in can't do it.
Search for Widcomm bt software v 5.0.1.801- Logitech branded (doesn't ask for licence files and no "software expired" message). NOTE- Widcomm drivers are not WHQL certified.
I use BTPAN for my ancient laptop with WinXP and Xubuntu 10.04, no problems with connection
@gen_scheisskopf
bt pan does exactly same as ics would. problem is that firewall at work doesn't work with other IP address then ones assigned by dhcp. doing bridje of two networks messes up ip addresses and then firewall messes with me .
why is it so hard to achieve? windows limitation or android limitation? can we write software to behave like generic rndis (winmo device description)?
grunf said:
why is it so hard to achieve? windows limitation or android limitation?
Click to expand...
Click to collapse
Both. As I said if you have some decent ROM and OS on your PC, then this is just few clicks. I have an Ubuntu, so I click on "create network", then my G1 detects it and connects without any problem. That's all. On Windows Vista you won't have DHCP server and good NAT capabilities. On WinXP you will have problems even with creating a network. On the other hand if you have stock Android on your device, you will get into problems too.
hmmm....
some time ago i heave found drivers for linux devices that in windows it is installed as network device. i need to find that again.(here they are http://forum.xda-developers.com/showpost.php?p=4438553&postcount=41)
maybe this can be used to enable android to act as usb/network device and then to make some sort of routing in windows from regular network to this virtual usb/network...
time to bash my head with solutions and to try some of them, windows pc is ready for format c:.
Check this for a possible solution:
blog.mycila.com/2010/06/reverse-usb-tethering-with-android-22.html
thx for info.
my problem is that i heave phone with android 1.5 and lg is not going to release newer version. until community makes 2.2 available i can't use this trick.
Reverse thetering in windows is possible and easy...
but it may depend on some drivers from your phone manufacturer.
I am using a Motorola XT300 Spice.
To use a USB reverse tether (i.e. sharing the computer network, so I can connect the phone to the internet to sync emails or browse the app market when I don't have a data plan from my company or a wi-fi network available) with XT300:
On the XT300:
- enable USB debugging
- root your phone (z4root works on the xt300)
- connect the USB cable and connect the phone on the computer
- a menu window will appear, select the Motorola PC Tools option
On the computer (tested with Windows 7):
- wait for all Motorola driver's be installed
- a new network interface will be created. That is your phone
- on the network management right click on the network interface that you use to connect to the internet, select properties, advanced, mark the internet sharing checkbox and select the network interface that has been created for your phone to share the connection
On the XT300:
- open a terminal emulator and type the comands
su
netcfg usb0 dhcp
That is it. You have access to the internet.
On the computer don't forget to create rules in your firewall and/or anti-virus program to permit network traffic between the computer and the phone.
It should be even easier on Linux computers, since newer kernels usually have netusb support enabled but it seems that Ubuntu has its netusb.ko driver or some other needed module broken. I could not enable it to work on Ubuntu 10.04 but I could do this on Ubuntu 8.04 and Centos 5.x
I don't know if other android manufacturers are shipping NDIS5 USB capable drivers. I suppose that all have drivers but the only one that I have is the XT300. A little fidling with USB configuration may be needed, since names and options and menu can vary.
If someone knows the steps needed to enable usbnet on Ubuntu 10.04 I would appreciate the help.
HTH
orlando
jorlando said:
but it may depend on some drivers from your phone manufacturer.
I am using a Motorola XT300 Spice.
To use a USB reverse tether (i.e. sharing the computer network, so I can connect the phone to the internet to sync emails or browse the app market when I don't have a data plan from my company or a wi-fi network available) with XT300:
On the XT300:
- enable USB debugging
- root your phone (z4root works on the xt300)
- connect the USB cable and connect the phone on the computer
- a menu window will appear, select the Motorola PC Tools option
On the computer (tested with Windows 7):
- wait for all Motorola driver's be installed
- a new network interface will be created. That is your phone
- on the network management right click on the network interface that you use to connect to the internet, select properties, advanced, mark the internet sharing checkbox and select the network interface that has been created for your phone to share the connection
On the XT300:
- open a terminal emulator and type the comands
su
netcfg usb0 dhcp
That is it. You have access to the internet.
On the computer don't forget to create rules in your firewall and/or anti-virus program to permit network traffic between the computer and the phone.
It should be even easier on Linux computers, since newer kernels usually have netusb support enabled but it seems that Ubuntu has its netusb.ko driver or some other needed module broken. I could not enable it to work on Ubuntu 10.04 but I could do this on Ubuntu 8.04 and Centos 5.x
I don't know if other android manufacturers are shipping NDIS5 USB capable drivers. I suppose that all have drivers but the only one that I have is the XT300. A little fidling with USB configuration may be needed, since names and options and menu can vary.
If someone knows the steps needed to enable usbnet on Ubuntu 10.04 I would appreciate the help.
HTH
orlando
Click to expand...
Click to collapse
You can easily undo this by disabling the internet connection sharing on the PC?
Its already here. I use it a lot. It is a standard feature on HTC sense revolution in the rom I am using. The function appear whenever you connect to PC with usb cable. So...
I guess you just need a sense rom or maybe extract it from sense...
Hello all,
I feel like an idiot not figuring out myself, but I have the following question:
I would like the phone to connect to Internet via the USB connection (to a laptop with net connectivity).
How do I do that ?
Also, the reverse problem: How do I do "USB connection tethering" i.e. how to connect the laptop to Internet via the 3G phone connection (USB cable again).
TIA for the help,
Florian
Hello again,
Just a quick reply that in the mean time I figured out how to connect the phone to the Internet via the USB connection to the network-connected laptop.
However, the connection doesn't seem to work -- the phone reports "no internet connection" and the NDIS network adapter in the computer is reported as "disconnected".
Any hints ?
Thanks again,
Florian
P.S. The computer is Win7x64 and the phone is with the default ROM installed
I've found this:
You need to do three things to enable the internet.
1. First make sure that network forwarding is working on the computer that the phone is connected to. 2. Add the default route to the phone:
route add default gw 192.168.0.200 dev usb0
3. Add the dns for proper name resolution
setprop net.dns1 192.168.0.200
You should be able to ping the computer the phone is connected to:
ping 192.168.0.200
You should also be able to ping IP addresses outside of that subnet if the route has been set up properly. The route can be verified by:
cat /proc/net/route
Click to expand...
Click to collapse
exadeci said:
I've found this:
Click to expand...
Click to collapse
Anyone tried this? I would like to try it also but needs a step-by-step guide for dummies like me...
exadeci said:
I've found this:
Click to expand...
Click to collapse
First, thanks for the reply.
I understand you correctly (I'm new to Android and Galaxy S, so please bear with me) I need to "root my device" to do the above. Is this right ? If not, any alternative to do/check that ?
Also, In which "USB mode" should I connect the device to the laptop to do that (connect the phone to the Internet through the laptop's netw. connection) ?
Also, to be noted here is that there is no network connectivity btw the phone and the laptop unless I use "PC Internet" USB mode (below)....
Wrt USB connection tethering: The "PC Internet" mode for the USB connection in the phone -- is that for this purpose ? It does seems so -- the network connection btw. the phone and the laptop does not come up if I'm in airplane mode (the notification bar says that I need to enable the phone / disable the airplane mode before connecting to the laptop in the "PC Internet" mode)
Thanks again,
Florian
anyone else ?
Thanks again, I really need to sort this out...
Need ROOT???????
hello everyone!
I was trying to find a way to connect my iconia via usb with my laptop and use my internet access for instances that wifi isn't available.
I searched a lot but there wasn't any usefull clear guide. So after some failing attempts, finally i managed to succeed (using win 7). Here are the steps:
*root is required*
1. install http://code.google.com/p/android-wired-tether/ (i used stable version 1.2 but i don't think 1.4 will make any problems) but do not enable it yet.
2. Install USB drivers from Android SDK instructions found here: http://developer.android.com/sdk/win-usb.html , later you will also need RNDIS drivers because when you connect the tablet with your pc and enable wired tether it will install the drivers. I found working drivers from HTC sync located at C:\Program Files (x86)\HTC\HTC Driver\Driver Files\Win7_x64\htcrndis.inf
you have to install them manually from the device manager (pick the: HTC Remote NDIS based device)
3. now that we have completed the installation with Wired Tether (still leave it running), we are ready to proceed to the next step. Open network connections. You will notice that now there is one more. (in my case no1 is local area and no2 local area 5 (the one wired tether created). select the connection you want to share go to properties and enter "sharing tab". tick "Allow other network users to connect through this computer's Internet connection" and pick the connection made by wired tether. Hit apply and you will have bridged the two connections.
4. open any emulator on your tablet and type:
Code:
su
ifconfig usb0 192.168.1.9 netmask 255.255.255.0 up
route add default gw 192.168.1.1 dev usb0
setprop net.dns1 8.8.8.8
setprop "net.gprs.http-proxy" ""
netcfg usb0 dhcp
at ifconfig command you enter an available ip of your router for example if your pc is connected to 192.168.1.7 you can pick 192.168.1.9 that is free.
at the second line enter the default gateway of your internet connection found under the detailed view of its options.
setprop "net.gprs.http-proxy" "" is in case you are NOT behind a proxy server
5. wait about 15 seconds and...
enjoy!
each time you enable wired tether you have to type in:
su
netcfg usb0 dhcp
to undo the hole "reverse usb" thing, simply unbridge the 2 connections, restart wired tether and you are ready to use it for normal tethering.
browsers work fine, facebook, pulse, tunein. i haven't tested many apps yet...
issues: Market browsing is ok but downloading apps not, some apps do not work.
p.s: it's my first guide so if something seems confusing or unclear, please forgive me!
interesting... question... why do you do " setprop "net.gprs.http-proxy" """?
i'm asking because maybe this is what i'm missing in my usb 3g for my wifi only
thor2002ro said:
interesting... question... why do you do " setprop "net.gprs.http-proxy" """?
i'm asking because maybe this is what i'm missing in my usb 3g for my wifi only
Click to expand...
Click to collapse
forgot to implement the source link...
comments to focus are:
Rugga said...
I'm using Windows 7. I shared my ethernet internet connection to the USB tether device.
In console emulator on the phone I typed:
ifconfig usb1 192.168.2.2 netmask 255.255.255.0 up
route add default gw 192.168.2.1 dev usb1
I can ping the gateway, I can also ping the web by IP address, eg 64.233.181.104 for google.com
What I can't do is use the browser or ping by domain name. I tried:
setprop net.usb1.dns1 192.168.2.1; and
setprop net.dns1 192.168.2.1
Click to expand...
Click to collapse
OK it is working now. After setting up ICS type in console emulator on your phone:
ifconfig usb0 192.168.2.2 netmask 255.255.255.0 up
route add default gw 192.168.2.1 dev usb0
iptables -F
iptables -F -t nat
setprop net.dns1 8.8.8.8
setprop "net.gprs.http-proxy" ""
Click to expand...
Click to collapse
it gave me a headache trying to understand what exactly does this line...
the only thing i managed to figure out is tha it redirects and leaves blank proxy server via gprs connection... is it a fake connection (gprs) that blocks data transfer via usb from apps? the only sure thing is that these 2 lines with setprop command fixed the issue with the apps (browser and others)...
first is google's dns, probably necessary as well...
btw great job with the modules!
A quick question
Is this Iconia-specific or can the same method be used on any Android device provided we have working RNDIS drivers for it?
The way it appears to me, I don't see why it shouldn't work on other devices but please correct me if I am wrong.
HQRaja said:
Is this Iconia-specific or can the same method be used on any Android device provided we have working RNDIS drivers for it?
The way it appears to me, I don't see why it shouldn't work on other devices but please correct me if I am wrong.
Click to expand...
Click to collapse
in devices which already have the tethering ability, the hole wired tether thing doesn't need installation, so it is easier and i think it will work on any android based devices. so give it a try!
probably you won't even need to install RNDIS drivers, but in any case the HTC ones work like a charm (some other that i tried crashed windows upon connection).
you don't have to get specific RNDIS drivers especially for your device cause they are used for connecting usb devices used as network ones.
so... give it a try!
Exactly what i need desperately, i have a wifi signal which is very poor, i use external antenna to boost wifi signal. This external antenna has no drivers for android for sure, therefore i need to do reverse tethering to share internet connection from my computer.
I tried to use your guide but i think it needs a bit more details. I installed android tethering 1.4 but i am stuck at step 2 cause at this step when i turn on debugging mode on iconia then PC searches for drivers but doesn't accept the ones i downloaded from android SDK.
Kindly help me with this, i will be grateful for that.
Thanks.
usman3206 said:
Exactly what i need desperately, i have a wifi signal which is very poor, i use external antenna to boost wifi signal. This external antenna has no drivers for android for sure, therefore i need to do reverse tethering to share internet connection from my computer.
I tried to use your guide but i think it needs a bit more details. I installed android tethering 1.4 but i am stuck at step 2 cause at this step when i turn on debugging mode on iconia then PC searches for drivers but doesn't accept the ones i downloaded from android SDK.
Kindly help me with this, i will be grateful for that.
Thanks.
Click to expand...
Click to collapse
Hi! Sorry for my late answer to that. I've been away for a while...
try the drivers that are located at http://acer.us/ac/en/US/content/drivers
pick tablet, iconia tab, a500 and then download the usb drivers.
Any chance to enable this with an android phone? Wired tethering from the phone I mean.
There's actually a free program @ http://www.connectify.me
Its for Windows and they are developing an android app as well. But the windows software is quite easy and makes your computer or laptop a "hotspot" to connect multiple devices too.
enjoy!
Bec07 said:
Any chance to enable this with an android phone? Wired tethering from the phone I mean.
Click to expand...
Click to collapse
i'll give it a try (i assume you mean via usb connection).
connectify is for wireless networking. the hole reverse usb tethering thing is based on usb connection without any participation of a wireless network at all.
the majority of the latest android phones can become a hotspot natively anyway.
He does not want to install the driver from HTC. There are other options?