I have figured out how to use Internet Sharing over WiFi, which essentially makes my Hermes an Access Point.
Do the following:
1) Open Settings->Internet Sharing. Enable IS for Bluetooth PAN.
2) Change HKLM\Comm\ConnectionSharing\PrivateInterface to "TIACXWLN1" (for the Hermes). It should currently be "BTPAN1".
3) Open Settings-> Connections -> Wi-Fi. Select Network Adapters tab. Click IEEE 802.11b/g Compatible Wi-Fi.
4) Enter IP address 192.168.1.1 and subnet mask 255.255.255.0. Click OK.
5) Select Wireless tab. Add New.. to add the Network name for your ad-hoc network (I prefer "adhoc")
6) Set the client computer to use the same ad-hoc network. Client will receive an IP address from the device (don't need to manually set the IP).
And it works!
Interestingly, while IS was enabled, wifi stayed on and connected when the phone went to standby mode. Normally wifi turns off to save battery during standby. I imagine this will drain your battery in a hot minute, so bring your charger.
UPDATE (28-Oct-2007): Attached are some more beta releases of patched intshare.dll. I've created versions for most of the adapter names people have requested. By renaming this dll to intshare.dll and copying it to \Windows, Internet Sharing will use TIACXWLN1 (or whichever dll you use) when Bluetooth PAN is selected. I.e., if you use this, you will not need to make the registry changes above.
This will handle the registry part, but of course you'll still need to set up the ad-hoc network on your own.
UPDATE (03-Nov-2007): I've attached a beta version of the patched Internet Sharing app. It's in its own cab so it won't overwrite your existing IS. This app replaces Bluetooth PAN with 802.11b/g Wireless Ethernet. No registry hacking required. This app is well suited to replace the MS version on cooked ROMs.
If you use an adapter other than TIACXWLN1 then replace intshare.dll just as before.
UPDATE (08-Nov-2007): Attached is v 0.9.1 of the Internet Sharing Mod. This update addresses the 10 minute disconnect bug most people have experienced.
best,
fluxist
This is the first thing I'll try when i'm at home again!
I can't believe this! Waiting for this since i got my Hermes. Thx for this development. This is the greatest effort since Hard-SPL and WM6 upgrade.
Now I can connect my XBOX360 to the Internet without starting my PC and sharing it over PC-LAN. USB-Charger is at the Front of the XBOX360.
I hope it will work.
You said the Max-Connections can be reworked. Does this mean it will support Ad-Hoc AND WLAN-Routing to many recepients too?
This worked for me too on a Kaiser/TYTN II
I'm doing some additional experimentation to see what exactly this can do - for instance to replace a bluetooth connection to a laptop with a wifi one?
odessaranger said:
I'm doing some additional experimentation to see what exactly this can do - for instance to replace a bluetooth connection to a laptop with a wifi one?
Click to expand...
Click to collapse
not sure what you mean by replacing the connection. With ICS, obviously you cant share your connection over BT while sharing it over WIFI. and you can normally use wifi to connect to another computer by using an ad-hoc connection and manually entering a private ip on the same subnet for each computer.
this is awesome. worked perfectly for me.
After trying to stuff around with a proxy server for days and then you come along with something as simple as this....
boniestlawyer said:
this is awesome. worked perfectly for me.
After trying to stuff around with a proxy server for days and then you come along with something as simple as this....
Click to expand...
Click to collapse
Were you able to use more than one client connected?
I'll admit..when I saw this my first thought was that this was another "How can I do internet sharing via wifi" and the title was just misleading..instead I find myself very impressed with your accomplishment. Very well done! As a "hack" untill you figure out how to mod the dll which I'm sure is only a matter of time now that you have pointed everyone in the right direction, you can export the registry key for both the Bluetooth adapter and the Wifi one and "import" whichever one you want to use at a given time...it's not pretty but it should work.
Some issues of concern would be that the AP is wide open and can be connected to by anyone with no password etc...the bluetooth pairing allowed some security but using the wifi doesn't have the same shared key protection...or am I missing something obvious?
fluxist said:
I have figured out how to use Internet Sharing over WiFi, which essentially makes my Hermes an Access Point.
Do the following:
1) Open Settings->Internet Sharing. Enable IS for Bluetooth PAN.
2) Change HKLM\Comm\ConnectionSharing\PrivateInterface to "TIACXWLN1" (it should currently be "BTPAN1").
3) Open Settings-> Connections -> Wi-Fi. Select Network Adapters tab. Click IEEE 802.11b/g Compatible Wi-Fi.
4) Enter IP address 192.168.1.1 and subnet mask 255.255.255.0. Click OK.
5) Select Wireless tab. Add New.. to add the Network name for your ad-hoc network (I prefer "adhoc"
6) Set the client computer to use the same ad-hoc network. Client will receive an IP address from the device (don't need to manually set the IP).
And it works!
When I used it I was only able to get one client to connect, however there is a reg value, HKLM\Comm\BTPAN1\Parms\MaxConnections that may help if it is changed from 1 to 2 (or whatever). But I haven't tried.
Interestingly, while IS was enabled, wifi stayed on and connected when the phone went to standby mode. Normally wifi turns off to save battery during standby. So that's a good thing, although I imagine this will drain your battery in a hot minute, so bring your charger.
I was going to release a patched intshare.dll so that the normal Internet Sharing utility can do this, but I'm having trouble changing the section addresses in the dll to the right values after I add data. If anyone knows how to do this PM me and I'll give you the details.
best,
fluxist
Click to expand...
Click to collapse
thank you.
this work actually stemmed from my trying to share my phone's tethered connection with another client. by which i mean, my laptop is in a cafe online through my 8525 using Internet Sharing(IS) over usb. and i want to provide a connection, through wifi or ethernet, to my gfriends laptop. this actually isnt normally possible b/c WM IS and XP Internet Connection Sharing (ICS) both have 192.168.0.1 hard-coded as the gateway IP. so the phone uses that IP to give my laptop a connection, and my laptop tries to use the same IP with ICS. anyway, it fails because of this. i was able to get past that problem by going into Settings -> Wi-Fi -> Network Adapters -> Remote-NDIS and manually setting 192.168.1.1. This lead to the breakthrough with regards to wifi. prior to that id been trying all different ways to have the wifi adapter spoof the bt pan, however i could never get dhcp to assign an IP to the client. this is what it took.
and it's great that DHCP does in fact work here. it makes it dead easy for any arbitrary client to get online. just join the adhoc network as if it were an AP.
anyway, security-wise the ad-hoc network can use WEP or WPA, so security doesn't have to be a problem. the procedures for doing this are the same as normal.
and i haven't tried that reg key to enable multiple clients. but it looked like an obvious choice. i'll leave that as an exercise for the reader
fluxist
I ran into same issue with XP internet sharing. Another workaround is to have a linux machine do NAT( since you can specify the IP used there) to whatever other clients you want and have it connected via bluetooth dun or bluetooth PAND (which is the solution I use to give internet to my replaytv and a couple of laptops in the house)...my edge connection is my main internet feed..a cacheing proxy such as wwoffle, squid of my personal preference "polipo" helps alot to when using gprs/edge etc since it helps with the latency.
fluxist said:
thank you.
this work actually stemmed from my trying to share my phone's tethered connection with another client. by which i mean, my laptop is in a cafe online through my 8525 using Internet Sharing(IS) over usb. and i want to provide a connection, through wifi or ethernet, to my gfriends laptop. this actually isnt normally possible b/c WM IS and XP Internet Connection Sharing (ICS) both have 192.168.0.1 hard-coded as the gateway IP. so the phone uses that IP to give my laptop a connection, and my laptop tries to use the same IP with ICS. anyway, it fails because of this. i was able to get past that problem by going into Settings -> Wi-Fi -> Network Adapters -> Remote-NDIS and manually setting 192.168.1.1. This lead to the breakthrough with regards to wifi. prior to that id been trying all different ways to have the wifi adapter spoof the bt pan, however i could never get dhcp to assign an IP to the client. this is what it took.
and it's great that DHCP does in fact work here. it makes it dead easy for any arbitrary client to get online. just join the adhoc network as if it were an AP.
anyway, security-wise the ad-hoc network can use WEP or WPA, so security doesn't have to be a problem. the procedures for doing this are the same as normal.
and i haven't tried that reg key to enable multiple clients. but it looked like an obvious choice. i'll leave that as an exercise for the reader
fluxist
Click to expand...
Click to collapse
Impact on BT?
What a brill find. Well done.
Does it break anything with bluetooth?
Tx
can someone elaborate what this is for, maybe give a sample scenario on using this?
Is this basically allowing a computer to use the internet connection of the pda phone (ie EVDO, 1RxTT, etc.) through wifi, instead of bluetooth or USB cable? (ie tethering?)
if someone manages to get this working with xbox 360 make a tutorial plx ;D
superflysocal said:
can someone elaborate what this is for, maybe give a sample scenario on using this?
Is this basically allowing a computer to use the internet connection of the pda phone (ie EVDO, 1RxTT, etc.) through wifi, instead of bluetooth or USB cable? (ie tethering?)
Click to expand...
Click to collapse
thats what i wanna know , could i use my hsdpa connection via wifi to my psp?
I'll do a tutorial when i'm at home again. Maybe somebody with know-how can make a cab-file v1.0 for this "WLAN-Modem hack".
This surely will be a great app.
yes, your xbox and your psp should be able to connect just fine, as long as they support ad-hoc wireless (which i imagine they must). this hack will allow the phone to act like any normal wifi access point. the only difference is the client has to be seraching for ad-hoc networks in addition to normal APs.
the difficulty with creating a cab file at this point is that the registry setting is not persistent. that is, it must be set each time you enable IS. the setting is lost every time IS starts. this is why i am trying to patch the dll - so wifi will work as a normal, additional option in Internet Sharing (and hopefully this should be ready soon).
fluxist
when you say click "IEEE 802.11b/g Compatible Wi-Fi" do you mean the wifi network adapters in my case would be "tiacxwln compatible wireless ethernet"? im trying it on a 6700 WM5
I would LOVE to get this working on my TMO WM6 Wing, but I'm having issues:
1) Open Settings->Internet Sharing. Enable IS for Bluetooth PAN.
Got it - except on my device it's Programs -> accessories -> IS
2) Change HKLM\Comm\ConnectionSharing\PrivateInterface to "TIACXWLN1" (it should currently be "BTPAN1").
Check - but is the T1ACXWLN1 device specific? If so, how can I find the interface ID on my device?
3) Open Settings-> Connections -> Wi-Fi. Select Network Adapters tab. Click IEEE 802.11b/g Compatible Wi-Fi.
For me it's settings -> connections -> network cards, but I don't have an IEEE 802.11 listed. I connected to an existing AP, and found that my 'SDIO WLAN Wireless Adapter' does receive a DHCP address, so I tried changing it to 192.168.1.1...
4) Enter IP address 192.168.1.1 and subnet mask 255.255.255.0. Click OK.
5) Select Wireless tab. Add New.. to add the Network name for your ad-hoc network (I prefer "adhoc"
Found this and set up my WING-FI network.
6) Set the client computer to use the same ad-hoc network. Client will receive an IP address from the device (don't need to manually set the IP).
The client PC connects to WING-FI, but never receives an IP address...
What could I be doing wrong? Is it the hardware ID in the registry? I've created the network with WPA, then after the connection problems, with no security - but still no change.
Thanks!!
Ryan
neonstorm said:
I would LOVE to get this working on my TMO WM6 Wing, but I'm having issues...
Click to expand...
Click to collapse
Very likely the string TIACXWLN1 needs to be something different. Check HKLM\Software\WZCSV\Parameters\Interfaces\
There should be a key there with the name of your wireless adapter. It should end in "1".
And if not there, it should also be visible under HKLM\Comm\
Let us know how it works out.
EDIT: I just noticed you typed T1ACXWLN1. The string must be TIACXWLN1. That's "i" not one.
fluxist
I own a PPC6700 as well and I was able to get it working no problem other than the fact that our wireless adapter is not the same as the one mentioned. The reg edit is the same it's just the first network adapter in the list when you create the network settings.
fluxist said:
yes, your xbox and your psp should be able to connect just fine, as long as they support ad-hoc wireless (which i imagine they must). this hack will allow the phone to act like any normal wifi access point. the only difference is the client has to be seraching for ad-hoc networks in addition to normal APs.
the difficulty with creating a cab file at this point is that the registry setting is not persistent. that is, it must be set each time you enable IS. the setting is lost every time IS starts. this is why i am trying to patch the dll - so wifi will work as a normal, additional option in Internet Sharing (and hopefully this should be ready soon).
fluxist
Click to expand...
Click to collapse
If you send me the dll I could look into it.
i have some experience with editing dlls.
good work man
I'm running a Piratebox web server on my phone - Does anyone know if there's a way to adjust DNS and re-direct everyone to my phones web server when they are tethering from my phone?
+1 to this question.
I am currently trying to find a way to get some android devices, which are working as AdHoc clients), and I want an app running on them to connect to a "server" address instead of using a specific, fixed IP address. I meant to do this programatically, by creating a socket to an InetAddress resolution of the "server" address. I assume InetAddress will use the DNS defined on the wireless interface to make this translation, but its Java, and that assumption really depends on the low level impl. of InetAddress.
So yeah, DNS redirect from the DNS server running on the AdHoc host, which by association also runs Wireless Tether for root users. How can we do it?
I have tried some redirections from the hosts file (zone file), location in "system/etc/hosts". My device, like many others, comes preloaded with a bunch of IP-hostname redirections, but these only seem to work locally, e.g.:
gugle.com redirects to 127.0.0.1 (in the hosts: "gugle.com 127.0.0.1")
If I input this address on the AdHoc host, gugle.com will redirect to my http port 80 landing (I have a web server running on the device to test this).
If I input this address on an AdHoc client, it doesnt return anything. I'm guessing the DNS server running on the host does not use the zone file from the OS.
So the question remains - where can we define a redirection from the DNS server that runs on the Wireless Tethering for root users device.
I'm using a Samsung Fascinate with AOKP Milestone 5 by Stephen.k.spear.
My second device is an Asus Transformer TF-101 running Megatron CM9 based ROM by ricardopvz.
I use WiFi Tether for Root that is no longer beta and available on the market so I have the newest version. My WiFi tether set up options that are pertinent to this post are as follows:
1. Change Device Profile
a. Samsung Galaxy Nexus (CDMA/LTE)
2. Change Setup Method
a. Netd (master)
3. Change LAN
a. 192.168.1.0/24
4. Routing Fix
a. Routing fix is NOT enabled
5. Default DNS settings
I have no issues tethering, it works very well, very fast. I can ping by hostname from each device while tethered. I have set both device name entries in the host file.
My issue while tethering: When I run netstat on the Transformer, I can see that wlan0 is listening on port 139(NetBIOS) and 445(SMB). However, when I netstat on the Fascinate, it is NOT listening to either of these ports. I use the Samba app available from the market and have configured all the appropriate settings for both devices.
Using the ip route command, I can see that both devices show appropriate routing on 192.168.1.x to the appropriate adapter (wlan0).
Why won't the Fascinate listen for the two ports when the adapter (wlan0) appears to be working fine, routing is good, pinging by NetBIOS name from the hosts file, and Samba is broadcasting NetBIOS and SMB?
My purpose for this post and the questions is to be able to perform wireless syncing between the two devices and a computer for various directories like Pictures and Documents. I want all three devices to be the same. If I go home and connect to WiFi the IP addresses will change and I will constantly have to adjust settings. I'm looking for a seamless option because I use tether almost as much as I use home WiFi.
I figured it out. WiFi Tether app creates a rule with iptables called wireless-tether. It's regenerated each time the app starts by using the tether.edify file in the app's data directory. If you edit the firewall rule it will default back after the app starts again. I have emailed the dev to see if they can allow some user options so the traffic can pass internally such as netbios and samba.
The default linux rules allow all traffic which is why netstat on the tablet passes netbios and smb. The tablet is connecting wirelessly with no changes to iptables.
Also, standard home wifi on the phone would also pass the traffic because no additional rules to the iptables are being made.
I mean this is stupid... you can have IPv6 APN and everything, but on WIFI you cant get IPv6 address... I have dualstack LAN at home, every client should get local IPv4 address and public IPv6. But for some silly reason Google decided to not include this in to ICS, but since there is support for UMTS IPv6 APNs it should WORK technically... This works flawlessly on iPhone4S and other clients (read computers) that supports IPv6 on my LAN...
From what I can see, ICS manages to configure a IPv6 global address on its wlan0 interface via autoconfiguration.
Looking at results from tcpdump and other command line tools, there seem to be two other problems:
1) Even though there is a router on the LAN sending router advertisements and the device configures its address, it does not seem to install or use the the default gateway. I am able to ping the phone via IPv6 on the same local /64 global, and its link local, and am able to ping those devices back from the device (ping6 via busybox). I cannot however ping past the local IPv6 global network.
2) None of the web browsers on the phone I have tried seem to be doing AAAA lookups. Confirmed tcpdump, even when trying to resolve names that only have AAAA records, the request only ever goes out for an A record and never a AAAA.
I was able to run a web server on the same local /64 the phone was configured on, and was able to browse to it by its IPv6 address directly through the browser. So it does work, just missing the default route and AAAA DNS functionality it seems.
As an FYI this was tested on a rooted Galaxy S3 SGH-I747M running 4.0.4. I'm assuming the IPv6 functionality wouldn't be any different between this and the SII, but maybe I'm wrong.
themikea said:
1) Even though there is a router on the LAN sending router advertisements and the device configures its address, it does not seem to install or use the the default gateway. I am able to ping the phone via IPv6 on the same local /64 global, and its link local, and am able to ping those devices back from the device (ping6 via busybox). I cannot however ping past the local IPv6 global network.
Click to expand...
Click to collapse
I have a Galaxy S3 SPH-L710 running Android 4.0.4, and I had the same problem with it not configuring the default IPv6 route. There is a sysctl variable that controls whether the Linux kernel automatically adds the default route advertised in the IPv6 Router Advertisement messages, and it defaults to 0 (off) on the phone. Look at /proc/sys/net/ipv6/conf/default/accept_ra_defrtr.
themikea said:
2) None of the web browsers on the phone I have tried seem to be doing AAAA lookups. Confirmed tcpdump, even when trying to resolve names that only have AAAA records, the request only ever goes out for an A record and never a AAAA.
Click to expand...
Click to collapse
When I set accept_ra_defrtr to 1 and cycled my Wi-Fi connection, it came back up and added the default IPv6 route. Now test-ipv6.com on my phone gives me a 10/10 on both IPv4 and IPv6, meaning the DNS resolver is asking for AAAA records too and even preferring them when a host has both A and AAAA, which is the recommended and desired behavior. Loading comcast6.net on my phone shows my IP address as an IPv6 address.
Trouble is, setting sysctl variables in /proc/sys will not survive through a reboot, and there is no /etc/sysctl.conf on Android, so I don't know where to stash this setting so it gets applied on every boot. There is no file anywhere in /system that contains "accept_ra_defrtr" except for the vpnclient.ko kernel module, and that's not loaded, so I'd guess the kernel has been modified to disable IPv6 default routes by default.
Any idea if there's an Android equivalent of inittab or sysctl.conf or how might I go about setting that sysctl variable automatically on boot?
whitslack said:
I have a Galaxy S3 SPH-L710 running Android 4.0.4, and I had the same problem with it not configuring the default IPv6 route. There is a sysctl variable that controls whether the Linux kernel automatically adds the default route advertised in the IPv6 Router Advertisement messages, and it defaults to 0 (off) on the phone. Look at /proc/sys/net/ipv6/conf/default/accept_ra_defrtr.
When I set accept_ra_defrtr to 1 and cycled my Wi-Fi connection, it came back up and added the default IPv6 route. Now test-ipv6.com on my phone gives me a 10/10 on both IPv4 and IPv6, meaning the DNS resolver is asking for AAAA records too and even preferring them when a host has both A and AAAA, which is the recommended and desired behavior. Loading comcast6.net on my phone shows my IP address as an IPv6 address.
Trouble is, setting sysctl variables in /proc/sys will not survive through a reboot, and there is no /etc/sysctl.conf on Android, so I don't know where to stash this setting so it gets applied on every boot. There is no file anywhere in /system that contains "accept_ra_defrtr" except for the vpnclient.ko kernel module, and that's not loaded, so I'd guess the kernel has been modified to disable IPv6 default routes by default.
Any idea if there's an Android equivalent of inittab or sysctl.conf or how might I go about setting that sysctl variable automatically on boot?
Click to expand...
Click to collapse
bro look at your /system/etc/init.d. if it exists, you can add a new script as
#!/system/bin/sh
echo 1>/sys/XXXXXXX
in init.d and name it 89enipv6 or sth.
if it don't work, check your /system/bin/sysinit. if it doesn't exist, google and copy one.
Does anyone know how I can disable IPV6 on my S3 ?
ahoslc said:
Does anyone know how I can disable IPV6 on my S3 ?
Click to expand...
Click to collapse
Why do you want to disable IPv6? It's new better version of IP protocol and should be used whenever it possible.
runapp said:
bro look at your /system/etc/init.d. if it exists, you can add a new script as
#!/system/bin/sh
echo 1>/sys/XXXXXXX
in init.d and name it 89enipv6 or sth.
if it don't work, check your /system/bin/sysinit. if it doesn't exist, google and copy one.
Click to expand...
Click to collapse
In my case of 4.1.3 the value of 0 rewrited in /proc/sys/net/ipv6/conf/wlan0/accept_ra_deftrt on every wifi interface restart, even independently on "all"/"default" values.
Hi, I have a question for you guys:
we all know that many providers identify tethering by checking the TTL...
To circumvent that is easy and can be done modifying the TTL with iptables on a rooted phone or just by creating a proxy on the phone itself.
I also found out that if you tether by USB and set on your tethered pc a default TTL of 65, that works too because the TTL becomes 64 on the phone (as normal packets generated on the phone).
My question is this: why the last thing I wrote does not work if I tether using wifi?
Zibri said:
Hi, I have a question for you guys:
we all know that many providers identify tethering by checking the TTL...
To circumvent that is easy and can be done modifying the TTL with iptables on a rooted phone or just by creating a proxy on the phone itself.
I also found out that if you tether by USB and set on your tethered pc a default TTL of 65, that works too because the TTL becomes 64 on the phone (as normal packets generated on the phone).
My question is this: why the last thing I wrote does not work if I tether using wifi?
Click to expand...
Click to collapse
It works fine as long as issue these two commands in CMD prompt on your PC, but you still can't share your PC's data connection using Windows Hotspot or Connectify, there's still something else blocking it. If anyone has a solution for that, drop a line please.
netsh int ipv4 set global defaultcurhoplimit=65 store=persistent
netsh int ipv6 set global defaultcurhoplimit=65 store=persistent
If still having problems then disable IP6 in your WiFi or RNDIS adapter under connections (depending if you're tethering through WiFi or USB).