Red Hat 8.0 and D-Link DWL-650 (and other Prism II) wireless LAN cards

by Uche Ogbuji

Today Malatesta, my Debian SID desktop died an awful death after an apt-upgrade that broke GNOME 2 sessions. Thanks to Edd Dumbill, my gracious virtual neighborhood Debian guru, I was able to restore things to working, but in the meantime I decided to get serious about completing the upgrade of my laptop, Borgia, to Red Hat 8.0. Since I'm so much more familiar with Red Hat, it's useful to have a RH box around as a contingency when I'm having trouble with my main Debian machine.

Borgia is a Dell Inspiron 8100. If you also have one of these, you're aware of the linux-dell-laptops FAQ, right? Good. The only problem keeping me from putting Borgia to full use was the woeful state of the wireless LAN drivers that came with Red Hat 8.0. They would complain that they're really meant for Wavelan cards and not Prism II cards, promise to do their best, and then limp into service. But as soon as I put the network to any significant task, the drivers would wobble and eventually die in a storm of timeouts and resets. The solution is to install the linux-wlan project drivers.

Most of the pertinent information you need is listed or linked in Prism II entry in Jean Tourrilhes's Wireless HOWTO. You should also bookmark the linux-wlan FAQ. Download the drivers. Red Hat 8.0 comes with 2.4.18-14 kernel, but a security advisory right after the 8.0 release urges update to the 2.4.18-17.8.0 release. If you keep on top of such advisories or use up2date, you probably have the latter kernel version. Download the kernel-wlan-ng-modules-* RPM that matches your kernel version. If your kernel RPM is neither 2.4.18-14 nor 2.4.18-17.8.0, or you built your own kernel from source, then download the source RPMs. You will also need to match your machine architecture (i386, i586, i686 and athlon are available). To check which kernel version and architecture, use uname -a:

$ uname -a
Linux borgia.local 2.4.18-17.8.0
#1 Tue Oct 8 13:51:08 EDT 2002 i686 i686 i386 GNU/Linux

So in my case, I got kernel-wlan-ng-0.1.15-5.rh80.i686.rpm
and kernel-wlan-ng-pcmcia-0.1.15-5.rh80.i686.rpm. rpm -i installs them, and you're almost set. The last step is to edit /etc/pcmcia/wlan-ng.opts and /etc/sysconfig/network-scripts/ifcfg-wlan0. /etc/pcmcia/wlan-ng.opts contains the wireless-specific options. For most people, all they'll need to change is the DesiredSSID line. I set it to DesiredSSID="", since my home Wireless LAN doesn't have a security network ID. (In case anyone is planning to come camp out in my driveway trying to mooch off my Wi-Fi, remember that I just have Dual ISDN thanks to good old Qworst). /etc/sysconfig/network-scripts/ifcfg-wlan0 has the network settings for the wlan0 device. All I had to do was set ONBOOT=yes. DHCP is the default. After updating my config and running /etc/init.d/network restart, my network was all set up without a hitch:

# ifconfig
lo Link encap:Local Loopback
inet addr: Mask:
RX packets:72 errors:0 dropped:0 overruns:0 frame:0
TX packets:72 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4694 (4.5 Kb) TX bytes:4694 (4.5 Kb)

wlan0 Link encap:Ethernet HWaddr 00:05:5D:D6:B2:11
inet addr: Bcast: Mask:
RX packets:19 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:2736 (2.6 Kb) TX bytes:792 (792.0 b)
Interrupt:3 Base address:0x100

I hope this info helps someone. Pass it on.

Do you have any tips of your own for Wireless Linux users, or tweaks for different cards or configurations?