Root or superuser access gives you unlimited permissions to the Android OS. This allows Barnacle Wifi Tether to directly access the network hardware and route the packets between the wifi and mobile wireless networks. Barnacle assumes that a su command is available. Android Police provides an excellent overview of rooting.
Unfortunately yes. At the current state of the Android platform, in order to use wifi this way, the app needs root permissions. There are apps available that use bluetooth or USB that don't require root access, but require some software to be installed on the laptop and might not work with all applications (they typically create a SOCKS proxy).
I only own a Motorola Droid, so my experience in rooting is rather limited. Here are some instructions:
For other phones, the Internet is full of information. Good luck!
No. Unlike some other wifi tethering apps, Barnacle Wifi Tether does not depend on kernel support for Netfilter. It should work out-of-the-box with any ROM including the official one from your carrier. Barnacle only needs the su program to be able to access the network hardware.
One benefit of using wifi is that many devices are compatible and require no extra software. Confirmed to work with Barnacle-enabled phones are laptops running Windows, Mac OS, Linux, also iPad/iPod, Nokia Internet Tablet, even Xbox.
However, some wifi-enabled devices are only configured (mostly by short-sighted software design) to connect to access points and will ignore the ad-hoc network created by Barnacle. Known to have this problem are PS3, DSi, Wii, and even other Android devices! For Android, there are a couple workarounds but all of them require rooting the phone.
If one could make an Android phone look like a real access point (rather than an ad-hoc network), then it would improve compatibility and allow better security. Unfortunately, to make a wifi client behave like an access point requires fundamental changes in the device driver. The hardware vendors of the wireless interfaces present in most Android devices did not include such capability.
What one can do, however, is use Connectify to make their laptop running Windows 7 appear as a real access point. In combination with Barnacle it should be possible to connect many restricted devices (PS3, DSi, etc.) to the Internet.
Barnacle support 40 and 104-bit WEP. In Settings find Wireless Security and enable WEP, then type in the key. For 40-bit WEP, type in 5 ASCII characters or 10 hex digits. For 104-bit WEP, type in 13 ASCII characters or 26 hex digits. Passphrase is not supported.
Since Barnacle does not require a special kernel, it works as long as it can create the ad-hoc network. Since there is no standard API to do that (yet), there might be difficulties in getting a particular Android phone model to broadcast and connect to an ad-hoc network.
For most up-to-date info on hardware known to work check the wiki.
Barnacle uses the same data plan that an Internet browser running on your Android phone would use. Therefore, if you download 100MB while tethered, it will be as if you downloaded those 100MB to your phone over 3G. If your data plan covers that, then there will be no extra charge.
I am not a lawyer, and different networks are governed by different terms of service (TOS). However, in principle, the traffic relayed by Barnacle does not look any different than the traffic originated by any app on the phone, so it would be quite difficult for a network provider to detect such behavior.
It is however strongly recommended to stay within the monthly limits of your data plan (even if your plan has "unlimited" in its name!).
Will it drain my battery really fast?
Barnacle uses very little CPU. In fact, the wifi driver in the OS uses 3x more CPU than Barnacle. On my Droid, I was able to watch a 2 hour long youtube video at a sustained speed of 1Mbit/s and drained only 1/3 of the battery.
How do I know it's working?
A notification icon will appear in the status bar and the log will say "Processes started successfully". Sometimes, the su program (for example, as provided by the SuperUser whitelist app) could take a long time to grant root permissions. Check out the Troubleshooting section if you are seeing something else.
To preserve battery, the phone attempts to associate for a limited time only. If you laptop didn't scan at that moment, it would miss the beacons.
The recommended procedure is:
- Press Start, Barnacle will start associating immediately.
- Right after it starts beaconing, tell your laptop to scan for wireless networks.
- If the laptop didn't detect Barnacle, press Associate and try scanning again.
- Tell your laptop to connect with the ad-hoc network.
- Right after it starts connecting, tell Barnacle to Associate again to close the deal.
You can change the DHCP parameters in Settings > DHCP. For example, suppose the settings are: gateway 192.168.5.1, netmask 255.255.255.0, first host 100, number of hosts 10. This means that the first IP given out by the DHCP server is going to be 192.168.5.100, and the last will be 192.168.5.110.