Ad-hoc support for Android
Whether you’re on the go or behind your desk, there will always be moments when the only option for a internet connection is wired. For laptops that isn’t really a problem and for Android the 3G data connection is an option. Unfortunately it’s quite expensive, especially when your contract with your carrier doesn’t include it.
Many people did already consider using ad-hoc networks, but unfortunately Android doesn’t support them. Until now!
What it’s all about
It was already known that it’s a software problem. It just needed some guru to fix this. With his findings we’re able to activate ad-hoc support for Android.
The patch changes the following things in the wpa_supplicant file that can be found in /system/bin:
- Removes the [IBSS] flag from scan results
- Masquerades and demasquerades ad-hoc SSID with (*) prefix
- Sets mode 1 (ad-hoc) if the ssid is for IBSS
- Permits the supplicant to select an IBSS when associating to a given SSID
Someone on XDA compiled this patch and made a signed patch.
Versions
The wpa_supplicant file comes in different versions. You should test which one is running on your device before applying the patch.
Which can be done by a shell, either through adb shell or by using an app like ConnectBot. Run the command wpa_supplicant -v.
In case of v0.5.11:
Download wpa_adhoc-signed.zip
In case of v0.6.00:
Download wpa6_adhoc-signed.zip
Applying the patch
MAKE A BACKUP FIRST!
You’ll need a rooted Android device, else it wouldn’t be able to access that file. A recovery ROM could also be handy for newbies.
Place the zip-archive in the root of the sd card and flash the zip using a recovery ROM.
Once back in Android it will be able to find and connect to ad-hoc network. Those are indicated by an asterisk (*).
Drawbacks
At this moment the only encryption supported is WEP. Not the safest around, but it will do the trick for now.
Hopefully Android will natively support various secured ad-hoc networks in the future.
Afterwords
If you aren’t familiar with all of the terms used above, you probably haven’t got a lotexperience with rooting Android devices. If so, a good way to start is at XDA-Developers Wiki.
Once you’ve learned how to install custom ROMs, use adb, etc the info above will be easy.