How to Set up an Orinoco Gold Wireless PCMCIA Card on Debian GNU/Linux


The advent of broadband access to the Internet makes it a trivial matter to do a network installation of just about any free or open source operating system. In most cases, all you need is a boot floppy or CD to begin the process. This is fine if you have a PC with a commonly supported network card, but if it needs further configuration, you might find yourself in a catch-22, where you are unable to install the necessary drivers and utilities to properly configure your network.

I found myself in just such a situation recently, when I tried to do a net install of Debian GNU/Linux on a Compaq Presario 1255 laptop using an Orinoco Gold wireless PCMCIA card. My weapon of choice for installing Debian is the excellent LordSutch.com ISOLINUX mini-ISO image. Debian has links to this and other network install images on its net_install page. This fine CD will allow you to install a minimal system, which you can use as a basis to build a more complete installation after you have set up networking and configured your apt sources.

While the process goes smoothly for conventional PCs with ordinary network cards, I couldn't seem to get my wireless adapter configured. During the kernel module selection process, I chose the appropriate orinoco driver, and lsmod showed that all of the necessary modules were installed. I also made sure that wireless-tools was installed when dselect was run. After much searching on the Internet, I was finally able to put together the necessary information, resulting in a solution that was surprisingly easy.

Log in as root and type:

cd /etc/pcmcia
mv wireless.opts wireless.opts.original
nano wireless.opts

Enter and save the following:

case "$ADDRESS" in
*,*,*,*)
     ESSID="yourSSID"
     MODE="managed"
     DHCP=y
esac

Of course, you need to use the real SSID of your access point. After making this change, simply restart the pcmcia service:

/etc/init.d/pcmcia restart

Your card should light up, and you should hear two beeps. You should now be able to ping a host to test your connection. If you remove your card and plug it back in, configuration should be automatic.

Surviving the Kernel Upgrade

I like to upgrade my kernel to match the architecture of the machine. It's best to do this early, so less time is wasted if something goes wrong. Be sure to download the corresponding PCMCIA modules package for your kernel. After you've installed the new kernel and rebooted, you may find that your card no longer works. All you need to do is run modconf and reselect the orinoco driver. In my case, I also needed to install the yenta_socket PCMCIA module, after which the orinoco drivers installed flawlessly.

Mounting Remote Filesystems

On Debian, the mount.sh script is run before the pcmcia service, so none of the NFS mounts listed in /etc/fstab will be mounted. This can be overcome by editing /etc/pcmcia/network.opts. If your fstab contains an NFS entry like this:

filehost:/data /data nfs rsize=8192,wsize=8192,timeo=14,intr

add this line to network.opts:

MOUNTS="filehost:/data"

Additional remote mounts may be listed, separated by spaces.

Stop logging to my console!

One final annoyance took forever to track down. Even though my wireless card seems to work fine, errors of this type kept logging to my console:

NETDEV WATCHDOG: eth0: transmit timed out
eth0: Tx error, status 4 (FID=01D9)

The fix is simple. Type this:

dmesg -n 1

If that stops the errors from logging to the console, then you can make this change permanent by editing /etc/init.d/bootmisc.sh, replacing this line:

dmesg -s 524288 > /var/log/dmesg

with:

dmesg -n 1 -s 524288 > /var/log/dmesg

Aaaah, now I am blissfully ignorant of these annoying errors. Some watchdogs bark too much.

Source Documentation

Debian - Debian GNU/Linux is one of the best operating systems available, and it's free! Download it now, and be sure to read the documentation.


Home | Code | Services | Contact