Tuesday, August 01, 2006

Making WUSB54G work with FC-5

Its always a pain in the *** to get wireless working in Linux systems. Though obviously its getting easier by the day. Follow the instructions given below to make the Linksys USB Network Adapter, WUSB54G, to work with a Linux system. I am making use of Fedora Core 5 (FC-5) for the purpose of this guide.
  1. WUSB54G has a prism chipset. Go to the website http://www.prism54.org. Over there one can find the Linux drivers for the device. We need to download the firmware and the driver.
  2. Before we do that, we have to make sure that the system has a precompiled kernel. Although the website says that the driver would work with kernel version 2.6.15 or up, I encountered compilation errors. The driver refers to some relayfs structure members and variables that are not defined in 2.6.15 but are present in 2.6.17+.
    So download a copy of kernel version 2.6.17 or up and compile it. We can divert our attention to the driver and firmware once we have a compiled kernel.
  3. Click on the "SoftMac/FreeMAC Drivers" section on the prism54 website. Download the appropriate firmware depending on the USB version. Copy this firmware to /lib/firmware/. Rename the file to isl3890usb
  4. Go to http://jbnote.free.fr/prism54usb/index.html for downloading the driver. One can download either the source code directly from the website or download it over the net using the Arch system (you would need to have the Arch software installed in your computer). I went with the option of downloading over the net.
  5. To compile and load the driver, execute the command 'make load' on a terminal.
Once the make load command finishes without errors, check if the driver is loaded using the lsmod command. Look for islsm*. We now need to create a device file for the network adapter.

  1. Go to /etc/sysconfig/networking/devices/. Create a new file called ifcfg-ethx (where x: is a number, I used 4)
  2. Put in the following statements, as they appear, in the file.
  3. DEVICE=eth4
    USERCTL=yes
    BOOTPROTO=dhcp
    ONBOOT=yes
    TYPE=Wireless
    MODE=Managed
    ESSID=
    PEERDNS=yes
    RATE=Auto
    CHANNEL=1

  4. Use the iwconfig to verify that eth4 is being listed.
  5. Type ifconfig eth4 up to activate the device. If all goes well, it would pick up an IP address from the DHCP server. One can verify this using the ifconfig command.
Thats all there is to making WUSB54G work with FC-5.

Troubleshooting:

Q. I get "SIOCSIFFLAGS:No such file or directory" when I execute ifconfig eth4 up.
A. If you look at the logs you will notice that the driver is not able to locate the firmware. The firmware should be located in one of the following directories.
  • /usr/lib/hotplug/firmware/
  • /etc/firmware/
  • /lib/firmware/
The first of these is what is the officially (on the website) declared location. I found, while reading a mailing post, that the second location also works. And the last one, worked for me. Another thing to check is the name of the firmware file. It has to be isl3890usb (for USB version 1) or isl3887usb_bare (for USB version 2)

0 Comments:

Post a Comment

<< Home