DLink DWL-122 USB on Fedora Core 2 After struggling for a few days to get this adapter to work, I was finally sucessful and am going to do a small writeup here to help others. I am running Fedora Core 2 with kernel v2.6.10-1.9_FC2 on Athlon 1Ghz with Wlan-NG v0.2.1-pre26. The DLink DWL-122 USB 802.11b Adapter is based on the Intersil Prism 2.5 chipset. There are two options that I found to work: NdisWrapper which lets the native DLink Windows driver run in Linux, and Wlan-NG's prism2_usb native driver for Prism 2.5 (there is also the Orinoco's prism_usb driver but their USB support is not finished yet). I originally ran the NdisWrapper driver but somewhere along the way, an upgrade Fedora Core 2 kernel broke NdisWrapper. So instead, I decided to try out the Wlan-NG driver. Funny enough I managed to get it to work exactly ONE time before it stopped working. This driver maintains a list of configuration files in the /etc/wlan directory with a separate wlan-networkname file for each SSID. The file I created for my network was not being read by the driver, thus not setting the correct WEP settings. However, the actual module and the driver worked. I managed to figure out how to get around the problem by plugging in my regular PCMCIA card which started using the prism2_cs driver and left some tell-tell signs in the log - it seems that a script called "wlan-ng" is needed to execute when the USB dongle in pluged in. However, it fails because the driver needs to be started first via a special command. Once I started the driver, I ran the script and everything worked. Here are step by step instructions: 1. Download the Wlan-NG distribution from Linux-Wlan.org and unpack into a directory of your choice. You DO NOT need the Kernel source. 2. Go into the directory and run "make config". 3. Choose "yes" for the _cs AND_usb driver and "no" for others (unless you need others). Leave the rest of the questions blank. 4. After this command is finished, run "make all" to compile the source. 5. After compilation is finished, run "make install" to install the modules (you need to be root to do that, use "su" or "sudo" if you are not). 6. Go to the "/etc/wlan" directory and copy the "wlan-DEFAULT" file to whatever SSID your network is using (wlan-SSID). Open the file in a text editor and add your network settings. 7. Insert the card into the USB slot. You should see something like this in the /var/log/messages file: kernel: Writing 4096 bytes to ram @0x7e2ffe kernel: Writing 4096 bytes to ram @0x7e3ffe ... kernel: hfa384x_docmd: ctlx failure=REQ_FAILED wlan.agent[7786]: Failed to enable the device, resultcode= implementation_failure . wlan.agent[7786]: WLAN Could not bring up wlan0 kernel: hfa384x_drvr_start: cmd_initialize() failed, result=-5 kernel: prism2sta_ifstate: hfa384x_drvr_start() failed,result=-5 The error messages are normal, they are shown because the device needs to be turned on first. If you don't see these messages at all, try removing and reinserting the adaptor. If that doesn't help, run "/sbin/rmmod prism2_usb" and "/sbin/modprobe prism2_usb" to remove and reinsert the module. 8. Run "/sbin/wlanctl-ng wlan0 lnxreq_ifstate ifstate=enable" as root. This command will turn on the radio in the adaptor. For some reason, it fails to do it automatically. You should received the following message: message=lnxreq_ifstate ifstate=enable resultcode=success 9. Run command "cd /etc/pcmcia/" to switch to the PCMCIA directory. 10. Run command "./wlan-ng start wlan0 2>&1" to start the adaptor. You should see the following message in your logs : kernel: linkstatus=CONNECTED 11. Set the IP address of your adaptor via "/sbin/ifconfig wlan0 192.168.0.55" command. 12. If you are using this network for sharing an Internet connection, than you need to add a default route via "/sbin/route add default gw x.x.x.x" where "x.x.x.x" is the IP address of your gateway.