Review/Howto: CyanogenMod 6.0
I finally did it. I rooted, and took the plunge. This past week, Cyanogen release CM6.0, based on Android 2.2, aka Froyo. What the heck is this rooting business about? One of the nifty things about Android is the open source nature of the beast. Since the source code is all out there, users are free to modify, remix & reload to their heart’s content. Now, I’ll grant you that you’re not likely to find a lot of kernel hackers out there who really want to squeeze the last bit of performance out of their phone. However, that’s not to say that there aren’t users who want to serve up the phone “their way,” be that simply changing the look & feel of the device, swapping out the kernel for one that underclocks the CPU to save battery, or even simply gaining more control over the device (especially true in carrier-subsidized devices).
Right now, CM6 is available for a handful of HTC devices, as well as the original Motorola Droid. For a complete list, check the wiki to see if your phone can use CM6. First up, you’ll need root access to your device, as you’re going to need to flash a custom recovery image onto your phone. Don’t worry, it’s not as scary as it sounds. Again, back to the wiki, look at the detailed directions for your device. For some devices, like the Nexus One (what I’m using), you may want to grab the “Universal Androot” package. It works for the N1, as well as a bunch of other devices, and is available from the developer’s site. And yes, Virginia, there is enough of the pages written in English that you’ll be able to figure it out. If you’re a phone that’s not supported by the Universal Androot, you’re not sunk yet. There’s either a manual process, which will be described on the wiki, linked above, OR if you have an HTC Evo, Desire, Incredible, Wildfire, Aria (aka Liberty) or Hero, you can use unrevoked. It’s pretty painless.
Warning: once you root, there may be no going back, especially if you do something like unlock the bootloader. Officially speaking, once you unlock the bootloader (which isn’t always required), your warranty may be void. I’m not responsible if you blow up your phone, start a small war, or your cat runs away.
Another warning: If you’re using a device that uses the HTC Sense UI, flashing CM6 will cause the UI to revert to the standard Android UI.
Got root? Ok, now it’s onto the easy parts. Install ROM Manager from the Android Market. You can use the free version without any troubles. Got that loaded? Go ahead and flash the Clockworkmod Recovery to your phone. ROM Manager should autodetect what type of phone you have, but it will ask for confirmation before it does anything.
Ready to roll? Ok, grab the CM6 ROM image from a mirror. While you’re at it, grab the latest Google Apps zip file for your phone type as well. Stash those on your SD card. Here we go. First up, a full backup. Back into ROM Manager, and “Reboot into Recovery”. In the recovery? Ok, now do a backup. This is also called a “Nandroid Backup”. What the heck is that? Put simply, it’s a full backup of your current ROM image. You want to do this. REALLY.
Once you’re in the recovery menu, just do a backup. Navigating the recovery menu uses the trackball to go up, down & select, and the power button acts as a “back button”. Your backup will take 3-5 minutes, and will require about 300-500 MB on your SD card. Make sure you’ve got the space available! For your reference, my Nexus One’s backup of the stock 2.2 image was 303MB.
All backed up? Ok, let’s go. Do a factory reset/wipe and wipe the cache as well. Next, install a zip file from the SD card, specifically the CM6 ROM. Repeat the steps to install the gapps image as well (if you’re planning on using the gapps, and you probably are). All done? Reboot. Your phone will come up like it’s all brand new.
I’ve take some additional steps, going a bit further than just stock CM6. I also added the HTC_IME Mod keyboard, which replaces the standard Android keyboard with the HTC Sense keyboard. Once you get it installed, selecting it is as simple as doing a long press on a text field, and changing the input method to HTC_IME mod (assuming you’ve already turned the mod on in the system keyboard preferences!).
So back to the review. So, was it all worth it? I’d have to say yes. Absolutely. There was certain a small amount of inconvenience, associated with backup & restore of data, re-creating accounts and sync mappings, as well as the little things like prefs for ringtones, etc. That was far and away outweighed by the good stuff I got – better performance, enhanced feature set – especially the use of ADW.Launcher by default, and the enhanced power control widget.
Ok, so now suppose you want to go back to where you started, how do you undo all of this? Simply boot back into the recovery image, do another factory reset/wipe, wipe the cache and then restore. Reboot, and you’re back.
Android is still in many regards somewhat of a wild west affair with regard to software updates, especially given the open source nature of the OS. Will there be bumps along the way? Probably. Are you the type wants a phone that “just works” and doesn’t like to tinker? CM6 probably isn’t for you, nor is pretty much any custom ROM.
Review: Google Nexus One
For the past couple of weeks, I’ve been doing a trial of a Google Nexus One. This is my first Android device, and I must say, so far, I’m mighty impressed. We’ve all been reading about Android, Google’s Linux-based mobile device OS for what seems like forever now. In those many articles, all the promise that the platform brings to the table, with all of the open-source goodness – now that Android’s been around for a while, how does it measure up?
For those who don’t know, I was a hardcore Symbian user for years, mostly S60 devices, though I had a fleeting stint using a Nokia 9300 (my only S80 device ever). That’s what you get when you spend the better part of 10 years working at Nokia.
Nokia has historically done a very good job of producing smartphones – it’s been their bread & butter for years. I had a brief stint using an N97, followed by a loaner of an N97 Mini from the Womworld guys, and I was never wowed, heck, never even liked S60 v5. For me, the last great S60 was v3. FP1 or FP2 were both good to me. Heck, I still have an N85 that I use for my home line.
These days, it seems like everyone’s in iLove, going absolutely gaga over the iPhone, including the latest incarnation – the iPhone 4. Deathgrip aside, I was never a huge fan of the iPhone. I had a 3G for a day, and returned it. Bad battery life (like in the 3-4 hour range), and the walled garden – don’t get me started about locking out developers – I maintain that it’s bad for business in the long run.
I got my Nexus One in the AT&T variant, so it’s got quad-band GSM/EDGE and tri-band (850/1900/2100) UMTS/HSDPA support, as well as the 802.11g WLAN, Bluetooth and GPS radios. That’s a lot of RF in a small case. Physically speaking, the Nexus One feels great in your hand. There’s some sort of coating on the metal parts that’s just slightly tacky, not metallic at all. It just feels great in your hands. The RF performance on the Nexus One is very good in my experience. I don’t notice any lower coverage than I saw with my prior Nokia E72. All in all, very good.
Connectivity is where Android 2.2 really shines. On my Nexus One, I’ve got my home Google Apps account sync’d, as well as my corporate Exchange ActiveSync. The phone keeps track of where the different bits of data came from and only tries to sync the appropriate data to the various accounts. It’s very well thought out and I didn’t wind up with lots of data duplication. Further, Android 2.2 implements the much sought-after mobile hotspot feature. If you’re unfamiliar, you use your WLAN radio to setup an Access Point, then connect WLAN devices to that AP, which shares your phone’s 3G (or even EDGE) wireless data connection. Pretty slick.
On the ActiveSync front, the client is very good, and fairly complete, though a couple of what I consider to be key features aren’t there yet.
| Working | Not Working |
|---|---|
| Email, Contact & Calendar Sync with Exchange 2007 | GAL lookup for contacts |
| GAL lookup for email recipients | GAL lookup for meeting requests |
| Accept, Reject, Tentative meeting request responses | |
| Create meeting requests |
Rather than the App Store, Android uses the Android Market. Same idea, essentially, though it seems that you need to do substantially less hoop-jumping to get your app in the Market. While yes, Apple definitely has a wide margin of available apps, I’ve yet to be disappointed when I got searching for an Android app for a specific task. This review focuses on the device itself, not the apps, so I’m not going to go too deep there, but suffice it to say that I’m happy with the app selection.
Overall, it’s a great device, and the future for Android is indeed bright. Go make the jump, you won’t be disappointed.
2 Wireless APs in One with VLAN trunking in OpenWRT
I had a bit of a technical challenge to solve in our house recently. I wanted to create a guest WLAN, as well as another WLAN for Alex’s Nintendo DS. The challenge? The DS only does WEP. No WPA at all. Not being interested in giving unrestricted access to either group, particularly the latter, I decided it would be useful to deploy both SSIDs on the same AP, and try to map the different SSIDs into different VLANs.
Our firewall is a Juniper Networks SRX210, which lends itself very well to this task, as it supports ethernet switching natively. First up was creating a couple of VLANs & RVIs on the firewall and assigning them to security zones. These RVIs will need to have dhcp allowed on their as an inbound system service. Next, some security policies will need to be created to allow devices in the new zones to talk out to the untrust (i.e. Internet) zone. Next, you’ll need to configure a VLAN trunk on the port connected to the wireless AP (fe-0/0/6 in our example). Finally, you’ll need to setup DHCP helpers for each of the RVIs to direct their DHCP requests to your DHCP server. If you use the SRX as your DHCP server, you would instead configure a DHCP scope for these networks. Here’s an example of what that might look like:
set vlans vlan2 vlan-id 2
set vlans vlan2 l3-interface vlan.2
set vlans vlan3 vlan-id 3
set vlans vlan3 l3-interface vlan.3
set int fe-0/0/6.0 family ethernet-switching port-mode trunk
set int fe-0/0/6.0 family ethernet-switching vlan members [ vlan2 vlan3 ]
set int vlan.2 family inet addr 192.168.2.1/24
set int vlan.3 family inet addr 192.168.3.1/24
set forwarding-options helpers bootp interface vlan.2 server 192.168.1.20
set forwarding-options helpers bootp interface vlan.3 server 192.168.1.20
set security zones security-zone guest interfaces vlan.2 host-inbound-traffic system-services dhcp
set security zones security-zone guest interfaces vlan.2 host-inbound-traffic system-services ping
set security zones security-zone dsnet interfaces vlan.3 host-inbound-traffic system-services dhcp
set security zones security-zone dsnet interfaces vlan.3 host-inbound-traffic system-services ping
But that’s only half of the battle. We still need to setup the AP. In our example, I used a Fonera Fon 2100. Instructions for how to reflash it with OpenWRT can be found on their wiki. Once you’ve got that together, you’ll need to make some mods to their stock network configuration to make it work, but it’s not so bad. Essentially, you’ll make 2 SSIDs, and bind them to 2 VLAN-tagged sub-ints of eth0, forming 2 bridge groups. In OpenWRT, when you create an interface of the form eth0.X, where X is in the range 1-4094, you’ve just created a tagged sub-int.
/etc/config/network:
config 'interface' 'loopback'
option 'ifname' 'lo'
option 'proto' 'static'
option 'ipaddr' '127.0.0.1'
option 'netmask' '255.0.0.0'
config 'interface' 'guest'
option 'ifname' 'eth0.2'
option 'type' 'bridge'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'ipaddr' '192.168.2.2'
option 'defaultroute' '0'
option 'peerdns' '0'
option 'stp' '1'
config 'interface' 'dsnet'
option 'ifname' 'eth0.3'
option 'type' 'bridge'
option 'proto' 'static'
option 'netmask' '255.255.255.0'
option 'ipaddr' '192.168.3.2'
option 'stp' '1'
option 'defaultroute' '0'
option 'peerdns' '0'
/etc/config/wireless:
config 'wifi-device' 'wifi0'
option 'type' 'atheros'
option 'channel' 'auto'
option 'disabled' '0'
option 'diversity' '0'
config 'wifi-iface'
option 'device' 'wifi0'
option 'mode' 'ap'
option 'ssid' 'dsnet'
option 'encryption' 'wep'
option 'key' 's:myWEPkey12345'
option 'macpolicy' 'allow'
list 'maclist' 'e8:4e:ce:xx:yy:zz'
option 'network' 'dsnet'
config 'wifi-iface'
option 'device' 'wifi0'
option 'ssid' 'notyourhouse'
option 'network' 'guest'
option 'mode' 'ap'
option 'encryption' 'psk2'
option 'key' 'guestWPAkey'
Now you’ve got both SSIDs up, each bound to a different VLAN, and can enforce different security policies on each!
iDon't Get It.
So, the day has finally come. Everyone’s got iPad fever. The intertubes are clogged with unboxing videos, reviews and twitter’s all agape with people railing on about how this new device is going to change their lives. Ok, so this post’s title isn’t entirely accurate. I sort of get why people want this thing.. It’s largely the same reason they want a netbook. Small, light, does email & browsing.
But here’s what I don’t get. Apple clearly wasn’t in a rush to get this thing out the door – rumors of an Apple tablet have been flying around ever since the Newton checked out. It’s not like they had to push it out right now, at once. Given those facts, why do it now, rather than let it finish cooking and release the product everyone wants?
To me, the device makes sense if you add some stuff to it. Like for starters, a front-facing camera. This is the ideal form factor for a Skype / iChat Video device, yet it’s missing the camera. Reading PDFs as part of iBooks should be part of the core functionality. As near as I can tell, the way you get PDFs on the iPad is with 3rd party apps like Papers. Oh yeah, and it should cost half what it does. I’d buy an 8GB iPad for $250. Heck, I might even go $299. But $499? You’ve got to be kidding me.
Inevitably, all of these issues will be addressed, and you early adopters will pay the price, having financed iPad 2.0 and 3.0, which will integrate the features that should have been there on day 1. I’m actually finally considering an iPhone, once I see what this year’s announcement brings. Apple’s 4th pass at a phone might measure up. We’ll see.
I Love the NJEA
The NJEA is a kind, wonderful organization that only has the best interests of children at heart. No way are they some power-crazed organization bent on getting every penny they can at the expense of the taxpayer. They’re really a good bunch of guys. April Fool!
Wake up teachers. The primary concern of the NJEA is that you pay your union dues.
Review: Nokia N97 Mini
Recently, the nice folks at WOMWorld sent me an N97 Mini to review. Thanks guys. I received the Euro model, the RM-555, which supports UMTS on the 900, 1900 and 2100 Mhz bands, in addition to quad-band GSM and a 802.11g WLAN radio. Living in the US, I’d have preferred to have looked at a US model that included the UMTS 850 Mhz band, but beggars can’t be choosers, right? Right. So, on to the show..
Physical Attributes
The device’s size is great. Nice and small. I had an N97 for a (very) short time not long after it came out, and I was not a fan of the form factor. It felt almost like carrying around an old 9500. What a brick that thing was. Contrasted with this, I’d be totally satisfied with the form factor. Obviously, thinner w
ould be better, to a point, but I’m not unhappy with the thickness. In terms of construction, there’s just enough metal to make it feel solid in your hands, like it’s not going to snap in half while you’re typing on it.
One problem I had with the layout – the position of the headphone jack. On my train ride home from the office yesterday, I had my headphones plugged in while listening to some tunes. Typing a couple of emails and texts was awkward. It would have been better if the headphone jack had moved toward the top, but the camera assembly would then need to be relocated. Typing on the keyboard wasn’t bad, took a bit of getting used to, but nothing ridiculous.
Software
I’ve said it before, and I’ll say it again. S60 is really showing its age. Yes, S60 v5 has some advances over v3, even FP2, but it’s still got a lot of the baggage that’s accompanied S60 devices over the years – mostly speed related. This phone won’t win any UI races. The device lacks any form of multi-touch capabilities, due to its use of a resistive touchscreen. Yes, I’ve heard all the arguments about how you can use resistive screens while wearing gloves. Frankly, I don’t often find myself trying to use my phone while wearing gloves. I’d rather have a capacitive screen – much more responsive.
As it’s big brother does, the N97 Mini includes Ovi Maps, and is compatible with the new version of Ovi Maps that includes free navigation. I love the free navigation concept, and expect others to follow suit. That said, I much prefer using Google Maps. I find it faster and more responsive than Ovi Maps overall, and think it’s much better at finding things in the area because of its hooks into the Google Search infrastructure. I’d use something like Ovi Maps in my car for navigation, but I’ve owned a Garmin Nuvi for several years now, and I’m not quite ready to get rid of it.
For email, I’m using Mail for Exchange. The latest version for S60 v5 does not
include HTML mail support, something I miss from my E72. I’m planning on trying out RoadSync on this phone as well, but since I already know that it doesn’t support network destinations (i.e. access point groups), I’ll be disappointed there as well, though I will get my HTML mail.
In the browser arena, as expected, I found the Nokia browser to be adequate, but not really as good as I’d like to see it. I tried out Opera Mobile on the device, and was generally more pleased with its functionality, though I found it to be slightly less responsive than the stock Nokia browser.
Network
I ran a some speed tests from a variety of sites, using both AT&T 3G data as well as via the WLAN in my home. Over the air, I saw download speeds ranging from 500 – 780 kbps. Over the WLAN, I saw speeds around 1.2 Mbps. On my Mac on the same WLAN, I see about 18 Mbps down and 4.2 Mbps up (I have 20/5 FiOS at home). These performance numbers are consistent with my tests with other S60 phones, like the E71, E72 and my wife’s E75. It’s also close to what my iPhone toting friends in the area see.
Conclusions
In summary, the N97 Mini is definitely a better choice than the bigger N97. It’s more pocketable, and has the same features, with a better form factor. If all you’re after is an S60 v5 touch device, you’d probably be better off with the 5800 Nav Edition, but if you can’t live without a qwerty keyboard, the N97 Mini is a winner. Will I buy one? Probably not – I’m satisfied with my E72. Right now, Android 2.1 has ActiveSync that gets email and contacts. If they add calender support to it, I’ll be on an Android device before too long. Why? Newer devices, more innovation, actual integration with Google Voice – something I actually use on a daily basis and more than one vendor really interested in using it. Hopefully S60 can turn things around before my next phone purchase. As a co-worker said the other day, the call quality on Nokia devices is better than anything else I’ve ever used.
Home Virtualization Project 2.0
You may remember the Home Virtualization Project from last year. In that project, I converted my existing server, based on a Shuttle XPC (SP35P2 Pro, to be more precise) from a Linux server running VMware Server 2.0 to a VMware ESXi 3.5 server. It worked well, but left a few things to be desired, such as..
- No RAID
- Onboard NIC required significant fiddling to get working under ESXi 3.5u4
- No onboard video, so I needed a video card, plus a network card to get going (the real root cause of #1 above).
- A bit loud. The system wasn’t terribly loud, but for something that’s on full-time in the background in my office, it could be distracting at times.
So here we are, it’s a brand-new year, so the big project was an upgrade, inspired by some requirements I found with a project at work. In the end, the old server was converted into a workstation and now has a happy home. So what’s the current system? Another Shuttle XPC. This time, it’s the SG45H7. This is a slightly smaller chassis than the already small SP35P2 Pro. The SP line has space for 2 hard drives up top, above the optical drive that the SG line lacks, resulting in a shorter case. The SG45H7 is targeted as an HTPC, and includes onboard video with both SVGA and HDMI outputs. Further, it includes 2 expansion slots, one PCIe x16 and one PCI. Read more…
The iPad, yawn.
Ok, so it’s been a couple of days since Apple announced the latest gadget that’s going to be “revolutionary,” or perhaps this one is “game changing.” Whatever it is, the iPad, which many had very high hopes for appears to be a big dud.
People have been clamoring for Apple to enter the netbook/tablet market for some time now, at least an hour after the Asus eeePC started gaining popularity. Well, they finally got their wish this past week. Unfortunately, it’s a big dud.
Take an iPhone 3GS, make it bigger, slap a huge bezel around the screen, and take away its ability to make phone calls. Blammo, you now have the iPad. I’ve got so many questions about this thing, and the choices they made in its design, that I’m not entirely sure where to start. How about the CPU? Apple went and designed their own, rather than do something sensible like use the Intel Atom. It boggles the mind. Ok, so it plays HD video. So does the Atom, when outfitted with a proper graphics chip, like the Nvidia ION. Rather than put all that effort into the CPU, they could have done so much more with the hardware. And despite touting it as able to play HD video, it’s got a 4:3 ratio screen, rather than the widescreen aspect ratio it deserves.
No front-mounted camera. Apple loves to trot out the latest iChat video stuff during keynotes. Why not on this thing? I thought it was supposed to be “the netbook, but done right,” or something like that. Then the OS, the iPhone OS? Blech. Multitasking anyone? Sure, I understand their attraction to the fact that it runs iPhone apps out of the box, but that’s bound to be problematic. Consider games for instance – those are designed down to the pixel on the little screen of the iPhone/iPod Touch. Now suddenly they’re on a bigger screen. Is there resolution independence, or will developers be doing hoop jumping to support the iPad? We’ll find out, eventually.
Then there’s the price. Wow. $500 for a 16GB tablet that’s only got wifi? Yikes. Want that 3G? No problem, just add another $130 to the price of an already overpriced gadget. If you wan the big dog model (64GB) with 3G, that’s going to run you a cool $829. Oh yeah, and then you still get to pay the monthly recurring charges for your carrier’s data plan. Since it’s free of contract pricing and you can start and stop at-will, why not just simply sell it unlocked?
Lots of folks are up in arms that it’s yet another device bound for AT&T’s network, but I completely understand (and agree with) the choice. You want to minimize your build costs to maximize your profitability. Just like the iPhone, that means GSM 850/900/1800/1900 and UMTS 850/1900/2100, guaranteeing your ability to sell the product pretty much anywhere globally. Especially perturbing to many is that it isn’t available for use on the Verizon network, for the reasons I just gave. Honestly folks, everyone’s moving to LTE-based networks, even Verizon, so you’ll just have to wait a few more years, then you can get your iLove on the VzW network.
Last, but most certainly not least – the adapters. Want to pull pictures from your digital cam into iPad? There’s an adapter for that. You still need the special dock cable to connect it to anything as well. I get it – I understood the use of the dock connector back in the day. It’s time to abandon it in favor of the Micro-USB connector that everything else is either using, or moving to. My Nokia E72 uses it, as do all the newer BlackBerrys, as does the Kindle, as do many newer digital cameras. Join the rest of us in the land of “only 1 cable for all these devices.”
Will people flock to this thing? Probably. But, I just don’t see the attraction. Maybe after 3 or 4 revisions it will be cooked enough, but in its current state, it needs more time in the oven.







