.comment: A Tale of Two Packages
It Was the Best of Installs...
Riddle: What do XFree86-4.x and early versions of Enlightenment have in common?
Answer: While tremendously powerful and feature rich, both are enragingly difficult to configure unless you happen to be the author.
This not-very-funny riddle occurred to me during about the fourth day of my installation of SuSE 7.1 on an IBM Thinkpad 760XL (P-166, 104 megs of memory, Trident Cyber 9385 video chip with a meg video ram, 800x600 TFT screen). The fact that I'm writing this in StarOffice 5.2 on that very machine using that very distribution might lead you to believe the install was a success; if so, you would be led astray.
I'm not one to jump promiscuously from distribution to distribution. My Linux life began with Caldera 1.1, and but for a brief and unsatisfying fling with Red Hat 5.2 as I awaited the arrival of an official glibc-2.x, I've been a Caldera user ever since. Alas, Caldera is heading off now in a different direction. It's concentrating on business, with its desktop distribution aimed at developers within businesses. I wish them well, but this has about as much to me as does an embedded system that keeps track of the amount of gasoline pumped by a filling station. The potential to be a desktop system is what separates Linux from all those other Unixes that have been merrily cooking along in the back shops for decades now. As an advocate of Linux on the desktop, I'm not all that interested in how a distribution might be made to work on the desktop. I want one that's there already.
In a lot of ways, that means SuSE. There are others who make distributions suitable for desktop use, but I don't think anyone is as committed to general desktop Linux as SuSE is. Friends who use it say its installation routine is the best in the business, and it is reputed to recognize hardware very well.
Now, it could be argued -- I know, because I have argued it -- that once you have a running Linux system, any distribution of just about any age, you really don't need to get anymore new ones, because you start out by breaking the RPM database, then upgrade things as the spirit moves you or the need arises. I've done this with my desktop machine, which is running Caldera eDesktop 2.4 in name only. But I have multiple machines to tend, and putting eDesktop on them and then traipsing around all over the web to get the stuff necessary to upgrade the kernel, so I can upgrade XFree86, so I can upgrade QT, so I can upgrade KDE and have niceties like working 3-D and typeface anti-aliasing -- this stuff isn't so bad the first time, spread out over months, but doing it all at once would be dull and irritating, to say nothing of time consuming. If I can send SuSE $30 and get it all on a nice CD, it's a bargain. So I did just that.
My idea was to use it to upgrade two machines, aforementioned Thinkpad and my wife's desktop system, which is about as vanilla as it gets -- K6-2-400, ATI Rage 128 ATI with 32 megs, 256 megs of memory -- with one exception. She loves LCD panels for desktop systems, and a few weeks ago I found one for dirt cheap at, of all places, the local Sears, on the junk table in the electronics department. It had no video cable (trivial) and no power supply (nontrivial), as well as no box or docs. It wanted 12 volts at 3.2 amps, and 3.2-amp power bricks are not easy to find. I'll digress long enough to tell you how I solved the problem. Computer power supplies, you may remember, provide 5 volts (the red lead on drive power connectors) and 12 volts (the yellow lead). Yes, I asked Mr. Voltohmmeter to confirm this. So I grabbed a drive power cable Y adapter from the drawer'o'wires, removed the yellow (positive) and adjoining black (ground) from one side, inserted a fuse holder containing a 4-amp quick blow on the hot side, then soldered the leads to a female power plug (center is hot) that I'd installed in a 7/16" hole I'd drilled in a blank slot cover. Then I installed the slot cover and plugged the bottom of the Y on the adapter into a spare drive power cable in the machine. I didn't even lose a power connector-- the other side of the Y was intact. Yes, I checked the voltage of the plug on the outside, just to make sure I'd made no mistakes. Finally, I used a male-male power cable, both ends like the business end of a garden-variety power supply brick, to connect the computer to the power in of the LCD. It worked perfectly. (Disclaimer: The above is for amusement purposes only, and if you go trying a stunt like this and blow up your computer or burn down your house, it's your own fault, so don't come crying to me, and don't send your lawyer crying to me, either.)
The only tough part in setting up the LCD on my wife's machine had been configuring XFree86-3.3.whateverCalderaships, which took a few hours of trial and error. XFree does not seem to have heard of LCDs, which is understandable in that they've only been in common use for about 15 years. So I was a little concerned about a new distribution there.
Fortunately, I had the Thinkpad as a testbed, and with it I would be throwing SuSE 7.1 some serious curves. The 760XL, about five years old and acquired from the same shop where I get all the stuff I couldn't afford when it was new (they buy lots of machines off lease), is wonderfully modular: if you push the screen latches (pulling them lets you open the screen), you can lift up the keyboard and rearrange everything. You can switch hard drives. On the left is a bay that holds the floppy drive, a CD reader, a second hard drive, or a second battery. Pretty cool, no? It came with the floppy drive and a 20x CD reader built for IBM by Hitachi. But leave it to IBM to leave out the little piddling feature that would have been easy to implement but they just didn't: you can't boot from the CD drive.
I have a PCMCIA CD drive, a Panasonic KXL-783A, that for the longest time wasn't supported under Linux at all. Recently It's been added to the list of supported stuff, but the way of making it work is long and convoluted and I've never succeeded at it. Because I'd need to have the floppy in the machine to boot the SuSE install diskettes, it would be my lone hope. And SuSE supports everything, right?
The target was a 4.2-gig IBM drive (which I had -- the 2-gig drive that came in the machine has an OS/2 install on it, because it's a neat system and for old times' sake; I'll spare you the story of how I got a spare drive caddy for ten bucks and learned after many hours that IBM had for no apparent reason screwed around with the drive select pins, such that the only solution was to just cut the damn things off of the caddy).
So I booted the SuSE install disk. It detected the PCMCIA chip and prompted me for the modules diskette (both of which were provided; none of this bush-league business of making the diskettes from images on the CD first). Then a hellish red box, saying that it had found no CD drive and the install would be text-based. Weird, I thought -- some trick, installing with nothing to install from. Then it asked me if I'd like a NIS or FTP install.
It had detected the network card in the second PCMCIA slot. The one that had taken me days to set up in OS/2 and that I'd never quite gotten to work on a Windows machine. So I said sure, FTP, amused that my $30 would have gone to get, essentially, two floppies, and I'd be doing everything else from SuSE's FTP site.
Not so fast. Though I fed it all the right numbers, it wouldn't connect to SuSE, though it hooked up just fine to the hub here. (I've tried it since then, and it still won't.) Hmmm. Okay . . .
I keep all the services I can get my hands on turned off on every machine on the network. The machines don't talk to each other and hook up at the hub solely to get cable modem access to the outside world, through one of those nifty little D-link gateway boxen. Time for that to change for awhile.
Caldera shipped with eDesktop 2.4 (and eServer 2.3) a browser-based service configurator called WebMin. My previous experience with it had been limited to turning things off and, for an article, using it to set up a SAMBA share. It took about five minutes to start it and use it to set up an FTP server that would give residents of the local network access to my desktop machine's CD reader. I put the SuSE CD into the drive, mounted it, pointed the SuSE install to my desktop box, and whammo! the install began.
In my experience, it's best when installing a distribution to install everything and uninstall the stuff you don't need later, because otherwise one of the pre-built package tours is certain to leave out something you'll sooner or later need. As I watched the packages come zooming across onto my notebook, I had time to contemplate, which contemplation I've since expanded upon through experimentation.
Thus we arrive at the first package referenced in the title of this column. It's the PCMCIA stuff, known in the world at large as pcmcia-cs.
A few years ago, it listed my PCMCIA CD machine as unsupported and unlikely ever to be. The fact that through some alchemy it can now be made to work is a nice feature, though one I'm unlikely to use, because after the installation I can put the CD reader back in the Thinkpad and Linux will see it just fine. I wasn't at all surprised that it wasn't automagically recognized. It's a little bit of a weirdo, running off an Ataptec card or clone and otherwise odd. No other operating system recognizes it right off the bat absent the intervention of drivers from Panasonic.
But consider. I have four PCMCIA network cards here, all from my efforts to get Warp to connect. They include a 3Com, a Xircom NIC/modem, a NE2000 clone, and an Intel (a rebadged Xircom). Only the Intel works with OS/2; in Windows all work to some extent, but all with little crotchets. Reliability is assured only by shutting down, inserting the card, and starting back up again.
Ah, but with pcmcia-cs! I'm online right now. I can yank the card, replace it with a different one, and I'm online again. No shutting down. No restarting. I pull the card, and pcmcia-cs unloads the module for the card and shuts down the networking on the machine. I put in a different card, and pcmcia-cs loads the module and restarts the network, and I'm back online. If I'm reasonably quick, I can do this in the middle of a big FTP download, and it picks up where it was. This works with all four of the ethernet cards I have. And I've told pcmcia-cs nothing at all about any of them. Nor does it make any big deal about it -- no "new hardware detected, would you like to install drivers?" self aggrandizement. It just works. It's some of the most gorgeous programming in all of what we broadly refer to as Linux, and if everything worked as well we'd have nothing left to hack. (The 2.4 kernel includes more PCMCIA stuff than 2.2 did; if you use a notebook and are upgrading the kernel, read the pcmcia-cs docs before you build your kernel, because the kernel can break a lot of the goodness that pcmcia-cs provides.)
Ah, the metaphorical FTP transfer from my desktop machine is done. Time to move to darker things.