The number 1 Android app for rooted phones out there is undoubtedly Android WiFi Tether, which is a free alternative to all those carrier-bundled WiFi hotspot apps. In fact, it is the primary reason I root every Android phone I own - 2 hours of commute on the train suddenly become extremely productive because of always-on laptop connectivity. I've excitedly written about the app before, especially after it added support for Infrastructure mode and WPA2 on the EVO 4G.

Problems

However, after a few months of using the WiFi Tether app, I started experiencing occasional issues maintaining connectivity. The symptoms were:

  • the WiFi AP (access point) would suddenly disappear from the list completely
  • the connection would drop unexpectedly
  • the AP would show up in the list but connectivity with it could not be established

Doesn't sound like fun, does it? Well, it's not, and as of late, it started getting more and more frustrating, with random disconnects plaguing me 5-6-7 times an hour. Only a tether restart would be able to solve it, but usually only temporarily, and sometimes unsuccessfully. That's the bad news.

The good news is that I was able to resolve the issues and am now back to enjoying the hell out of my EVO's tethering capabilities.

Solutions

Problem 1 and Solution

Shortly after I installed Tasker, an absolutely terrific Android app, I started noticing occasional WiFi AP resets. The symptoms were a disappearing access point (AP) and a reset on the amount of transferred data that WiFi Tether showed in its window.

I spent quite a bit of time analyzing logs, trying various settings, and reinstalling but nothing helped. Until it dawned on me - I recently added a Tasker rule that would occasionally check if I am nearby a specific wireless network. If the condition succeeded, that rule would turn on WiFi permanently.

See anything wrong with this scenario? Apparently, the second the WiFi switch is toggled, it kicks tethering offline in a brutal but sneaky manner - the tethering app keeps running, albeit being just a dud at that point. The mere act of periodically waking up and seeing whether a WiFi network was available was knocking my tethering out cold.

Needless to say, that rule is now out of my Tasker, and I'm extra cautious that nothing else touches WiFi on any kind of schedule when I may be using tethering (I switched to a GPS fix polled once an hour instead).

Problem 2 and Solution

Problem 2 started happening relatively recently and would manifest itself very-very randomly - my access point would suddenly disappear until the app is restarted, and even then, it could take a few tries to connect back. My train rides stopped being as productive as before, and I generally turned sad and frustrated from being happy and proud.

Weeks went by, and my connectivity situation hasn't improved. The problem persisted even through a complete OS reinstall and upgrade from Éclair to Froyo... until one day, out of desperation, I started browsing android-wifi-tether tickets and quickly found issue #509: Tethering drops internet connectivity randomly, which described a similar problem. The solution cited was changing the frequency from the default Channel 06 to Channel 01 in the app's settings.

Since I've tried doing that before, except to Channel 12, I didn't have much hope that this would work, but short of another solution, I decided to give it a go. And what do you know... it worked!

It's been 2 weeks now, my connection has been rock solid, and I've regained my sanity. I'm not sure what kind of interference causes the problem exactly, but Channel 01 seems clear and wide open!

Here is the setting you need to change:

Update 12/23/2010: Looks like android-wifi-tether now defaults to channel 1.

Has this helped anyone else? I don't know, but I sure hope so. Drop a line below if you've been having similar tethering issues.