USB Tethering between android devices - Android Q&A, Help & Troubleshooting

Hi,
I've been trying for some time to share an internet connection between an android phone (tried with several phones) and an android Tablet (Samsung Active Tab 2).
Rooted the tablet (after some very long research) and tried the following methods:
1. Connect two devices with OTG connector, turned on RNDIS and configured both rndis0 interfaces to be on the same network (different IP addresses ofc) - no ping, nor udp messages (using a UDP Sender\Receiver app) go through.
2. Tried creating a VPN server on the host device (the one providing internet) which creates a tun0 interface that listens to the rndis0 interface - Could not connect to server.
3. Used "Easy Tether Lite" on both devices and managed to share internet, but limited to the Lite version which allowed the use of HTTP only - This shows that it can actually be done using only a USB cable and OTG adapter.
Would appreciate some help with this matter.
Thank you all,
EDIT: Was thinking this may be done using a different Ethernet interface instead of RNDIS. Any ideas?

Shedaim said:
Hi,
I've been trying for some time to share an internet connection between an android phone (tried with several phones) and an android Tablet (Samsung Active Tab 2).
Rooted the tablet (after some very long research) and tried the following methods:
1. Connect two devices with OTG connector, turned on RNDIS and configured both rndis0 interfaces to be on the same network (different IP addresses ofc) - no ping, nor udp messages (using a UDP Sender\Receiver app) go through.
2. Tried creating a VPN server on the host device (the one providing internet) which creates a tun0 interface that listens to the rndis0 interface - Could not connect to server.
3. Used "Easy Tether Lite" on both devices and managed to share internet, but limited to the Lite version which allowed the use of HTTP only - This shows that it can actually be done using only a USB cable and OTG adapter.
Would appreciate some help with this matter.
Thank you all,
EDIT: Was thinking this may be done using a different Ethernet interface instead of RNDIS. Any ideas?
Click to expand...
Click to collapse
hello,
I'm facing the same situation. I had the idea that option 1 should be easy but not.
The phone detect the tablet device and let me to activate the function "USB tethering" but nothing change on the tablet, impossible to navigate or ping.

Related

[Q&Soln] USB tethering creates endless new "Windows networks"

Whenever I tether my laptop via the USB cable it takes a long time for the laptop to connect and when it does, it says "Connected to Network X", where X is a number. Everytime I reconnect via USB X increases by 1 so the last time I did it I was on Network 43!!!!! I accept that this could be in part a windows thing and not a GS3 thing BUT when I connect via a Wifi Hotspot it connects really really quickly and always says I am connected to AndroidAP. Its as if the USB tethering firmware is
Therefore connecting via hotspot seems much more stable and smooth however I was under the impression that the laptop internet speed will be quicker using USB tether rather than wifi and as I primarilly use my SGS3 as my home broadband connection I want to try and configure it to get the fastest speed on my laptop as possible. If I do an internet speed check on my SGS3 while my laptop is tethered the phone connection is always faster than the doing the same on the laptop. I guess this should be perhaps expected but as much as 4Mbits/s. I.e My phone was getting speeds of 6Mbits/sec but without having any apps open on the phone, my laptop would only get 2Mbits/s????
Any advice?
Ginyons said:
Whenever I tether my laptop via the USB cable it takes a long time for the laptop to connect and when it does, it says "Connected to Network X", where X is a number. Everytime I reconnect via USB X increases by 1 so the last time I did it I was on Network 43!!!!! I accept that this could be in part a windows thing and not a GS3 thing BUT when I connect via a Wifi Hotspot it connects really really quickly and always says I am connected to AndroidAP. Its as if the USB tethering firmware is
Therefore connecting via hotspot seems much more stable and smooth however I was under the impression that the laptop internet speed will be quicker using USB tether rather than wifi and as I primarilly use my SGS3 as my home broadband connection I want to try and configure it to get the fastest speed on my laptop as possible. If I do an internet speed check on my SGS3 while my laptop is tethered the phone connection is always faster than the doing the same on the laptop. I guess this should be perhaps expected but as much as 4Mbits/s. I.e My phone was getting speeds of 6Mbits/sec but without having any apps open on the phone, my laptop would only get 2Mbits/s????
Any advice?
Click to expand...
Click to collapse
It does not related to Device problem.
It related to Windows,your computer create a new network when each time you connect to internet.
This may due to Firewall,Antivirus etc..
Are there any apps out there which are better than the stock USB tethering method. I do get slightly faster speeds on the laptop when USB tethered but the Windows network methodolgy seems unsatble compared with the wifi hotspot method
I was suffering the same and finally found a solution for this (at least on my S2).
It requires root, plus a kernel that supports init.d scripts (or running a script yourself every time you start the phone and will want to tether before restarting).
Just run this script:
Code:
chmod u+w /sys/module/g_android/parameters/dev_addr
echo 5a:xx:xx:xx:xx:xx > /sys/module/g_android/parameters/dev_addr
chmod u-w /sys/module/g_android/parameters/dev_addr
Just replace xx's with whatever hex values (0-9 or a-f) you want. Example: 5a:10:20:30:40:50
Windows detects the network you're connecting to by identifying the MAC address of the gateway. It can then know whether you're connecting to your home router (safe), an internet cafe (public), etc.
Whenever it finds a gateway whose MAC address is not recorded yet, it will state it's an unknown network, ask you what type is it (home / public), and assign a new number to it.
The thing is that android (or at least mine) is generating a completely random MAC address for itself whenever tethering is turned on, and naturally that will be different every time.
If you run those commands above, you're overriding that randomness and the device will start having always that MAC address and Windows will remember you're connecting to the same gateway.
PS: This is obviously dependent on whether the kernel you're using includes that /sys/module/g_android/parameters/dev_addr file. I'm inclined to think it's standard, but I'm not sure.
I'm having the same "problem".
Is there any other (nicer) way to permanently disable that random MAC generation? Other than using the method Tungstwenty explained above. Does anyone know why is that android "feature" even implemented, it doesn't make much sense to me.
Has anyone else figured out any solutions to this besides running a script everytime you boot? Seems kinda crazy to have to go to that extent for something that should be standard...
^ Exactly. Any updates yet?
This thread should be moved to general android (not device specific)
Report it via report button .
jje
ketanmatrix said:
This thread should be moved to general android (not device specific)
Click to expand...
Click to collapse
I can confirm that the same issue happened on my new Xperia Z, and the solution I posted above has also solved it.
The new device was even recognized by Windows as the already identified router, since I reused the same value from the previous device.
So I agree it's a cross-device issue with apparently the same solution, at least in a few of them.
Tungstwenty said:
I can confirm that the same issue happened on my new Xperia Z, and the solution I posted above has also solved it.
The new device was even recognized by Windows as the already identified router, since I reused the same value from the previous device.
So I agree it's a cross-device issue with apparently the same solution, at least in a few of them.
Click to expand...
Click to collapse
reported it as bug to google! hope it goes away in jb 4.3
anyway running that script didnt help on xperia z connecting to windows 8 pro
Moved to Android Q&A
Tungstwenty said:
I was suffering the same and finally found a solution for this (at least on my S2).
It requires root, plus a kernel that supports init.d scripts (or running a script yourself every time you start the phone and will want to tether before restarting).
Just run this script:
Code:
chmod u+w /sys/module/g_android/parameters/dev_addr
echo 5a:xx:xx:xx:xx:xx > /sys/module/g_android/parameters/dev_addr
chmod u-w /sys/module/g_android/parameters/dev_addr
Just replace xx's with whatever hex values (0-9 or a-f) you want. Example: 5a:10:20:30:40:50
Windows detects the network you're connecting to by identifying the MAC address of the gateway. It can then know whether you're connecting to your home router (safe), an internet cafe (public), etc.
Whenever it finds a gateway whose MAC address is not recorded yet, it will state it's an unknown network, ask you what type is it (home / public), and assign a new number to it.
The thing is that android (or at least mine) is generating a completely random MAC address for itself whenever tethering is turned on, and naturally that will be different every time.
If you run those commands above, you're overriding that randomness and the device will start having always that MAC address and Windows will remember you're connecting to the same gateway.
PS: This is obviously dependent on whether the kernel you're using includes that /sys/module/g_android/parameters/dev_addr file. I'm inclined to think it's standard, but I'm not sure.
Click to expand...
Click to collapse
i have rooted htc desire with CM 7.2.0.1... aaaand.. i no have g_android folder.. but i found the dev_addr file in sys/module/u_tether/parameters/dev_addr ... my question.. that file its same? or better when i dont toutch this file?
ktomi22 said:
i have rooted htc desire with CM 7.2.0.1... aaaand.. i no have g_android folder.. but i found the dev_addr file in sys/module/u_tether/parameters/dev_addr ... my question.. that file its same? or better when i dont toutch this file?
Click to expand...
Click to collapse
From the path ("...tether...") it's likely that it might be the right one for your device.
Simply try running the commands manually from an ADB shell and seeing if it works for you. If it does, put it on an init script. If not, it should be gone after a reboot.
A possible solution
For Windows to recognize your mobile device as the same first one needs to create a bridge in Windows 7.
Open Network Connections by clicking the Start button, and then clicking Control Panel. In the search box, type adapter, and then, under Network and Sharing Center, click View Network Connections.
Hold down the Ctrl key and Select internet connection from your android phone with your alternate connection you usually use. If you use only your android phone for internet, just select the mobile device.
Hold down ALT to reveal Advanced Menu and click Bridge Connections. If you're prompted for an administrator password or confirmation, type the password or provide confirmation.
You should now have a new network type named "Network Bridge" created.
Leave this internet bridge on your system.
Now whenever you connect your android phone, it will show up as the same network connection always. This will stay so even after you restart your system.
maxmumbai said:
For Windows to recognize your mobile device as the same first one needs to create a bridge in Windows 7.
Open Network Connections by clicking the Start button, and then clicking Control Panel. In the search box, type adapter, and then, under Network and Sharing Center, click View Network Connections.
Hold down the Ctrl key and Select internet connection from your android phone with your alternate connection you usually use. If you use only your android phone for internet, just select the mobile device.
Hold down ALT to reveal Advanced Menu and click Bridge Connections. If you're prompted for an administrator password or confirmation, type the password or provide confirmation.
You should now have a new network type named "Network Bridge" created.
Leave this internet bridge on your system.
Now whenever you connect your android phone, it will show up as the same network connection always. This will stay so even after you restart your system.
Click to expand...
Click to collapse
Hey MaxMumbai.....
what about windows 8.1.....? The right click on the network adapter in question in win 8.1 reveals 'Bridge connections' in the menu.
Can you make this much clearer please "Hold down the Ctrl key and Select internet connection from your android phone with your alternate connection you usually use. If you use only your android phone for internet, just select the mobile device."
You need at least 2 LAN connections to make a bridge so how can I only select my mobile device connection....? This is what I have in my adapters panel :
Bluetooth Network Connection .... Not ConnectedX
Ethernet.... Network cable unpluggedX
Local Area Connection..... Remote NDIS based internet sharing device (this is my tether)
WiFi... Not Connected X
Can you please explain where I make the bridge....?
Cheers
Ginyons said:
Whenever I tether my laptop via the USB cable it takes a long time for the laptop to connect and when it does, it says "Connected to Network X", where X is a number. Everytime I reconnect via USB X increases by 1 so the last time I did it I was on Network 43!!!!! I accept that this could be in part a windows thing and not a GS3 thing BUT when I connect via a Wifi Hotspot it connects really really quickly and always says I am connected to AndroidAP. Its as if the USB tethering firmware is
Therefore connecting via hotspot seems much more stable and smooth however I was under the impression that the laptop internet speed will be quicker using USB tether rather than wifi and as I primarilly use my SGS3 as my home broadband connection I want to try and configure it to get the fastest speed on my laptop as possible. If I do an internet speed check on my SGS3 while my laptop is tethered the phone connection is always faster than the doing the same on the laptop. I guess this should be perhaps expected but as much as 4Mbits/s. I.e My phone was getting speeds of 6Mbits/sec but without having any apps open on the phone, my laptop would only get 2Mbits/s????
Any advice?
Click to expand...
Click to collapse
You can try this if you don't mind the network icon not showing that you're connected.
Open Registry Editor ( Windows key + R to bring up the Run dialog, then type regedit and press Enter ).
Go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}.
There are numbered subkeys starting with 0001. Look in each subkey in descending order for the one with the DriverDesc value having your smartphone's RNDIS driver name (same name shown in your Network Connections view as the "Connect using" value).
Once located, create a new DWORD (32-bit) Value.
Enter the name as *NdisDeviceType (remember to include the asterisk sign * in front).
Edit the newly created DWORD value and enter the value data as 1 (Base choice doesn't matter). Click OK.
Once done, disable and re-enable usb tethering
You will no longer get a prompt asking for network location whenever you connect your smartphone, but you will still get the prompt when connecting to other devices.
Important Note: When you are only connected to your smartphone, your computer's network icon will continue to show that you are not connected to any network. However, the internet will still work fine.
I just found an easier way to avoid windows (10) to generate a new network number and reset the settings:
Tether your phone using USB, then:
Open device manager and find "Remote NDIS based Internet Sharing Device"
Then go to properties, advanced, select network address and assign a value.
That's it.
Zibri said:
I just found an easier way to avoid windows (10) to generate a new network number and reset the settings:
Tether your phone using USB, then:
Open device manager and find "Remote NDIS based Internet Sharing Device"
Then go to properties, advanced, select network address and assign a value.
That's it.
Click to expand...
Click to collapse
This seems to work, as long as you don't restart your PC. After every restart it still counts 1 Number up.
Still a neat trick as long as the PC keeps running, thanks for posting it :good:
I am still searching for a better one....

OTG Ethernet weirdness (ping works one way)

Device Info: Motorola Moto X Play, stock Marshmallow ROM (rooted)
Hiya!
I've been fiddling with this problem for a few days and even after lots of googling I have not found a solution.
I have a Plugable USB OTG Ethernet adapter based on the ASIX AX88772A chipset which works fine when connected to a router, as in I can use it as a main data connection.
When I connect it directly to the ethernet port on my laptop is when things start to break down.
Since there is no default network control for ethernet I drop down to a terminal on the phone and manually bring up eth0 and on my laptop set it's address appropriately.
Ping works fine from Android->Laptop provided I specify the interface to use ("ping -I eth0"), however the laptop cannot ping the Android at all and will just time out.
I've tried multiple IP configurations and even completely cleared out iptables just in case but my laptop is still just not receiving ICMP echo replies from the Android.
Does anyone have any ideas as to why it's doing this?
My end goal is to have my laptop tethered via ethernet to my phone and because it's an old laptop (iBook G3) this is one of the few options that doesn't require a tonne of extra pieces.
Thank you

Android-to-Android USB-Tethering

Hi all,
For some time now I've been working on Android-to-Android Tethering, which seems to be pretty difficult without 3rd party apps and/or HW peripherals (such as USB-to-Ethernet converters).
I've been working with a Rooted Samsung Tab Active 2 running Android 7.1.1 and several internet-connected devices: Samsung S8, Samsung S7 and also another Tab Active 2. All devices come with RNDIS support and have "Ethernet configuration" under connection settings.
I managed to get it to work using "EasyTether" with a client app and a server app. BUT, first, I don't like and don't want an app that controls all my networking data. Second, I don't understand how come we haven't yet done it with native Android configurations.
I tried connecting two device via USB cable using a standard USB-C to USB-A to OTG converter to Type-C (or micro-USB-B with the S7).
On the host device (the one with the OTG connector) I enabled USB tethering, but nothing happened. Tried pinging devices, but no dice. still, both devices recognize a connected USB-device and I can see their details using a USB-Diagnostics app.
Tried turning on Rndis as the USB setting - On some cases both Rndis interfaces up and running, with IP addresses, subnets and routes configured, but nothing. Not even a ping between devices. On other cases Rndis would be DOWN, but setting "ifconfig rndis0 up" would do nothing without printing any error.
I believe now that the Rndis drivers present in an Android phone or Tablet contain only the part of the client, while the host part of the driver exists on PCs.
I would appreciate some help with this.
Thanks,
Shedaim
Hi, sorry to reviwe old thread. But did you get anywhere with this? I am looking for a ethernet tether. I got the following adapter https://www.kjell.com/se/produkter/dator/mac-tillbehor/plexgear-multiadapter-for-usb-c-p61629 That worked great meaning it could power the phone at the same time as working as a usb and ethernet adapter. Internet to the phone with cable no problem. The phone (samsung A8) detects the adapter as a eth0. BUT there is no function to "tether with ethernet".... This is super strange that it has not been built in. Have googled it for ages but cant find anything.

What is the proper settings for this USB internet dongle to work with a Chromebook?

Main question: The Chromebook is definitely recognizing the dongle as an internet device because an "Ethernet" option becomes available in the Network settings as soon as I plug in the USB, and when I take it out it disappears. It seems that the Chromebook is only having a problem configuring the proper settings, but if I know which settings to change seems like it should be able to work. [Inspiron Chromebook 11I 3000 (3181)]
***
Additional details: When I connect the dongle an "Ethernet" option comes up with many options available that I'm not familiar with. I called Sprint but they are not familiar with this. I did see the article about PPP authentication but unsure how to proceed.
This is what happens when I connect the dongle to the Chromebook with screenshots. A "Ethernet" option comes up: URL removed
Then if I click the "Configure" box option as seen here: URL removed, this pop-up opens: URL removed
Depending which EAP method I choose as seen here: URL removed, the following options are available: URL removed.
I did see that OTG cables are able to connect USB dongles to smartphones but the Chromebook doesn't have the mini usb ports. Perhaps there's a way to use an OTG cable with a Chromebook?
Another thing to consider here: URL removed.
If I switch off "Configure IP address automatically", the status then said "Connected" and it was green, it has some IP address info, but still was not able to connect to the internet.
Came across a "PPP authentication" article from Google, URL removed is anyone familiar with this?

Galaxy S7 with Android 8-how to initiate DHCP lease for wired OTG Ethernet adapter

Hello,
I am attempting to create an application that displays the IP address that a phone obtains when using a wired OTG Ethernet Adapter.
I have at my disposal a rooted Verizon S7 (SM-G930V ) running Android 8.0 (G930VVRS8CRK2).
The way I initially envisioned accomplishing this was via writing a shell script that brought the OTG adapter up and then grabbed an IP address via DHCP. Then I figured I could write an app to run that script, and grab the IP address and display it.
To start testing and planning this out, I just loaded a terminal emulator app so I could go through the steps manually to see how everything works first. However, I cannot figure out how to get the OTG adapter to grab a DHCP lease, and I think I must be missing something obvious; that doesn't seem like it should be that hard..
From what I have read, all I should have to do is
-ifconfig eth0 up
-dhcpcd eth0
Well, ifconfig works-I can bring the OTG adapter up, and I can give it a static IP and ping my gateway so I know the phone sees the adapter and it is working. However, I can't run dhcpcd-the terminal emulator says that the command isn't found..
So that brings me to my next question-how do I initiate DHCP on the eth0 OTG adapter? Can I do it via the shell/a shell sctipt, or is there some other way to do it via the Android SDK/methods exposed through normal app development procedures? I'm kind of baffled why I can't directly access dhcpcd-there has to be SOME way to get DHCP to works seeing as you can connect via wireless, etc and grab a DHCP address with no issues.
Thanks for the help!

Categories

Resources