The Laptopia Odyssey, Part 2
Back in March, in "Driving to Laptopia", I reported on the launch of a project: moving as much of my computing life as possible to a Linux laptop. Specifically, I was moving from a 17" PowerBook running OS X to an IBM ThinkPad T40 running Linux. Both were new models a year ago, and at this point both are broken in, though in very different ways.
The PowerBook has been in nearly continuous use since I got it more than a year ago. At home it's hooked up to a second (contiguous) monitor and a host of other peripherals--when it isn't floating around the house, hopping onto one our three Wi-Fi access points. It also travels with me on the road, which is up to half of my time. I doubt many other laptops have seen more use, under more conditions (in cars, on planes, on stages, on laps in less mentionable places), than this one--and that complained less. Which is saying a lot because I've beat the crap out of it.
I took delivery of the ThinkPad from Emperor Linux (it's their Toucan model) at LinuxWorld in January 2004. I got a loaded unit, with an 80GB drive and an Atheros 802.11a/b/g Wi-Fi card. It's a fabulous machine, in ways that are very different from the Powerbook. The screen is beautiful. It actually boasts more pixels (1400 x 1050) than the PowerBook's, but it is smaller in total area and has a narrower viewing angle. The colors are rich and vivid, and the detailing is remarkable. Where the PowerBook is sleek and silver, the ThinkPad is industrial and black. For ruggedness and pure functionality, it's hard to beat. For example, where the Powerbook features a soft light behind the keyboard that adjusts to levels of darkness, the ThinkPad has a tiny light that shines down from above the keyboard--a simpler way to solve most of the same problems and in some ways more handy, for example, you can read by it.
I detailed the first episode of my adventures with the T40 in the March report, which ended with a hand-off to Mitch Frazier, Linux Journal's network manager, who tends our servers, among other duties, in Costa Rica. The plan was to rebuild the machine with SuSE 9.1 Professional rather than the latest Fedora, which was the original installed distro (Fedora Core 1; the latest is Core 2). Also, we wanted to make it (as it was before) a dual-boot with Windows XP Professional. Because I'm the Linux Journal editor covering the business beat, and because the vast majority of the world's laptops run Windows, especially in business--even in many otherwise Linux IT shops--I want to conduct a controlled study of Linux vs. Windows on the same portable iron.
The main reason for using SuSE was support. We recently standardized internally on SuSE, and our staff seems happy with it. We also figured the 2.6 kernel and a fresh suite of drivers would do a better job of sleeping and waking up and of driving various peripherals.
It took awhile to get the machine in shape. First, we (that is, Mitch) had to wait for SuSE 9.1 to arrive. Then, we needed to reinstall the whole Windows side of the thing, which includes an extensive help system behind a keyboard button labeled Access IBM. On its site devoted to the subject, IBM describes the system this way:
Access IBM is the comprehensive, on-board help and information center for your computer. It travels with you, eliminating the need to carry reference manuals. It is your guide to a host of information and tools:
Access IBM Message Utility
IBM Rapid Restore PC
ThinkPad Keyboard Customization Utility
IBM Update Connector
ThinkPad Presentation Director
ThinkPad Software Installer
Access IBM Customization
ThinkPad Battery Maximizer Utility
ThinkPad UltraNav Wizard
Access Support Client
ThinkPad Configuration Utilities
IBM Client Security Software
ThinkPad EasyEject Utility
The system is indeed comprehensive. It also works only with Windows. For now. I've spoken to several IBM people about the company's quiet plans to make Linux a native OS for Thinkpads and other PCs, and they have made reassuring sounds about Access IBM. To me the OS isn't native until Access IBM, or the equivalent, works for Linux.
The ThinkPad finally came back to me a couple of weeks ago, and I've gradually been getting re-acquainted with it. Here's a summary of what I've found in a few key areas.
When I plug in an external keyboard and mouse, the system sees it instantly. Nice. That didn't happen before.
Where the PowerBook remains resolutely sparse, with its single button and trackpad, the T40 is abundant to the extreme. It has two buttons under the trackpad, another three (yay!) over it and a nub pointer in the keyboard. Even that item comes with three different versions you can swap out. There's the original eraser nub, a smooth version of the same thing and the one I prefer--a concave nub that cups the end of your finger.
One big plus is middle-button support. Before we bailed on Fedora, Mitch couldn't get the middle button to do anything other than pretend to be the right or the left one. With SuSE 9.1, it works perfectly. Nice.
The plan back in January was to ferry files from the PowerBook to the ThinkPad with a FireWire drive. For that I bought a compact LaCie 60GB portable FireWire/USB drive, a FireWire PCMCIA card and a power supply for both, because the ThinkPad doesn't feature FireWire ports and can't (or won't) supply power to the drives through the PCMCIA slot. It needs power through the USB port as well.
With the original Fedora configuration, getting the ThinkPad to see the drive wasn't easy. I forget all the problems we had. Whatever they were, the result was a little bit of success followed by a lot of failure.
Now when we plug it in, we can check the kernel initialization buffer (dmesg) and see it there, meaning the driver must be there too. I have no idea if this is a 2.6 kernel or a SuSE benefit (or both), but whatever the reason, it's cool that it works.
On the PowerBook, the system automatically perceives the drive, which is VFAT. SuSE sees it too, after I mount it with mount /media/firewire, after which it appears in the Konqueror My Computer window. I run unmount /media/firewire to unmount it, and go back to the PowerBook for more files.
So much for the good news.
Copying large files, however, seems to be a problem. According to my friend Donald Burr, an ace hacker I met through our local LUG, the driver has stability problems. As I write this, he's bent down over the keyboard, typing rapidly into a command shell.
When I got the ThinkPad in January, it came with a Wi-Fi card that only did 802.11b. There was also a problem with Kismet, which I needed to do wardriving and to have other kinds of fun with Wi-Fi. So the good people at Emperor Linux swapped that card out for an Atheros 802.11a/b/g card that worked with Kismet. It failed to light up the little green Wi-Fi indicator under the screen on the ThinkPad, even while it was working, which wasn't very often.
Now, with SuSE 9.1, the indicator light works and so does Wi-Fi--some of the time. Occasionally the indicator lights up, but the machine gets a bogus address from the access point and nothing else happens. Running various exercises involving a wireless utility (kindly installed on the desktop by Mitch) sometimes does the trick. Often, though, we need to restart the machine in Windows, make sure wireless is working there (it usually does, but not always), and then do a "warm" restart (not a complete shutdown) into SuSE. Then the Wi-Fi usually works.
Two days ago, Donald got it to work in SuSE, even after a hard shut-down, with no detours through Windows startup. "I put in a specific call to the DHCP daemon, for a start-up script." He said this doesn't need to be a routine.
But when I got it back on my desk, after he left, Wi-Fi was gone again. Or almost gone. The ThinkPad would get DHCP IP addresses assigned and could see the router and the DNS addresses. It just couldn't pass many packets. Even pinging the router didn't work. Lots of packets going out, few coming back.
Then, last night before bed, I brought the box to my kid's bedroom to show him cool stuff like KStars, which has a prettier planetarium than any of the commercial alternatives I've seen, including the excellent Starry Night, which is one of my main applications on the PowerBook. To my surprise, the wireless was working through a Netgear access point that's parked next to his bed. That one provides coverage to my office next door and the upstairs of the house.
When I got back to my office after he fell asleep (astronomy sometimes has that effect), the Wi-Fi was out again. Then I noticed my desk phone, a Panasonic KX-TG4000B. "Hmm," I thought. "That mother is wireless too." Then I looked in the manual and saw it was a (new! modern!) 2.4GHz system.
So I moved the laptop a few feet away, and voilà--full functionality restored.
At Panasonic's site for the phone, a home PBX (this one's a base station serving five wireless remote units), a pop-up window appears when you click on (FHSS) Frequency Hopping Digital Spread Spectrum--it's one of those Java deals that resists inbound linkage. The pop-up says, "This system randomly changes transmission frequency several times per second without causing cross-talk, enabling the use of multiple handsets. FHSS technology also enhances security due to the changing of frequencies." Sounds pretty scary.
So I moved the phone over to the top of the pile of audio equipment, about four feet away, and that took care of the problem. The ThinkPad and the Powerbook now are equidistant from the phone and neither is bothered anymore.
Looking back on the whole thing, I can't help thinking, "Duh!" Well, sometimes the obvious isn't always apparent.
Mitch put Firefox on the desktop of the ThinkPad, and I immediately fell in love with it. In fact, I loved it so much that I went over to the PowerBook and downloaded it there as well. Then I rebooted the ThinkPad in Windows, downloaded Firefox there, and ran a couple of time trials to see if it kicked Internet Explorer's butt. It did. The only place it came up short was in running sound from audio links for stations among Live365.com's listings of streaming on-line radio sources.
So, we downloaded the new 9.0 version of Firefox for Linux. There was a problem that required much hacking in a shell by Donald, but eventually it worked. I immediately put it through the Live365 torture test. We clicked on an audio link, it brought up the same window it does in OS X and Windows and asked if we wanted to run the sound through Totem. It worked perfectly.
So far, Word and PowerPoint files open and run perfectly under OpenOffice.org. In Firefox, when I go to a directory on the Web to get a PowerPoint file, Firefox asks me if I want to open it directly in OpenOffice.org. Each time I do that, the file opens and runs just fine. Even the builds work. Very nice.
Here's a huge practical benefit of a dual-boot Thinkpad over a single-boot OS X box: I can take advantage of Windows-only apps to produce data stored on the same drive as Linux. For example, I have a Sony NetMD MZ-707 minidisc recorder. It records in ATRAC, Sony's proprietary codec. The unit has a USB port but talks only to Windows, which is required for converting ATRAC to MP3 files. Now I can do that and in Linux move the files over from the other side of the partition.
Most of the files I'll be converting are interviews that have languished, because the UI on the recorder is almost unusable for transcription purposes. Now I can use transcriber.jnlp, a cool little Java app that lets you use function keys as foot pedals, emulating a traditional tape transcriber rather nicely.
I shared all the above with Mitch and asked what he wanted to add to this report. He sent back these other bits of wisdom:
Important point about dual booting the T40: DO NOT delete or try to use the unused space on the hard drive (about 4GB). This is where the Access IBM stuff is stored. If you RTFM (which I didn't) you'll know this. I learned the hard way. If you don't heed the above and you need to reinstall the Access IBM stuff, you have to get the Recovery CDs from IBM. You probably won't find it on their Web site as a product although there are references to it in the support documents. Call and order them. When you get the Recovery CDs make sure you delete ALL the partitions on the hard drive. The Recovery CDs are for initializing a new disk, if they see any partitions they may appear to work and install Windows XP; but they won't install the Access IBM stuff. This is a crucial point that I stumbled upon only after repeated attempts to run the recovery CDs. Repeated calls to IBM Support failed to uncover this crucial fact and it was nowhere in the instructions. After finally discovering this I called IBM and told the support guy about it and he said, "Yes, that's correct." I politely told him that he should inform the rest of the support folks about it and he said he would do that.
The hotplug support on SuSE, at least for FireWire, is very, very broken. The only way I could get it to recognize the FireWire drive is to hack the hotplug scripts to exit without doing anything when the drive was plugged in. The strange thing was that after trying to debug it for a fair amount of time I couldn't see that it was doing much in the first place. SuSE has made extensive changes to the hotplug subsystem. They maintain their own copy and don't use the hotplug scripts from SourceForge. One of my first attempts to fix the hotplug stuff was to download the latest scripts from SourceForge and install them. That fixed it, but later (too long later for me to make the connection in my brain) I noticed that the ALSA sound driver would fail on boot. Turns out that the sound driver under SuSE normally is hotplug blacklisted, which means that the hotplug system won't load it. It's normally loaded by other means. The SourceForge hotplug scripts don't have this, so things stopped working. There are other problems with the SourceForge hotplug scripts under SuSE, so don't use them.
The X configuration tool on SuSE (sax) didn't recognize that the video chip on the T40 was dual monitor capable. During a pre-SuSE 9.1 install of SuSE 9.0, I was able to make dualhead work by telling it that it was a Radeon 9000 and configuring a second chip instance. After installing SuSE 9.1 this trick no longer worked. After some unsuccessful fiddling I noticed that all the Radeon chip models (for example, RV250, as opposed to the video card models 9000, 9600 and so on) had entries such as RV250Lf and RV250Lg. I figured maybe the next higher last letter of the same card was the second head, and it was. Dualhead seemed to work well. Once configured for dualhead, rebooting without the additional monitor the system would come up and act correctly and only use one monitor. That is, the mouse stopped at the edge of the screen and didn't try to continue on to the disconnected second monitor.
Suspend is still rather flaky, even with kernel 2.6. The main problem I noticed was that after resuming the system when I had a USB mouse plugged in, the system would hang hard after 15-20 minutes. I didn't have any problems if the mouse wasn't plugged in.
Initially I couldn't get Kismet to work. I tried downloading a new madwifi driver but that didn't seem to help. After much fiddling I changed the Kismet config from specifying madwifi_b in the device config (I only had a 802.11b access point) to madwifi_ab, and then it worked. Note that the chip in this T40 is an Atheros AR5212, 802.11a/b/g capable.
I haven't tried dual monitor use yet. That feature matters to me, so I'm eager to see how it goes.
Kismet seems to work, so far. It sees 802.11b and b/g access points, two of each (three here, one next door). I still need to figure out how to get the Thinkpad to switch easily from one to another. The Powerbook makes this kind of stuff easy, although Apple, in a recent upgrade, subtracted value by forcing the system to ask, in the manner of Windows, if the user wants to join an untrusted network when the system perceives a new access point--something that slows down wardriving considerably.
We still have a long way to go here. I've been trying, so far unsuccessfully, to get IMAP working on my mail server. But that's a surmountable problem. When that's solved I want to try out various mail client approaches (the fancy ones, in addition to mutt, pine, et. al.) before settling on a replacement for Eudora, which I've been using on Macs for many years and will miss, because it has a brilliant UI that unfortunately has been copied by nobody I know. Eudora uses somewhat nonstandard mbox files, but there appear to be workarounds out there for converting Eudora mbox to Unix mbox. Obviously, recommendations are welcome--for everything.
There are other issues to solve, but mail is the big one. Hopefully, that will be the subject of my next report.