The road trip season started early this year… The Unix Curmudgeon and the Nice Person loaded up the newly-acquired Green Hornet with quilts, computers, and layered clothing and headed south through the ever-present Pacific Northwest rain, down the I-5 corridor, on a quest that will take us to I-10, then across to I-25, and a meandering diagonal back to Chaos Central by the first week in February.
Of course, crucial to all this planning, besides getting new wheels for the first time in 17 years, is staying connected to the Internet, from whence money flows in and out to fuel trips like this and keep the home fires burning. As mentioned in an earlier post, “rover,” our trusty Ubuntu Linux development machine, had, during our last extended road trip in November/December, developed an aversion to wireless connectivity. The little NetworkManager icon on the panel simply refused to appear after we got home. This didn’t matter at Chaos Central, because we’re usually wired, but became an issue when preparing to unplug.
After much poking and prodding, reconfiguring, reinstalling drivers and packages, and so forth, the missing icon still refused to appear. the iwlist scan command showed the wireless driver was loaded and working–we could see all the networks, but couldn’t connect. The Network Connections menu under System -> Administration mysteriously “grayed out” when it was time to enter the encryption key for our home network. With only a couple of days to fix it and a backlog of work that had to be finished before leaving, desperation set in.
Finally, the brain cells clicked on the fact that, if everything seems to be working, but you can’t communicate, it’s a permissions problem. Sure enough, I had, in some fit of sysadmin tidiness, installed the Firestarter firewall. Aha. Getting rid of that seemed to help, somewhat. I’m old-school enough to hand-edit iptables, so firewall GUI apps that don’t let you fine-tune your configuration are just out. I also removed Oracle’s VirtualBox, which I had installed about the time the wireless started misbehaving, since VirtualBox also adds a few kernel modules that might conflict with the wireless driver module.
But, still no wireless icon. Next, I removed all of the wireless assistant applications that had accumulated during this fiasco and reinstalled wifi-radar, a venerable tool that predates the NetworkManager by several releases. Now, I haven’t had a lot of luck with wifi-radar in the past, probably due to multiple conflicting management tools, but this time, it seemed to work. Not as smoothly as the newer NetworkManager used to work, but, since we can’t get the NetworkManager to work, it will do.
If you have been reading along for a while, you probably have deduced that we’re pretty firmly committed to Linux as the operating platform of choice, and have been using Ubuntu on the laptop for several years, plus Fedora, Red Hat, CentOS, and SuSE on various platforms, having started with Slackware in the mid-90s. But, the subject of wireless networking remains, in my opinion, the last big obstacle to total World Domination by the “One True Operating System.” One reason might be that, until recently, not many of us used laptops as our primary Linux machines, so there just hasn’t been enough collective brainpower behind this problem. Also, there has been the age-old issue of open hardware bus standards–conceived by IBM when the personal computer was developed–versus proprietary peripheral hardware. There is no universal device interface standard (like SCSI) for network cards, so manufacturers consider the device driver software to be proprietary. As such, they can’t be bundled in with open-source Linux distributions. There are some common chip-set versions from various manufacturers that talented Linux systems programmers have gotten to work, but the hard-core proprietary systems have been tough to crack. Broadcom now does provide Linux drivers for their cards, which appear in many popular laptop models, but installation and configuration is still an exercise for the user.
But, since Ubuntu 9.10, the whole wireless experience has gotten easier. There is “some assembly required” to get the 3rd-party restricted drivers installed, but after that, wireless networking is almost as painless as on a Mac or Windows machine. Unless, like the Unix Curmudgeon, you are systems administrator or developer who tweaks on the machine, at which time it gets a bit precarious. If you install the Broadcom driver from the Broadcom download site, you have to rebuild it every time the kernel gets updated to a new revision. If you install it from the Ubuntu repository, it will automatically get updated, but might end up with compatibility issues with the wireless security module. As a matter of course, I try not to update the kernel when on road trips unless I have access to a wired network so I can fix the networking if everything goes south. So it goes. Road trips are truly adventures, both on and off the road. The saga continues.