Installing Linux on a Wal-Mart OS-less PC

95
By Russell C. Pavlicek

A few months ago, super-sized discount store Wal-Mart made the headlines in
the Linux world by becoming the first major U.S. retailer to offer PCs
without Windows preloaded. At this writing, the Walmart.com Web site lists no less than 14 PCs available without an operating
system.
While this was widely hailed in the Open Source community as a victory
over the “Microsoft tax,” which usually afflicts buyers of Linux PCs,
one major question remained unanswered: How well do these machines support
Linux? Some PCs produced today are crammed with “value-added”
(otherwise known as “brain dead”) hardware that only works with specific
drivers — drivers that are frequently available under Windows alone.

So, in order to get the straight scoop, we went off to the Wal-Mart Web
site to purchase a system and load Linux on it.

Choices, choices

As previously mentioned, the Wal-Mart site currently lists 14 machines without an operating system. All are listed under the Microtel brand, and include a selection of Celeron, Duron, Athlon, and Pentium 4 processors ranging from 1 to 2 GHz. The prices range from a consumer-friendly U.S. $398 for a 1 GHz Duron or Celeron box, to a top-end 2 GHz Pentium 4 at U.S. $868. The low end offerings start with a “mere” 128 MB
of memory, while the upper end tops out at hefty 512 MB installed. And to
think that I still have a few 256 KB (yes, that’s one quarter of a
megabyte) SIMMs sitting in my drawer. The low end is a heck of a
lot nicer than it was just a few years ago.

For the purposes of this review, we ordered a 1 GHz Duron system for
U.S. $398. We figured that this would be a relatively popular selection
among the more cost-conscious Linux users. With shipping, the total was a
manageable U.S. $413. We ordered the PC on the evening of April 11 and it
came to my door on April 22.

First look

The order arrived in a single, well-designed shipping box. In addition to
the standard mini tower, the system includes a keyboard, a two-button mouse
with scroll wheel, a pair of inexpensive speakers, and all the usual
cables. The mini tower reminds me of any number of PC clone towers I have
seen recently, but people buying these units are interested in
functionality, not geek chic. The system also included the manufacturer’s
booklets for the motherboard and CDROM drive, as well as CDs with Windows
drivers.

Inside the unit, there is a 40 GB Samsung drive, 128 MB of memory (8 MB of
which is shared as video), and 52x LG CDROM Drive. The motherboard is a
Microstar MicroATX motherboard model MS-6378. It has 2 DIMM slots (1
used), 3 PCI slots (one of which is occupied by a modem card), and 1
unused CNR slot. Sound and ethernet are handled on the motherboard,
which also sports an Award BIOS dated 2/25/2002.

For those so inclined, the motherboard manual does say that the board
supports overclocking, but it also provides the usual warnings about the
risks of overclocking. So, it appears that speed freaks may be able to
tweak the clock speed at their own risk.

Setting up the system was the same as setting up any standard clone. Plug
in the keyboard, mouse, speakers, and power cord. The only essential
item that is missing is a monitor (you will probably want to add a mouse
pad and a surge suppressor, but those are optional).

Running under DemoLinux V3

For a quick check of the system, I put a DemoLinux version 3 CD in the CDROM
drive and booted the system up. I found that the video came up fine using
the framebuffer driver. Sound, likewise, was detected without
incident. The only two items that did not function on boot-up were the
modem and the ethernet. The ethernet was brought to life easily by
loading the tulip driver and configuring the network interface. The
modem, however, was another matter. I decided to wait to until I actually
installed Linux to tackle that problem.

Installing Mandrake 8.1

Figuring that it was time to get serious, I began installing Mandrake version 8.1
on the system. I selected the most automated form of installation (as a
Linux newbie might) to see how the process would fare. I was pleased with
the results.

The installation went without incident. The Mandrake installer detected
and configured the video, sound, and network without pain. At no time was
there any indication that the installer was fighting strange hardware. I
was thrilled.

But there was one fly in the ointment: the modem. The modem clearly was
not a true hardware modem. So, using the “lspci -vv” command from an
xterm (you can get the same result by looking at the PCI Information from
the KDE Control Center), I tried to identify the type of modem in the
machine. It was identified as an unidentified “Lucent Microelectronics”
device. Thankfully, this meant that there might be a working Linux driver
for this modem.

I traveled to linmodems.org and found the link to Randal Oliveira’s site for Lucent drivers. Note that the Lucent drivers require kernel modules that must be recompiled for each version of the kernel, so it is
essential that you either find a module that is compiled against the
appropriate kernel, or else you will need to compile it yourself. After a
couple of minutes, I located an RPM that someone had created for the
Lucent drivers under Mandrake 8.1. After downloading and installing the
RPM, I decided to reboot to see if the device would now be found on
startup. Much to my delight, it was!

Unfortunately, my delight did not last. When I actually tried to use the
modem, I found that the AT commands all worked as expected, but I could
not get the modem to go off hook, recognize the dial tone, or generate
touch tones. I spent hours on this with no joy.

Running under SuSE v7.2 Live Eval

Next, I wanted to see how SuSE Linux would handle the machine. I didn’t
have a full SuSE kit on hand, but I did have a V7.2 Live Evaluation CD
handy. Like DemoLinux, this allows you to run SuSE Linux from the CD with
no actual installation. I found that the SuSE Live Eval system detected
everything fine, except for the modem. Not a bad result from a
non-installed system.

Installing Red Hat v7.1

I then tried to install Red Hat V7.1 and found results close to my
Mandrake experience. Everything loaded fine, except for the sound card and
modem. The sound card was quickly activated by choosing the automatic
configuration option from the sound configuration utility. I then
downloaded a copy of the Lucent modem driver for Red Hat V7.1 and promptly
found that the modem was behaving exactly as it did under Mandrake. The
AT commands all seemed to work until you attempted to dial. The phone
line never went off-hook and touch tones were never generated.

After several hours of investigation on the Web and experimentation, I
could not find an answer. I tried different IRQs, changed settings in the
CMOS, checked the phone line … nothing.

So, in my desperation, I decided to confirm that the darn modem actually
worked. I pulled an unused Windows ME distribution off the shelf,
installed it, and loaded the modem driver. To my surprise, the modem
dialed the phone. I checked the settings under Windows and found they
were identical to the default settings detected under Linux.

I reloaded Red Hat and played some more. No change. I could get replies
to the AT commands, but I could not get it to do anything remotely
productive with the telephone line. There may be a solution to this, but
it certainly isn’t obvious.

Conclusion

The Wal-Mart machine itself strikes me as a very reasonable clone. With
the exception of the modem, all the hardware seems to work. I have had to
live with useless modems in clones before, but at least this modem is a
card that can be removed from the machine. I should also note that
Mandrake installed on the box easier than Windows ME did. If I had wanted
to keep Windows on the machine, I would have had to manually install
drivers for both the ethernet and sound card, because Windows did neither on
installation.

So it appears that the Wal-Mart machine as tested makes a very reasonable
Linux box. But I suggest you lose the Lucent modem card and replace it
with a real hardware modem.