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.