Long Time, no Me. Android, Weeee?

Yes, I’m still alive. Just in case you were wondering.

With that out of the way, I’ve been enjoying my Sprint Galaxy S2 variant immensely. It feels orders of magnitude faster and more powerful than my old Android Eris. And really, the stats reflect about a 4x multiplier over every attribute of the Eris. It took some getting time to mentally transition from a 3.2" screen to a 4.5" screen, but I did it. Now when I look at my old phone, sitting idly on a nearby end table, it looks like a Chiclet in comparison.

But all good things must apparently come with a flaw or two. Unlike the international GSM version of the SGSII, the Sprint variant comes with its very own unstable radio. Pretty much at random, the signal bar will disappear and be replaced by a circle with a line through it, indicating the radio has no signal at all, and won’t even bother to try roaming. The only way to fix this is a reboot. But there’s also a more insidious problem! Sometimes this happens, but instead of a circle and a line, the last recorded signal bars remain displayed. This means the phone has no signal, but thinks everything is fine. This bug is accompanied by a 10-20% per hour battery drain, suggesting the radio has gotten stuck in a CPU select loop. Apparently Samsung still hasn’t figured out whichever CDMA radio they decided to wedge into the phone.

Whatever the case, I can’t very well use a phone that misses calls constantly because the radio crashes or hangs on a regular basis. So I headed over to the Epic 4G Touch XDA forums and lurked in the Android Development section for a while. Eventually, a dev that goes by -viperboy- came up with the crazy idea of using a shell script to use various Android debugging commands to diagnose and reboot the phone if service has been lost. He called his version LoSChecker.

I liked that idea. But I have a coding background, and am a professionally employed DBA. So I looked at how his script worked, and wrote my own Loss of Service Daemon. I added a ton of options, more checks, configurability, and some basic documentation, and stashed it all at github so people could look into the code if they wanted. Then I packaged it all up and made a recovery flash file, so anyone with a rooted Android phone could install it.

I’m hardly an Android app developer at this point, and I’m nowhere near able to build my own ROM, but it’s interesting seeing what goes into the phone hacking I’ve long utilized, but never taken part in creating. All because my phone is a better portable computer than a device for making phone calls. I’ve actually considered dusting off my Java hat and putting together an app, just to say I’ve done it. And doing so is admittedly easy in the Android universe, where API documentation, source code, and debugging utilities are erupting out of every corner of the internet.

So while I’ve been admittedly mute recently, I certainly haven’t been idle.

Until Tomorrow