I just got wireless USB working on my SL5 laptop. There was a lot to figure out, so I am sharing it here.

I have a MyEssentials ME-1001-USB wireless adapter, which contains a Zydas zd1211b wireless chipset ( bought from Fry's on saturday October 4 2008. Note that chipsets change without warning!). The device is plug and play on an Ubuntu Heron 8.04 system (with kernel 2.6.24) but not so with Scientific Linux 5 kernel 2.6.18-8.1.6.el5 .

The SL5 zd1211rw.ko driver is missing most of recent the USB device !IDs. So, it needs recompiling with some additions as shown here:

http://linuxwireless.org/en/users/Drivers/zd1211rw/AddID

What follows is the recipe that works for Red Hat style RPM systems, and something similar will probably work for SUSE. I will let you Ubuntu Debian Slackware Gentoo folks figure it out on your own. !CentOS documentation refers to /usr/src/rpmbuild instead of /usr/src/redhat , but the latter is where the files show up.

I found the source files for my kernel here:

ftp://fr.rpmfind.net/linux/sourceforge/l/li/linux-ntfs/kernel-2.6.18-8.1.6.el5.src.rpm

Then the standard redhat style kernel preparation, as root:

 rpm -Uvh kernel-2.6.18-8.1.6.el5.src.rpm
 cd /usr/src/redhat/SPECS/
 rpmbuild -bp --target=i686 kernel-2.6.spec
 cd /usr/src/redhat/BUILD/kernel-2.6.18
 chmod a+w -R *            # this allows you to work as a normal user

Do these as a normal user:

 cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/drivers/net/wireless/zd1211rw/
 cp -a zd_usb.c zd_usb.c.orig


Next, two options - use my zd_usb.c , or edit your own more current one


option one: download http://www.keithl.com/zd_usb.c which contains the current device list as of 2008-Oct-05


option two: edit the zd_usb.c file yourself, copying lines from the most recent version here: http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2

Untar that into a handy place. You will be needing the file zd_usb.c to patch the similar file that comes with the kernel. Otherwise, this driver source requires a much more recent kernel.

Copy all the the DEVICE_ZD1211 and DEVICE_ZD1211B lines from the recent version zd_usb.c and patch them into your kernel source zd_usb.c


Whichever option you chose, you are ready to compile the module, as a normal user using the recipe from http://wiki.centos.org/HowTos/BuildingKernelModules

 cd /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/
 make clean
 make oldconfig
 make menuconfig
 make prepare
 make modules_prepare
 make M=drivers/net/wireless/zd1211rw/

 su root
 cp drivers/net/wireless/zd1211rw/*ko /lib/modules/2.6.18-8.1.6.el5/extra/
 /sbin/depmod -a

all done!

The Wireless USB should now be plug-and-play as eth1. I did not have to play with /etc/sysconfig or /etc/modprobe.conf Note, this version of the driver, as well as the one running on Ubuntu 8.04 , does not provide signal strength to Network Manager.

Zd1211WR (last edited 2011-01-23 02:25:28 by KeithLofstrom)