[FIXED] Adhoc working without any file editing !!! - Desire Android Development

Just tried this out and it connected to my laptop adhoc wireless fine. Wish the rom creators will put this in their builds...
http://forum.xda-developers.com/showthread.php?t=754961
Use the one at the bootom of the page as it has a newer wpa_supplicant 0.6.10

Sounds great, have to try this out!

why would we need this when we have the HTC mobile hotspot app?

neowlchaz said:
why would we need this when we have the HTC mobile hotspot app?
Click to expand...
Click to collapse
Mobile hostpot is to use the desire's wifi as a hotspot for connecting *other* devices to use the 2g/3g network.
This is for connecting the desire to a adhoc network like the wifi network on your laptop. Some laptop wifi cards for example can set them selves into AP mode so they are a true access point and the desire can connect to it, however most cards don't support that mode (well mine doesn't anyhow) so you need to create a ad-hoc network on your laptop that ultimately routes out to the internet via your wired network connection. This is where the desire cannot connect to that ad-hoc network without this 'hack'.
When you are roaming this is invaluable with extortionate roaming data charges so this is a way to reuse your wired connection on your laptop as a gateway for your desire. It's in effect a reverse hotspot.

Wonderful!!!!!
Finally!!!!I'm searching it from a lot of time!!!!
Now all works wonderful!!!
Thanks a lot to all!!
Sent from my HTC Desire using Tapatalk

I noticed that the binary in the link above was for an older wpa_supplicant (0.5.11) and Desire and the new froyo's are on 0.6.10 of wpa_supplicant so i repatched and compiled.
For those with the writeable /system hack, just disable wifi, push this on your /system/bin and reenable wifi. Else push this at recovery time
Code:
adb push wpa_supplicant /system/bin/
I also changed the "(*)" prefix for adhoc networks as i didn't like the look of the wifi list so now it's changed to "(adhoc)" suffix for adhoc networks it sees.
Diff and binary attached below.

daveba said:
so i repatched and compiled.
Click to expand...
Click to collapse
Why not provide as Update.zip ? Thanks!

daveba said:
I noticed that the binary in the link above was for an older wpa_supplicant (0.5.11) and Desire and the new froyo's are on 0.6.10 of wpa_supplicant so i repatched and compiled.
For those with the writeable /system hack, just disable wifi, push this on your /system/bin and reenable wifi. Else push this at recovery time
Code:
adb push wpa_supplicant /sytem/bin/
I also changed the "(*)" prefix for adhoc networks as i didn't like the look of the wifi list so now it's changed to "(adhoc)" suffix for adhoc networks it sees.
Diff and binary attached below.
Click to expand...
Click to collapse
Thank you, it seems to work, but no possibility to set a protection on the wifi, no ask for password...

Orphee said:
Thank you, it seems to work, but no possibility to set a protection on the wifi, no ask for password...
Click to expand...
Click to collapse
Strange, works for me. I've set up a WEP on my linux lappie wifi card and it works fine and pops up the password dialog.

bleh815 said:
Why not provide as Update.zip ? Thanks!
Click to expand...
Click to collapse
Ok, try this

daveba said:
Strange, works for me. I've set up a WEP on my linux lappie wifi card and it works fine and pops up the password dialog.
Click to expand...
Click to collapse
I tried WPA AES ...

daveba said:
Ok, try this
Click to expand...
Click to collapse
Kudos 10char

Orphee said:
I tried WPA AES ...
Click to expand...
Click to collapse
http://www.sprintusers.com/forum/archive/index.php/t-195868.html
try tkip ?

Can anyone post a complete guide what to do in my desire and what to do in my pc using WinXp or Win7.
*With Ad-hoc I can share my internet connection from notebook with desire and inverted ?

daveba said:
http://www.sprintusers.com/forum/archive/index.php/t-195868.html
try tkip ?
Click to expand...
Click to collapse
WPA AES works well in AP mode (I can switch my PCI can into AP mode)

Orphee said:
WPA AES works well in AP mode (I can switch my PCI can into AP mode)
Click to expand...
Click to collapse
Strange, then this must be a generic bug with ad-hoc networks (i.e. not something this patch/hack has introduced) so you will see the same results if you edit the wpa_supplicant.conf files manually correct ? It looks from this that adhoc supports only open or WEP encrypted network (in wifi tether too you can only use WEP). See the thread here:
http://forum.xda-developers.com/showthread.php?p=7726880

Lior84 said:
Can anyone post a complete guide what to do in my desire and what to do in my pc using WinXp or Win7.
*With Ad-hoc I can share my internet connection from notebook with desire and inverted ?
Click to expand...
Click to collapse
Yeah I need that too. I have gone through the thread but I didnt understand how to go about connectiong my HTC Desire to my laptop's internet...Pls help!

tochie009 said:
Yeah I need that too. I have gone through the thread but I didnt understand how to go about connectiong my HTC Desire to my laptop's internet...Pls help!
Click to expand...
Click to collapse
Flash the zip provided in the thread, and google 'windows setting up adhoc network'
Ensure not to choose WPA2-AES key for the password, but a WEP password. Then select wifi networks on your phone and choose your network and put in the password you selected.
For linux it's easy too. First disable wifi scanning on your applet in the top right as you want to disable it as a client and make it as a server. So as root do this (assuming your wireless interface is called wlan0) and want to create a network on 10.0.0.x
Code:
DEV=wlan0
iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
echo 1 >/proc/sys/net/ipv4/ip_forward
ifconfig $DEV down
iwconfig $DEV essid 'Laptop WiFi'
iwconfig $DEV mode ad-hoc
iwconfig $DEV key s:mykey
ifconfig $DEV 10.0.0.1 netmask 255.255.255.0
/usr/sbin/dnsmasq --dhcp-range=10.0.0.2,10.0.0.10 -x /tmp/dnsmasq-$DEV.pid -i $DEV

Thank you very much for this hack, Daveba! Don't really need this as of now, but could be handy in the future. One, probably silly question, does it have any negative impact when connecting to a standard Wi-Fi router, or it just provides additional functionality?
Hopefully we can see this included in various Roms soon.
Good day!
Sent from my DynaTAC 8000X.

phunkycow said:
Thank you very much for this hack, Daveba! Don't really need this as of now, but could be handy in the future. One, probably silly question, does it have any negative impact when connecting to a standard Wi-Fi router, or it just provides additional functionality?
Hopefully we can see this included in various Roms soon.
Good day!
Sent from my DynaTAC 8000X.
Click to expand...
Click to collapse
Well please don't credit me with the work. As noted in the first post, the initial patch was released for an older version of wpa_supplicant. I've just updated it for wpa_supplicant 6 and changed some aesthetics on the wifi list page on the phone. Remember again this is a hack and should really be inherently supported by the OS. I suggest people read issue 82 and star the issue for greater visibility.
I would like to know if anyone sees any negative impact with this hack. The only thing i see is that the phone doesn't automatically disconnect from the ad-hoc network if i take it down on my laptop or i move away from the signal range. It will drain the battery if not manually disconnected. This is a small 'bug' for what (in my opinion) is such a hugely important function. Hell even the iphone, the nokia E71, etc can do this out of the box and i get laughed at at work (until now).

Related

Internet on G1 via USB cable (Reverse Tethering)?

Would it be possible to get Internet on the device, through PC, instead of Internet on PC, through device?
Is there any way to do this its very important as I live in India, there is no 3g and edge is very slow so can't download themes, updates directly on my g1
Sure there is a way, WiFi
No you cannot give the phone internet via USB
Can you be more specific on how to do it with WiFi? And without a router
I tried using the AdHoc connection created for the Tethering (Internet from G1's 3G/EDGE to PC), but with no luck.
The laptop and phone can ping each other, I have done all the necessary steps to share my LAN and WiFi connection, remounted the /system partition as rw, edited /etc/resolv.conf (/etc is in fact on /system/etc and if not remounted as rw you cannot edit /etc/resolv.conf), added the IP of the laptop, but then I have some trouble adding default route to it. No matter what settings I try "route add ...", they change nothing...
No internet, no ping.
Did you set the gateway?
You have the SDcard that you can use to move files to the phone, I don't see any need to download directly to the sdcard, especially if you have the phone hooked up via USB anyways.
Kind of pointless no>?
@ncoop23
but then I had some trouble adding default route to it. No matter what settings I try "route add ...", they change nothing...
Click to expand...
Click to collapse
So, I have tried at least.
How do you do it without Wi-Fi, over the USB cable? I can't set up a Wi-Fi node at work or the network security guys will send a SWAT team after me.
If you have access to a computer that has internet, and you have your usb cable, why don't you just download whatever theme/update to the computer, then plug in the usb cable and transfer it to your phone?
You have a PC or laptop with access to the internet. Why not just download stuff on to the PC/Laptop and move onto SD card.
If you want it to get on the market or watch youtube to test it out etc then join the laptop/PC's connection. Simple.
There is no solution for getting internet from laptop to the phone....
I wonder that with technology improving at such a fast pace, why any developer at corporations or independently hasnt thought about it yet. Any app, gadget or software providing a solution for this problem will sell like a hot cake especially in developing countries like south asia, middle east and africa.
Brock Samson said:
If you have access to a computer that has internet, and you have your usb cable, why don't you just download whatever theme/update to the computer, then plug in the usb cable and transfer it to your phone?
Click to expand...
Click to collapse
But how do I sync my Gmail and Contacts without a Wi-Fi or data connection?
dilwaladoctor said:
There is no solution for getting internet from laptop to the phone....
Click to expand...
Click to collapse
Are you sure? There is a solution for getting internet from phone to laptop over USB, so why not from laptop to phone? This blog post claims it can be done, but I haven't ever seen it working: http://blog.mycila.com/2010/06/reverse-usb-tethering-with-android-22.html
I wonder that with technology improving at such a fast pace, why any developer at corporations or independently hasnt thought about it yet. Any app, gadget or software providing a solution for this problem will sell like a hot cake especially in developing countries like south asia, middle east and africa.
Click to expand...
Click to collapse
This isn't a matter of "technology improving". Other phones already have it. Windows Mobile has had it for years.
dilwaladoctor said:
There is no solution for getting internet from laptop to the phone....
Click to expand...
Click to collapse
You have no idea what you're talking about.
http://forum.xda-developers.com/showpost.php?p=5242264&postcount=17
I have know idea if this will work or not, but I have found this on a few different forum all posted by Diyism, so if it does work he deserves all the credit.
Code:
My android os is CyanogenMod 4.2.14.1,
1.Enable "Settings\Wireless controls\Internet tethering"
2.Install HTC Remote NDIS based Device driver([url]http://forum.xda-developers.com/attachment.php?attachmentid=277122&d=1265356413[/url])
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.
highlandsun said:
You have no idea what you're talking about.
http://forum.xda-developers.com/showpost.php?p=5242264&postcount=17
Click to expand...
Click to collapse
Those instructions are only for a Linux computer, though?
I have used the setups as Brock Samson has indicated and it works for me.
I was asking the same question one year ago and I think I've posted somewhere a similar method to Brock Samson's, so it will definitely work.
In fact it will be less hussle if you don't enable internet tethering in settings and just bring usb0 up using ifconfig. You must set a correct IP address and netmask before the port is up though. Otherwise the driver on the PC end will freak out.
Generally Android never uses /etc/resolv.conf. Only console programs originated from Linux use it. DNS server must be set through setprop and has to be set everytime network status changes (e.g. mobile data network reconnect, etc).
Some programs will also use Android API to detect network availability and will back out if neither mobile data nor Wi-Fi is connected, so make sure you don't turn both of them off.
http://forum.xda-developers.com/showthread.php?t=793102

Connect G1 to ad hoc or usb to use pc internet

Hello. I have searched the forums but can't find a solution that works for me.
I need to connect my g1 to my laptop Wi-fi connection or at least via USB using adb shell. Can someone help me. I live in a country with very expensive 3g
data and cannot afford downloading apps. Any help will be appreciated.
I have rooted G1 with JF rc33
Why not get a wireless router?
/Mats
for example at work...
Edit : Nvm just reread ur post
Just get a wireless router or use the ad hoc thing for laptops, google search it
http://www.wi-fiplanet.com/tutorials/article.php/1451421
Пробвай това: http://junefabrics.com/android/index.php
Try this: http://junefabrics.com/android/index.php
;-)
Thanks
Well, getting a wireless router just to connect my G1 from time to time seems like a waste of money to me.I have read some articles about G1 and ad hoc networks and it seems that it is not possible at this moment to connect the device to a laptop. Actually I used to connect a PPC this way but the G1 won't even detect the ad hoc network i create. Well, if there isn't any other solution I guess the wireless router will be the last resort then. About PdaNET- i think it does just the opposite - it connects your PC to the internet using your phone. Isn't there any way to reverse teether using adb shell and usb cable?
Come on, is it really impossible to reverse tether using adb shell fo rexample, cant anyone with more knowledge give a solution please.
I was looking for something else and came across this post. I decided, even though it's ANCIENT, that someone might want to do the same, so I went to Google and searched for "Reverse tether G1 android". Within 5 minutes I had the answer.
http://androidcommunity.com/forums/291099-post8.html
It does require you to do a little command-line work on the G1 itself (or through ADB on the command prompt of the computer) but it appears it can be done.
HIH.
try this
Close any program that uses internet on your PC, connect your phone, turn on USB tethering. You would see a new virtual network adapter in your PC, enable internet sharing on that adapter as described in this article(hxxp://support.microsoft.com/kb/306126). The adapter's ip address would change to 192.168.0.1 with netmask of 255.255.255.0.
Then input the following codes line by line in your phone's terminal, you could download GScript(hxxp://code.google.com/p/gscript-android/) to do the job or just save it as a .sh file with 755 permission and run it when you want.
Code:
busybox ifconfig usb0 192.168.0.2 netmask 255.255.255.0
busybox route delete default
iptables -F
iptables -F -t nat
busybox route add default gw 192.168.0.1
setprop net.dns1 8.8.8.8
setprop "net.gprs.http-proxy" ""
You would need to keep your GPRS/Edge connection on to trick programs into thinking that you have an internet connection, but all your phone's data is now routed thru your PC. Confirm this by checking if the GPRS/Edge icon on the top has those up and down arrows in it.
And to disable this, you simply turn off USB tethering and restart your GPRS/Edge connection.
OMG I just replied a post of 23rd March 2009, 09:13 PM! Don't think axlastro is needing this anymore. lol
@test1943
nice, I have been looking for this but...
how do I disable this properly?
To "restart your GPRS/Edge connection" I put my phone into airplane mode and then back to normal but it still couldn't connect to the network?? so I just rebooted and now that works.
But now my phone isn't recognized by my pc when I plug in the usb??
Any help.
oops let me take that all back. reboot, re-plugin and pc finds my phone again. tested again and it works as described.
Sweet Thanks
can this be done using root explorer?
I don't think so.
I just used gscript lite (free on the market)
I saved the stuff from test1943 in notepad as USBTether.sh, copied to my sdcard into the gscript folder.
Open gscript, push menu > add script. Click load file and select the USBTether.sh.
Made sure su was checked and clicked save.
Created a shortcut on the homescreen for this script.
1. Enabled Usb Tether
2. ran script
3. ???
4. profit.
Sleeepy2 said:
@test1943
nice, I have been looking for this but...
how do I disable this properly?
To "restart your GPRS/Edge connection" I put my phone into airplane mode and then back to normal but it still couldn't connect to the network?? so I just rebooted and now that works.
But now my phone isn't recognized by my pc when I plug in the usb??
Any help.
oops let me take that all back. reboot, re-plugin and pc finds my phone again. tested again and it works as described.
Sweet Thanks
Click to expand...
Click to collapse
The easiest way to disable this(I think we could call it reverse USB tethering) was to use an APN switch, the "APN on-off Widget" in the market seems to do the job right. Turn off USB tethering, switch off APN, then switch on and you are good to go.
And Sleeepy2, how do you mean by "not recognized by my pc", is it in storage mode or debug mode?
plumppp said:
can this be done using root explorer?
Click to expand...
Click to collapse
I think he is referring to the root explorer by Gpc, a Taiwanese. Never used that app, but judging by its description it could turn on/off APN just like the "APN on-off Widget" did.
Sleeepy2 said:
I don't think so.
I just used gscript lite (free on the market)
I saved the stuff from test1943 in notepad as USBTether.sh, copied to my sdcard into the gscript folder.
Open gscript, push menu > add script. Click load file and select the USBTether.sh.
Made sure su was checked and clicked save.
Created a shortcut on the homescreen for this script.
1. Enabled Usb Tether
2. ran script
3. ???
4. profit.
Click to expand...
Click to collapse
ok thanks, gonna give it a try now
Edit: is this step necessary? im using vista and can't seem to find it.. can i skip it?
# Log on to the client computer as Administrator or as Owner.
# Click Start, and then click Control Panel.
# Click Network and Internet Connections.
# Click Network Connections.
# Right-click Local Area Connection, and then click Properties.
# Click the General tab, click Internet Protocol (TCP/IP) in the This connection uses the following items list, and then click Properties.
# In the Internet Protocol (TCP/IP) Properties dialog box, click Obtain an IP address automatically (if it is not already selected), and then click OK.
Note You can also assign a unique static IP address in the range of 192.168.0.2 to 192.168.0.254. For example, you can assign the following static IP address, subnet mask, and default gateway:
IP Address 192.168.0.2
Subnet mask 255.255.255.0
Default gateway 192.168.0.1
plumppp said:
ok thanks, gonna give it a try now
Edit: is this step necessary? im using vista and can't seem to find it.. can i skip it?
# Log on to the client computer as Administrator or as Owner.
# Click Start, and then click Control Panel.
# Click Network and Internet Connections.
# Click Network Connections.
# Right-click Local Area Connection, and then click Properties.
# Click the General tab, click Internet Protocol (TCP/IP) in the This connection uses the following items list, and then click Properties.
# In the Internet Protocol (TCP/IP) Properties dialog box, click Obtain an IP address automatically (if it is not already selected), and then click OK.
Note You can also assign a unique static IP address in the range of 192.168.0.2 to 192.168.0.254. For example, you can assign the following static IP address, subnet mask, and default gateway:
IP Address 192.168.0.2
Subnet mask 255.255.255.0
Default gateway 192.168.0.1
Click to expand...
Click to collapse
Sorry for the confusion, that article was for XP only. Check this one for Vista: hxxp://windows.microsoft.com/en-US/windows-vista/Using-ICS-Internet-Connection-Sharing
Notice: the network adapter you'll be working on should NOT be "Local Area Connection" because that's your PC's adapter. If you should have enabled USB tethering on your phone, you should see NEW one(i.e. it was not there before you turn on tethering), in my Windows 7, it was named "Local Area Connection 2".
test1943 said:
And Sleeepy2, how do you mean by "not recognized by my pc", is it in storage mode or debug mode?
Click to expand...
Click to collapse
I mean after disabling usb tether, unplug usb, then plug it back in. The pc did nothing. Didn't recognize that I even plugged it in. Must be something that I did because it works great now.
I just need to figure out how to us gscript to enable USB Tether then I can do it all with 1 shortcut.
Then another 1 to disable USB Tether, disable apn and then re-enable apn.
test1943 said:
Sorry for the confusion, that article was for XP only. Check this one for Vista: hxxp://windows.microsoft.com/en-US/windows-vista/Using-ICS-Internet-Connection-Sharing
Notice: the network adapter you'll be working on should NOT be "Local Area Connection" because that's your PC's adapter. If you should have enabled USB tethering on your phone, you should see NEW one(i.e. it was not there before you turn on tethering), in my Windows 7, it was named "Local Area Connection 2".
Click to expand...
Click to collapse
ok thanks, gonna try this again
Edit: sorry if im beginning to become an annoyance.. but when i run the script i get "stderrr Script execution failed" "no such process network is unreachable"
Su is checked, i also removed tex. and added sh
plumppp said:
ok thanks, gonna try this again
Edit: sorry if im beginning to become an annoyance.. but when i run the script i get "stderrr Script execution failed" "no such process network is unreachable"
Su is checked, i also removed tex. and added sh
Click to expand...
Click to collapse
Please type in each line to see which line produces error. And may I ask which ROM are you using? Remember to su first.
test1943 said:
Please type in each line to see which line produces error. And may I ask which ROM are you using? Remember to su first.
Click to expand...
Click to collapse
okay thanks again, i'll do it manually one at a time. i'm using cyanogen 307 nightly
Edit: okay.. i didn't even get pass the first line lol..
i'm assuming its the rom.. when typing "busybox ifconfig usb0 192.168.0.2 netmask 255.255.255.0"
i get: [ifconfig: socket: Permission denied]
which rom are you using?
plumppp said:
okay thanks again, i'll do it manually one at a time. i'm using cyanogen 307 nightly
Edit: okay.. i didn't even get pass the first line lol..
i'm assuming its the rom.. when typing "busybox ifconfig usb0 192.168.0.2 netmask 255.255.255.0"
i get: [ifconfig: socket: Permission denied]
which rom are you using?
Click to expand...
Click to collapse
That seems to be a root problem to me, does other root-required apps work right?

[REQ] Reverse wired tethering

Before i start i want to let people know YES I DO HAVE A WIRELESS ROUTER!! So please do not respond telling me to just go buy a router.
REQUEST - Reverse wired tethering. I.E. Sharing PC's iNet connection with your phone via USB.
REASON - My university's wireless is locked down and does not allow mobile phones, pda's to connect up to our wireless without submitting MAC for approval. Looking to sync certain apps without using my data connection.
I dont know if anyone has played around with trying to get this working or not. I know its a small market of people who may be interested in this, but for certain places (CANADA) where data charges are WAY to expensive this could be handy for students at UNI where wireless is not an option.
get a second wifi adapter on your laptop, and share your uni wireless network connection with the second wifi adapter. Use a hidden SSID, then no one will know what is going on
This was asked a couple of times before here and I remember people saying you couldn't reverse the tethering.You could try though.
alexperkins said:
get a second wifi adapter on your laptop, and share your uni wireless network connection with the second wifi adapter. Use a hidden SSID, then no one will know what is going on
Click to expand...
Click to collapse
Thats a good idea xD
Hey guys,
I have been trying to find a way to do this for a long time.
The best solution i have found (actually the only solution) is Connectify. The only downside is you must have Win7.
What it does is turns your wifi adapter into a HotSpot, even if you are using wifi to get the net in the first place. Its a great tool and should be what your after.
http://www.connectify.me/
memphisraynz said:
Hey guys,
I have been trying to find a way to do this for a long time.
The best solution i have found (actually the only solution) is Connectify. The only downside is you must have Win7.
What it does is turns your wifi adapter into a HotSpot, even if you are using wifi to get the net in the first place. Its a great tool and should be what your after.
http://www.connectify.me/
Click to expand...
Click to collapse
thank you so much for this
Your best solution is the WiFi adapter. You could most likely get away with a SOCKS proxy over USB, possibly using adb, but it would be complicated, unstable, and messy.
I still don't know you just don't use your wireless router. I assume they have wired. Clone your PC's mac address and hook it up. Universities are retarded with that crap. They have the worst networks and security.
If no wired, then what podunk place is it? haha
Even if they had only wireless , you could set up a wlan client and repeat it. DDWRT, etc, ftw.
Just get backtrack for your laptop and spoof your mac to all 0 then grab connect to the network at your school the spoofed mac will allow you to browse so long as no other encyption is on the network such as WEP or WPA.
then you can try to flood all the ports on the network so no one else can connect then spoof your phones mac by conneecting to your laptop through wireless as an adhoc connection and while staying connected through adhoc load a second server through the same wireless network card and you can connect to the achools network again. and walla...
death1246 said:
Just get backtrack for your laptop and spoof your mac to all 0 then grab connect to the network at your school the spoofed mac will allow you to browse so long as no other encyption is on the network such as WEP or WPA.
then you can try to flood all the ports on the network so no one else can connect then spoof your phones mac by conneecting to your laptop through wireless as an adhoc connection and while staying connected through adhoc load a second server through the same wireless network card and you can connect to the achools network again. and walla...
Click to expand...
Click to collapse
so simple, i dunno why i didnt think of that. thanks! lol
Well its quit simple once you learn your way around linux...
If you have any experience with *nix, you may want to look at Cyanogen's original usb tether shell script:
http://github.com/cyanogen/android_vendor_cyanogen/blob/master/bin/usb-tether
Basically you could use the internet connection sharing function that comes with all popular OSes and access your uni's network on your phone. You must have Cyanogen mod or another mod using his kernel. Not yet working on OSX for some reason. Tested under Windows 7.
First you'll need to figure out what IP address range your computer's DHCP server is using. This is normally fixed for each OS. For Windows 7, it's always 192.168.137.0/24.
For OSX or Linux, you can setup connection sharing (for some other connection because we don't have the USB interface yet) and ifconfig.
Second is to enable the USB connection on the phone's side. Type the following command in any console program, like Connectbot. (You must use a console program as opposed to adb because you will lose USB debugging once the USB network interface is enabled.)
Code:
su
cd /sys/devices/virtual/net/usb0
ifconfig usb0 192.168.137.200 mask 255.255.255.0
echo 1 > enable
The first line makes you the superuser. (Skip if the command prompt is #)
The second line land you in usb0's directory under sys. We'll need to type the disable command later, so it's easier if we're here.
The third line brings up the virtual usb network interface and sets its IP address.
The IP address should be in the same network (i.e. IP address range) you obtained in step 1. Say if the original is 192.168.137.1 in a /24, you can use 192.168.137.2 through 192.168.137.254
This actually enables the usb interface.
You will now see a new network adapter is recognized by your computer. Set up connection sharing to share your internet TO that adapter.
Make sure you have connection by pinging your computer from your phone.
For example:
ping 192.168.137.1
Now you'll have to change the routes so traffic go through the USB cable instead of the mobile network.(# is the command prompt, do not enter)
# busybox route
check the line starting with "default". Write down the ip address after it; call it IP1.
# getprop net.dns1
Call the IP returned IP2.
Code:
busybox route del default gw IP1
busybox route add -host IP2 rmnet0
busybox route add default gw 192.168.137.1
The first line deletes the old default route via the mobile network.
The second line adds an "exception" for your carrier's DNS server.
The third line adds the new route via USB. You should replace the address at the end with the IP address from the first step.
Your network should be working now. Test by visiting some website that is only available on campus or by traceroute.
You must make sure the mobile network is always connected though. This is because domain names are still resolved by your mobile carrier. If you ever lose your mobile connection, the routing table will be changed as well.
To disconnect:
Make sure you're still in /sys/devices/virtual/net/usb0.(Use pwd if unsure.)
Code:
netcfg usb0 down
echo 0 > enable
The usb interface will disappear on your computer.
Now switch the phone to airplane mode and back to re-enable mobile network.
The disconnect step should always restore your phone's state.
// This is written at 3am, so use it at your own risk...
help?
look at this
http://superuser.com/questions/91699/spoof-mac-address-from-ip-command
bg
It's really sad that Android can't reverse tether. If you want to use your laptop's AdHoc connection you have to do serious hacking to the tiwlan.ini and the wpa_supplicant.conf. There is no way to connect via bluetooth ar USB.
I'm seriously considering WP7 now for my next OS of choice... A nd for everyone saying "go buy a router" - go buy a router and stick it up your .... nose.
Hi,
I have the same problem. No WiFi in my work and no WiFi in my current home (a Resident Hall). There's no possibility to buy a WiFi router, of course. I tried to hack the system to connect ad-hoc networks but it didn't work.
I have found some interesting resources:
sluniverse.com/php/vb/blogs/psyke+phaeton/1042-making-android-phone-use-your.html
letsgoustc.spaces.live.com/blog/cns!89AD27DFB5E249BA!877.entry
I have a HTC Magic with the ADP-DRC83 hacked ROM with Usb tethering integrated. But usb0 interface in the mobile is configured to provide Internet connection (as gateway) to the PC, not the reverse functionality: connecting the mobile to Internet through the PC. So, all I need is to change the gateway in Android and then configure a NAT-DNS in my linux PC (easy with iptables and dnsmasq). But, I don't know how automatize the process exactly.
digitaljeff said:
but for certain places (CANADA) where data charges are WAY to expensive this could be handy for students at UNI where wireless is not an option.
Click to expand...
Click to collapse
Wind will be launching in vancouver soon.
$35 unlimited data.
Silly ragin' cajun.
Ok, now it works. Here it's my procedure for a HTC Magic (Sapphire) without any APN previously configured from Telecom provider and ROM CSDIv4.
In the mobile by using Better Terminal:
Code:
su
cd /sys/devices/virtual/net/usb0
echo 1 > enable
ifconfig usb0 192.168.2.2 mask 255.255.255.0
busybox route add default gw 192.168.2.1
setprop net.dns1 8.8.8.8
In the linux computer:
Code:
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i usb0 -j ACCEPT
sudo ifconfig usb0 192.168.2.1 netmask 255.255.255.0
Android Market downloads and location service don't work but I think is possible if you switch on the WiFi.
Update: Syncronization, Android Market downloads and location service don't work even the WiFi antenna is switched on. I have added the iptables commands also.
Well gosh, reverse wireless tethering is so much simpler
There are another similar thread: http://forum.xda-developers.com/showthread.php?t=522498

Join Bluetooth PAN as client? (reverse tether)

How can I join an Android device to a Bluetooth PAN (Personal Area Network) as a client? In some areas, the only internet connection available would be to tether it through another cell phone via bluetooth PAN (other phone has no wifi).
Solutions that require rooting or config file editing are OK.
I've searched alot, but all results are about going the other way - tethering other devices through the Android.
Soundman6 said:
How can I join an Android device to a Bluetooth PAN (Personal Area Network) as a client? In some areas, the only internet connection available would be to tether it through another cell phone via bluetooth PAN (other phone has no wifi).
Solutions that require rooting or config file editing are OK.
I've searched alot, but all results are about going the other way - tethering other devices through the Android.
Click to expand...
Click to collapse
It's Linux, man, all you need is setting network config I was using reverse tethering for some time, this is my script (run on PC):
Code:
sudo pand --listen --role NAP
adb shell pand --connect XX:XX:XX:XX:XX:XX
sudo ifconfig bnep0 192.168.101.1
adb shell ifconfig bnep0 down 192.168.101.2 up
adb shell route add default gw 192.168.101.1 dev bnep0
adb shell setprop net.dns1 192.168.101.1
Of course you should omit 1st and 3rd lines.
Are you sure second phone supports PAN connections, not DUN? PAN is quite complicated for phone, because it requires full NAT.
And you will have problems with Android Market and some other apps. Internet is configured at linux level, Android OS don't know about it, so if application asks: "Do we have internet connection?", Android replies: "No". Android Market will wait for connection even if there is one.
Brut.all said:
And you will have problems with Android Market and some other apps. Internet is configured at linux level, Android OS don't know about it, so if application asks: "Do we have internet connection?", Android replies: "No". Android Market will wait for connection even if there is one.
Click to expand...
Click to collapse
I believe that is a valid concern. Anyone know how to deal with this? Thanks.
Soundman6 said:
I believe that is a valid concern. Anyone know how to deal with this? Thanks.
Click to expand...
Click to collapse
But most of the apps don't check internet status and just use it - they will work. AFAIR I couldn't use Market, GTalk and syncing feature, but Browser, Gmail and many, many more was working.
If you have any WiFi device then you could connect Android to it. Even if it doesn't share internet connection, Android OS will think, that it does (but will use BT connection configured at linux level ) - then any app should work.
At work I got a laptop with windows XP, There's a wireless network but it's EAP secured and I can't connect to it with the phone (Motorola Milestone - Android 2.1).
Did you manage to make internet work through Bluetooth PAN? I just need to use the borwser, so It's not important if market or other apps don't work.
I have android sdk with adb on my laptop and terminal emulator with busybox on my phone. I'm kind of a newbie in this so some hints would be nice. I think many people like me would be gratefull
haxxy said:
Has anybody got it working?
At work I got a laptop with windows XP, There's a wireless network but it's EAP secured and I can't connect to it with the phone (Motorola Milestone - Android 2.1).
Did you manage to make internet work through Bluetooth PAN? I just need to use the borwser, so It's not important if market or other apps don't work.
I have android sdk with adb on my laptop and terminal emulator with busybox on my phone. I'm kind of a newbie in this so some hints would be nice. I think many people like me would be gratefull
Click to expand...
Click to collapse
And my first post was about what, you think? I don't use it now, but I was reverse-tethering through BT for several months, until I bought some data plan.
Above commands should work for you, but... they will let you connect your phone to PC, but I don't know, how to share internet connection on Windows XP. AFAIR I tried to do it, but failed.
There's a bluetooth network icon. I know it's possible to share the internet connection from my ethernet to the other network cards. So this should work also with the bluetooth network.
I will try the commands and see how it goes.
haxxy said:
it's possible to share the internet connection from my ethernet to the other network cards. So this should work also with the bluetooth network.
Click to expand...
Click to collapse
Unfortunately not ;-) It is a cost of easy-clicking-configuration that Windows has - it's very limited, don't work for BT connections. I guess there is some professional software for internet sharing on Windows, but I don't know one.
Brut.all said:
Unfortunately not ;-) It is a cost of easy-clicking-configuration that Windows has - it's very limited, don't work for BT connections. I guess there is some professional software for internet sharing on Windows, but I don't know one.
Click to expand...
Click to collapse
I did this with my symbian phone. I managed to share internet to the bluetooth network, but the phone had a bluetooth PAN profile that connected to my laptop.
No! Already I have a bluetooth network set up on my Ubuntu Laptop - pand is running and there is a dhcp server monitoring the interface. What I need is not the below advice, which are commands to run on the PC, but an application / utility / instructions for enabling BLUETOOTH PAN CLIENT on Android. That is what the original question was too! Anybody?
Paul Beardsell
Brut.all said:
It's Linux, man, all you need is setting network config I was using reverse tethering for some time, this is my script (run on PC):
Code:
sudo pand --listen --role NAP
adb shell pand --connect XX:XX:XX:XX:XX:XX
sudo ifconfig bnep0 192.168.101.1
adb shell ifconfig bnep0 down 192.168.101.2 up
adb shell route add default gw 192.168.101.1 dev bnep0
adb shell setprop net.dns1 192.168.101.1
Of course you should omit 1st and 3rd lines.
Are you sure second phone supports PAN connections, not DUN? PAN is quite complicated for phone, because it requires full NAT.
Click to expand...
Click to collapse
psb777 said:
What I need is not the below advice, which are commands to run on the PC, but an application / utility / instructions for enabling BLUETOOTH PAN CLIENT on Android.
Click to expand...
Click to collapse
4 of 6 lines of my instructions were for setting Android client: connecting, setting IP, routing and DNS. And yes, they are run on Android, not on PC - I thought you will notice "adb shell" prefixes... You can also use dhcpcd instead of last 3 lines, but if you don't understand, what are you doing, you will have problems anyway.
Maybe anyone with Froyo can confirm that there's still no official option for joining a Bluetooth PAN from Android there?
@Brut.all So I guess there's currently no way to kind of telling Android there's a configured connection on Linux level?
By the way, every Mac allows the creation of a Bluetooth PAN with one click so this would be my usage scenario ;-)
This seems like it should work, and indeed I can use a similar technique from an ubuntu laptop to connect to another device, but my HTC Hero doesn't seem to have hcitool or pand installed on it. I downloaded some prebuilt binaries for them but they don't seem to be able to access the bluetooth device:
# /data/tmp/pand --role PANU --connect 00:17:83:0F:0F:C7 -n
pand[5083]: Bluetooth PAN daemon version 3.36
pand[5083]: Connecting to 00:17:83:0F:0F:C7
pand[5083]: Connect to 00:17:83:0F:0F:C7 failed. No route to host(113)
Do all versions of Android come with pand and hcitool? I'm on 1.5 although I'll be reflashing to 2.1 soon.
"find / -name pand" yields no results
trphunk said:
Do all versions of Android come with pand and hcitool? I'm on 1.5 although I'll be reflashing to 2.1 soon.
Click to expand...
Click to collapse
No, it was added by rom cookers and I don't know how they did this. I think there are missing some kernel modules or something like that.
trphunk said:
This seems like it should work, and indeed I can use a similar technique from an ubuntu laptop to connect to another device, but my HTC Hero doesn't seem to have hcitool or pand installed on it. I downloaded some prebuilt binaries for them but they don't seem to be able to access the bluetooth device:
# /data/tmp/pand --role PANU --connect 00:17:83:0F:0F:C7 -n
pand[5083]: Bluetooth PAN daemon version 3.36
pand[5083]: Connecting to 00:17:83:0F:0F:C7
pand[5083]: Connect to 00:17:83:0F:0F:C7 failed. No route to host(113)
Do all versions of Android come with pand and hcitool? I'm on 1.5 although I'll be reflashing to 2.1 soon.
"find / -name pand" yields no results
Click to expand...
Click to collapse
Brut.all said:
No, it was added by rom cookers and I don't know how they did this. I think there are missing some kernel modules or something like that.
Click to expand...
Click to collapse
Thanks, I've got the FroydVillain ROM installed now and can confirm that it comes with pand and hcitool compiled and working.
Reverse tether does seem to work, the method that's worked for me has been to use:
Code:
pand --connect <remote BT device hex address>
ifconfig bnep0 down
dhcpcd bnep0
setprop net.dns1 8.8.8.8
This allows the device to access the internet, and you can ping www . google . com and get a response etc.
However, a lot of android apps (including the built-in google apps for gmail etc) use the ConnectivityService (see source code here) to access the net, and since this method of reverse tethering doesn't change the connectivity state within this service, those apps still believe that there is no internet connection on the device.
I can't see an easy way of "tricking" the ConnectivityService as it appears to have been hard coded to only cater for WIFI and 3G connectivity. So perhaps the only way is to rewrite it.
I've found a few cases of others going through the same issues online, although I think the getMobileDataEnabled return value is a red herring:
(I'm not allowed to post links, so you will need to add http : // www to these
superuser.com/questions/188636/close-connect-android-to-internet-using-usb-tether-through-laptops-newtwork
forceclose.com/questions/2669/connect-android-to-internet-using-usb-tether-through-laptops-newtwork
Looking at the code in ConnectivityService.java it seems that apps must subscribe to this service via getInstance() and then wait for a sendConnectedBroadcast() to occur, triggering them into action (e.g. the gmail app will attempt to sync to the gmail server etc).
Anyone got any ideas for an easier route than rewriting ConnectivityService.java to add an additional connectivity type?
Edit to add:
Found another related discussion at the following site. Seems to suggest modifying the ConnectivityService is the way to go:
comments.gmane.org/gmane.comp.handhelds.android.porting/12028
Based on the posts I've seen in this thread, I'm guessing I can't use BlueTooth PAN tethering from my rooted Dinc to provide internet access to a Samsung Galaxy Tab???
So has anyone tried to Bluetooth tether a Galaxy tab with a phone?
Thanks for this thread! I just successfully Tethered both internet+gps over bluetooth from my G1 to my AdventVega tablet.
For now I am using GScript lite with the following script commands:
Code:
pand --connect {my phones BT hex address}
ifconfig bnep0 down
dhcpcd bnep0
setprop net.dns1 8.8.8.8
dhcpcd bnep0
(for some reason the first dhcpcd command always says permission denied, but the last one always works)
So...
1) Get in to car with Android phone and Vega Tablet.
2) On phone: Enable GPS/Bluetooth, click GPS2Bluetooth widget button, click WiFi Tether (configure for BT), press to start tethering.
3) On tablet: Enable Bluetooth, click Bluetooth GPS Provider, click Start, click Back or Home, click GScript Lite, click "Connect to BT-PAN" (above script)
4) Run GoogleMaps/Navigation on tablet and enjoy using your tablet as the ultimate GPS navigation system (while streaming Pandora in the background)!
I am very happy. I just wish I could make step 2 & 3 be a single click instead of so many.
NOTE: Must have "Allow mock locations" enabled in Settings->Applications->Development
NOTE2: You must pair your phone and tablet in BT settings (it will never say "connected" though, which is fine)
I tried this, but still no connection between my android phone and the other phone. Is there some other method?

[Q] adhoc wpa_supplicant

Hi at all guys! I have a question... i've tried to use the modified wpa_supplicant for Desire S (here in the development area)... adhoc networks and udp broadcasting works fine but the wifi doesn't search any network...
can anybody modify it for the community?
the original wpa_supplicant is here: http://db.tt/UremWjC
orymd.
orymd said:
Hi at all guys! I have a question... i've tried to use the modified wpa_supplicant for Desire S (here in the development area)... adhoc networks and udp broadcasting works fine but the wifi doesn't search any network...
can anybody modify it for the community?
the original wpa_supplicant is here: http://db.tt/UremWjC
orymd.
Click to expand...
Click to collapse
Ok just so we are on the same page. You have installed a modified wpa_supplicant file onto the sensation right? And you say ad-hoc networks are working fine, but it doesn't search any networks...
For clarification, what are you trying to accomplish?
What do you mean by ad-hoc networks works fine?
Do the ad-hoc networks show up in the network list?
Off the top of my head I'd suggest looking at the permissions for the wpa_supplicant file you can use root explorer if you have it its really easy. All you do is first turn off wifi on the phone then navigate to system/bin and remount the folder as R/W then long hold on the wpa_supplicant file and choose permissions then check/tick all the boxes in the first two columns and the first 2 in the last column. Then all you have to do is restart wifi and it should have the correct permissions.
Thank you for your reply... i'm very happy
in my older Desire HD the wpa_supplicant edited for the Desire S worked very fine... about the permissions, i ever set the "original" permissions.... with my sensation and that wpa_supplicant i can see adhoc network and i can connect with it... if i use Samba app i can access to my memory not only by \\IP but with \\hostname (i need this feature)... The problem is: i turn on the wifi in my sensation when i'm at home, it searches the my home wifi network and try to connect... the connection is established... i go to work... my phone doesn't connect to my work wifi network... if i try to push "search" button it doesn't see the wifi network... i should turno off and on... "in a loop"... Do you understand this?
orymd said:
Thank you for your reply... i'm very happy
in my older Desire HD the wpa_supplicant edited for the Desire S worked very fine... about the permissions, i ever set the "original" permissions.... with my sensation and that wpa_supplicant i can see adhoc network and i can connect with it... if i use Samba app i can access to my memory not only by \\IP but with \\hostname (i need this feature)... The problem is: i turn on the wifi in my sensation when i'm at home, it searches the my home wifi network and try to connect... the connection is established... i go to work... my phone doesn't connect to my work wifi network... if i try to push "search" button it doesn't see the wifi network... i should turno off and on... "in a loop"... Do you understand this?
Click to expand...
Click to collapse
That is indeed odd.
Does it only happen at your work?
Have you checked the permissions?
mr_wrong_0 said:
That is indeed odd.
Does it only happen at your work?
Have you checked the permissions?
Click to expand...
Click to collapse
No, viceversa too... I've tried with my portable hotspot and it's the same...
the wpa_supplicant doesn't work good on Sensation...
I need somebody that edit original wpa_supplicant of htc sensation with adhoc and udp broadcast support...
Any news, bad or good?

Categories

Resources