(Updated 20 Jan 2008–added “sudo ndiswrapper -m” step, and added a note about manual configuration)

As a follow-up to my earlier post on using the Linksys WPC54G v2 with Ubuntu Gutsy, the procedure for using the WUSB54G is quite similar.

First, know that the WUSB54G comes in several versions. You can determine the version by looking on the bottom of the adapter. If you don’t see a version number anywhere, it’s version 1. I have a version 1 and a version 4 adapter, and the instructions for each are similar.

Once again, you’ll need your Ubuntu 7.10 installation CD and the setup CD for your adapter.

Okay, here are the steps.

1) Unplug the adapter from its slot.

2) Install ndiswrapper using the Synaptic Package Manager (it’ll install it from the Ubuntu Live CD, so make sure your CD is in the drive). You can start the Synaptic Package Manager from the main menubar (System/Administration/Synaptic Package Manager). You need to install two packages: ndiswrapper-common and ndiswrapper-utils-1.9 (you can use the Search button in the Synaptic Package Manager to find these–search on “ndis”). (Note: I’ve seen other instructions on the web for getting this adapter to work, and those instructions called for recompiling ndiswrapper from source code. This may have been needed for earlier versions of Ubuntu or ndiswrapper, but doesn’t appear to be needed for 7.10.)

3) Next, we need a place to put the driver files, so create a folder named “Linksys” (or whatever you want) under your home directory. To do this, click Places/Home Folder from the main menubar, and when the File Browser window appears, right-click somewhere in the window and select “Create Folder” from the popup menu that appears, and then type the desired folder name when the new folder appears.

4) Now we’ll copy the driver files from the Linksys installation CD for your adapter. Stick your Linksys installation CD in the drive. The drivers are found in a folder named \Drivers\WUSB54Gv1 for version 1, or \Drivers\WUSB54Gv4 for version 4. Copy all the files from the appropriate folder on the Cd for your adapter version to your newly-created “Linksys” folder:

For version 1 of the adapter, you’ll copy the following files:

WUSB209x.sys
WUSB20XP.sys
WUSB54G.cat
WUSB54G.inf

For version 4 of the adapter, you’ll need these files:

rt2500usb.inf
rt2500usb.sys
WUSB54GV4.cat

5) Install the drivers using ndiswrapper. For version 1, type

sudo ndiswrapper -i WUSB54G.inf

For version 4, type

sudo ndiswrapper -i rt2500usb.inf

6) Now install ndiswrapper as a module. Type

sudo depmod -a
sudo modprobe ndiswrapper

7) Next we need to prevent the native driver for this device from loading. For version 1, type

sudo modprobe -r p54usb

For version 4, type

sudo modprobe -r rt2500usb

Then edit the /etc/modprobe.d/blacklist file:

sudo gedit /etc/modprobe.d/blacklist

and add “blacklist p54usb” (for version 1) or “blacklist rt2500usb” (for version 4) (without the quotes) at the end of the file.

8) Now insert your wireless card. Then type

ndiswrapper -l

You should see output that looks like this for version 1:

wusb54g : driver installed
device (5041:2234) present (alternate driver: p54usb)

or like this, for version 4:

rt2500usb : driver installed
device (13B1:000D) present (alternate driver: rt2500usb)

If so, your card was detected and associated with the correct driver.

9) Now add an alias to associate your wireless network interface to ndiswrapper in /etc/modprobe.d/ndiswrapper. Type

sudo ndiswrapper -m

10) Set ndiswrapper to load automatically. Edit the /etc/modules file:

sudo gedit /etc/modules

and add “ndiswrapper” (without the quotes) at the end of the file.

11) Reboot. After the reboot completes, you should be able to left-click on the Network icon toward the right side of the main menubar and have it display a list of wireless networks. Click the radio button next to the wireless network you’d like to connect to. You’ll be prompted for the network wireless password. Enter it, and you should soon be connected!

Note for version 2 users: I’ll bet you can look at the instructions for versions 1 and 4 and figure out how to modify them for version 2. Note that the name of the alternate driver that shows up in step 8 is the same as the name of the driver that we blacklisted in step 7. In step 4, copy the files from \Drivers\WUSB54Gv2. In step 5, the name of the .inf file is WUSB54GV2.inf.

If you open up the Network Manager and examine the settings for your wireless adapter now, you’ll see that it’s been set to enable roaming mode. This means that your IP address and will by dynamically assigned by the network it connects to. This is fine for most situations, but if you need to assign a static IP address to your PC, you’ll need to disable roaming mode and manually specify the network settings. My experience is that you will also need to undo step 10 above by removing the “ndiswrapper” line from /etc/modules.

31 thoughts on “Using the Linksys WUSB54G (v1 or v4) With Ubuntu Gutsy

  1. I have Ubuntu 7.10 Gutsy Gibbon and the Linksys Wireless-G Model: WUSB54G ver 4.
    but I can not be connect to the wireless network.
    From windows in the same machine I done.

    *The files provided with my adapter are:
    WUSB54GV4.inf (instead of rt2500usb.inf) (13.4 KB size)
    WUSB54GV4.CAT (0 bytes size)
    Setup.DIY
    rt2500usb.sys (77.8KB size)

    *I had follow the given steps using WUSB54GV4.inf instead of rt2500usb.inf
    in steps 5.

    *Output at step 8 is:
    # ndiswrapper -l
    wusb54gv4 : driver installed
    device (13B1:000D) present (alternate driver: rt2500usb)

    When I reboot network-manager try to connect but it fails.

    *I had proved with ipv6 enable and disable moving the “/etc/modprobe.d/aliases” file
    chosing between:
    #alias net-pf-10 ipv6
    alias net-pf-10 off

    or

    alias net-pf-10 ipv6
    #alias net-pf-10 off

    *I had proving with the pci=noacpi kernel option at boot time too.

    dmesg and /var/log/messages are:

    ***********************************
    ***********************************
    # dmesg | grep wlan
    [ 33.150713] wlan0: ethernet device 00:12:17:9b:11:1e using NDIS driver: wusb54gv4, version: 0x9, NDIS version: 0x500, vendor: ‘Ralink Technology Inc.’, 13B1:000D.F.conf
    [ 33.151366] wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA
    ***********************************
    ***********************************
    # cat /var/log/messages | grep wlan
    Jan 29 11:37:36 calmecac kernel: [ 1308.961343] ndiswrapper: device wlan0 removed
    Jan 29 11:46:13 calmecac kernel: [ 1825.263522] wlan0: ethernet device 00:12:17:9b:11:1e using NDIS driver: wusb54gv4, version: 0x9, NDIS version: 0x500, vendor: ‘Ralink Technology Inc.’, 13B1:000D.F.conf
    Jan 29 11:46:13 calmecac kernel: [ 1825.263863] wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA
    Jan 29 11:51:56 calmecac kernel: [ 33.150713] wlan0: ethernet device 00:12:17:9b:11:1e using NDIS driver: wusb54gv4, version: 0x9, NDIS version: 0x500, vendor: ‘Ralink Technology Inc.’, 13B1:000D.F.conf
    Jan 29 11:51:56 calmecac kernel: [ 33.151366] wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA
    Jan 29 11:52:11 calmecac dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.reason
    ***********************************
    ***********************************

    AFTER SOME TIME IT APPEAR TO BE CONNECT changing the network-manager icon with a “stairs-like bars”
    BUT THERE ARE NOT INTERNET

    # ping localhost
    PING localhost (127.0.0.1) 56(84) bytes of data.
    64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.013 ms
    64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.012 ms

    At GNOME PANEL->SYSTEM -> ADMINISTRATION-> NETWORK TOOLS
    I can see bytes receive and sent
    Link speed: 54Mbps
    State: Active
    Tx errors: 0
    Tx packages: 885
    Rx packages: 2602 (and growing)

    # route
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    192.168.1.0 * 255.255.255.0 U 0 0 0 wlan0
    link-local * 255.255.0.0 U 1000 0 0 wlan0
    default 192.168.1.254 0.0.0.0 UG 0 0 0 wlan0

    ***********************************
    ***********************************
    # ifconfig
    eth0 Link encap:Ethernet HWaddr 00:1A:A0:54:50:B4
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
    Interrupt:16

    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

    wlan0 Link encap:Ethernet HWaddr 00:12:17:9B:11:1E
    inet addr:192.168.1.183 Bcast:192.168.1.255 Mask:255.255.255.0
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:1896 errors:0 dropped:0 overruns:0 frame:0
    TX packets:789 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:1755368 (1.6 MB) TX bytes:56319 (54.9 KB)
    ***********************************
    ***********************************
    # iwconfig
    lo no wireless extensions.

    eth0 no wireless extensions.

    wlan0 IEEE 802.11g ESSID:”docencia”
    Mode:Managed Frequency:2.437 GHz Access Point: 00:13:46:76:F4:36
    Bit Rate=54 Mb/s Tx-Power:20 dBm Sensitivity=-115 dBm
    RTS thr=2347 B Fragment thr=2346 B
    Encryption key:off
    Power Management:off
    Link Quality:56/100 Signal level:-60 dBm Noise level:-96 dBm
    Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
    Tx excessive retries:0 Invalid misc:0 Missed beacon:0
    ***********************************
    ***********************************
    # dmesg | grep wlan
    [ 33.150713] wlan0: ethernet device 00:12:17:9b:11:1e using NDIS driver: wusb54gv4, version: 0x9, NDIS version: 0x500, vendor: ‘Ralink Technology Inc.’, 13B1:000D.F.conf
    [ 33.151366] wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA
    ***********************************
    ***********************************

    ***********************************
    ***********************************
    # cat /var/log/messages | grep wlan
    Jan 29 11:37:36 calmecac kernel: [ 1308.961343] ndiswrapper: device wlan0 removed
    Jan 29 11:46:13 calmecac kernel: [ 1825.263522] wlan0: ethernet device 00:12:17:9b:11:1e using NDIS driver: wusb54gv4, version: 0x9, NDIS version: 0x500, vendor: ‘Ralink Technology Inc.’, 13B1:000D.F.conf
    Jan 29 11:46:13 calmecac kernel: [ 1825.263863] wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA
    Jan 29 11:51:56 calmecac kernel: [ 33.150713] wlan0: ethernet device 00:12:17:9b:11:1e using NDIS driver: wusb54gv4, version: 0x9, NDIS version: 0x500, vendor: ‘Ralink Technology Inc.’, 13B1:000D.F.conf
    Jan 29 11:51:56 calmecac kernel: [ 33.151366] wlan0: encryption modes supported: WEP; TKIP with WPA; AES/CCMP with WPA
    Jan 29 11:52:11 calmecac dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.reason
    Jan 29 12:27:12 calmecac dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.reason
    Jan 29 12:27:20 calmecac dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.host_name
    Jan 29 12:27:20 calmecac dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.nis_domain
    Jan 29 12:27:20 calmecac dhcdbd: message_handler: message handler not found under /com/redhat/dhcp/wlan0 for sub-path wlan0.dbus.get.nis_servers
    ***********************************
    ***********************************

    What can be the problem?

    Thanks for any help.

    I need the GNU in my new job in order to do not use the vista shit.

    I realize that is a little stuff, I will continue looking for while any body will ask me.

    Thanks you very much.

    Gengis from Mexico.

    ***********************************
    After I was written this report I proved internet by firefox and WOOOLAAA. It done.
    there is a problem in the gnome-panel because dictionary lookup and weather report do not work (like the internet is not present). this sound stupid but I always prove the internet with the weather report at the gnome-panel

    However, I prove internet by firefox yesterday but no network. I think the KEY is to WAIT several minutes.

    Thanks again.

    Reply
  2. great, clean guide. however, everything works up until i actually try to go online.

    the system just doesn’t recognize that there is a new network device.

    It lists only lo and eth0. There is no wlan listing at all.

    I’ve been trying to get this to work for, no kidding, 2 years to no avail

    Some waypoints:
    $ndiswrapper -l
    wusb54g: driver installed
    device (5041:2234) present (alternate driver: p54usb)
    ———
    $iwconfig
    lo no wireless extensions

    eth0 no wireless extensions
    ———
    $lsusb -v | more

    Bus 001 Device 013: ID 5041:2234 Linksys WUSB54G 802.11g Adapter
    ———

    Assume I’ve done all the steps above, to the letter, what on earth could be going on? Is there anyway to ‘force’ wlan0 to go live?

    You’ve written what I think is the best description of this convoluted process. Ubuntu really needs to get its act together w/r/t wireless if they really want to contend.

    Thanks,
    Matt

    Reply
  3. Matt,

    I’m no expert here–I just figured out how to get it to work for me.

    When I already have my network adapter plugged in, if I type

    sudo modprobe -r ndiswrapper

    then it won’t show up when I do an iwconfig, and then it shows back up again after I type

    sudo modprobe ndiswrapper

    Try that and see what happens.

    Reply
  4. it worksssssssssssssss !! Thabks a lot, finally I have my Ubuntu working with the wireless network…WUSB54G V2.. I followed your very well created tutorial and it’s working…Thanks from NYC

    Reply
  5. I had installed my WUSB54G v4 according to your instruction with ndiswrapper but using static IP on Ubuntu 7.10 (Gutsy) and modified /etc/network/interfaces according to the guide from “HOWTO: Wireless Security – WPA1, WPA2, LEAP, etc.” (http://ubuntuforums.org/showthread.php?t=318539 ). In addition, I had performed the step 10 (which you recommended not to do.)

    Currently, my WUSB54G is working but the wireless connection frequently drops.

    Do you this is related the step 10?

    Bruce

    Reply
  6. Bruce,

    I’d certainly try removing the entry in /etc/modules and see if that fixes the problem. That was what I needed to do to use a static IP address. I didn’t really look at the instructions in the link you provided, but I didn’t manually edit anything in the /etc/network/interfaces file. Here’s what mine looks like:

    auto lo
    iface lo inet loopback

    auto wlan0
    iface wlan0 inet static
    address 192.168.1.98
    netmask 255.255.255.0
    gateway 192.168.1.1
    wpa-psk
    wpa-driver wext
    wpa-key-mgmt WPA-PSK
    wpa-proto WPA
    wpa-ssid blahblah

    Hope this helps.

    Reply
  7. I am having the same trouble as Matt. It does recognize it and the only problem is at the end when i click on the network icon. Wireless isn’t an option. When I remove ndiswrapper and then do it again with modprobe, it still does not appear, but it says it is there and that the driver is installed. I know you said you don’t know what else to do, but any help from anyone would be great.

    Reply
  8. Finally!! Been looking all over the net for some instructions that working, most sites were instructions for V4 when I’ve got a V1. Much appreciated :o)

    Reply
  9. Thank you sir. This was of great help. It worked when I used the live CD. Here’s hoping that it works when I fresh install. Any idea why the card doesn’t get detected in Gutsy but does in Feisty?

    Reply
  10. I tried everything described above, but nothing works. The system did acknowledge my wireless adapter, but when I tried to have it pull up some web pages they all came up blank. Sometimes the adapter is acknowledged by the Network Manager and other times it is not. Any assistance would be appreciated. Thanks ahead of time.

    The following is what I get from the terminal:
    steven@family:~$ $ndiswrapper -l
    bash: -l: command not found
    steven@family:~$ ndiswrapper -l
    rt2500usb : driver installed
    device (13B1:000D) present (alternate driver: rt2500usb)
    steven@family:~$ iwconfig
    lo no wireless extensions.

    eth0 no wireless extensions.

    eth1 no wireless extensions.

    wmaster0 no wireless extensions.

    rausb0 IEEE 802.11g ESSID:””
    Mode:Managed Frequency:2.437 GHz Access Point: Not-Associated
    Retry min limit:7 RTS thr:off Fragment thr=2346 B
    Link Quality:0 Signal level:0 Noise level:0
    Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
    Tx excessive retries:0 Invalid misc:0 Missed beacon:0

    steven@family:~$ lsusb -v | more

    Bus 005 Device 002: ID 13b1:000d Linksys
    Device Descriptor:
    bLength 18
    bDescriptorType 1
    bcdUSB 2.00
    bDeviceClass 0 (Defined at Interface level)
    bDeviceSubClass 0
    bDeviceProtocol 0
    bMaxPacketSize0 64
    idVendor 0x13b1 Linksys
    idProduct 0x000d
    bcdDevice 0.04
    iManufacturer 1
    iProduct 2
    iSerial 0
    bNumConfigurations 1
    Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 32
    bNumInterfaces 1
    bConfigurationValue 1
    can’t get device qualifier: Operation not permitted
    can’t get debug descriptor: Operation not permitted
    cannot read device status, Operation not permitted (1)
    –More–can’t get hub descriptor: Operation not permitted
    can’t get device qualifier: Operation not permitted
    can’t get debug descriptor: Operation not permitted
    cannot read device status, Operation not permitted (1)
    can’t get hub descriptor: Operation not permitted
    cannot read device status, Operation not permitted (1)
    can’t get hub descriptor: Operation not permitted
    cannot read device status, Operation not permitted (1)
    can’t get hub descriptor: Operation not permitted
    cannot read device status, Operation not permitted (1)
    can’t get hub descriptor: Operation not permitted
    cannot read device status, Operation not permitted (1)

    Reply
  11. Thanks, I have been struggling to get this working for months on an old computer, I gave up on linux until an easier way of getting my wireless working, Now I am back.

    much appreciated

    Reply
  12. Hey Dave, first off thank you so much for this post. If it weren’t for this post I wouldn’t have even gotten as far as I have with my current wireless adapter.

    I am running ubuntu linux 7.10 (gutsy) and own the Linksys WUSB54G ver. 4 adapter.

    The first thing I wanted to comment on is the fact that in order to install the two ndiswrapper files off of the CD I first had to go to the ‘edit’ menu in the synaptic package manager and select ‘Add CD-ROM…’ before it would let me install the files. Before that it would just give me an error telling me essentially that I (obviously) am not connected to the internet and can not access the online files. Perhaps it was unusual that I had to do this, perhaps my downloaded cd was accidentally named something different from what the package manager recognized? Anyway if this is a common neccesity you might think about adding it as a step or something.

    After I figured that out and once I got the ndiswrapper files ‘ndiswrapper-common’ and ‘ndiswrapper-utils- 1.9’ installed things went quite well until step 8. It returned a response stating: “brian@brian-desktop-linux:~$ ndiswrapper -l
    rt2500usb : invalid driver!”

    I did notice earlier that the version 4 files on my Linksys CD are not all exactly the same as the files you stated; my files are as follows:
    rt2500usb.cat,
    rt2500usb.inf, and
    rt2500usb.sys
    The only one that is different is the .cat file, do you know if my tweaked files are what’s causing the problem? If so do you think my adapter would still work if I used someone elses drivers or if I simply changed the .cat file name to match your directions?

    Then again perhaps I just made a simple mistake in the previous steps that is glaringly obvious to you right away, but perhaps that is just being a little too hopeful. ;)

    Any advice, help or directions you can give me or refer me would be much appreciated. Thanks a bunch,

    Brian

    Reply
  13. Hi Brian,

    Not sure what’s causing your problem. I wouldn’t think it’d be the different files, but maybe you can download the latest driver files from Linksys and try that. Before you do that, open the rt2500usb.inf file with a text editor and make sure that any references to the .cat and .sys files use the correct case for the filenames (since filenames are case-sensitive in linux).

    Reply
  14. Wow. Thanks for the quick response, I did in fact receive your suggestion the day after you wrote it but simply have not had the time yet to write back. It turns out my adapter is a refurbished version of the WUSB54G ver.4 adapter. (in fact my driver CD for it labels the adapter as the WUSB54G-RM ver. 4.3) This perhaps explains why it has differently named, mixed and matched drivers. If you or anyone else has any experience with the RM version of the adapter (possibly to designate ReMade, ReManufactured or ReModeled?)please let me know any info you’ve got on it, but something tells me I am out of luck on this one. Again, thanks a bunch,

    Brian

    Reply
  15. Brian,
    I have the same problem (adapter is v4.3)please let me know if you have any luck!

    Dave,
    Do you have any suggestions?

    Ade

    Reply
  16. My installation on Windows 98 computer always hangs and says it cannot load the rt2500usb.cat file. I point it to the location of that file by browsing but it cannot find it and says it is looking to do this rt2500usb.cat=rt2500usb.cat

    huh?

    Reply
  17. Got my wusb54gv.4 setup in Ubunto 8.04. It finds my wireless router, I enter my WEP pasphrase, it shows 100% connection – so far, so good.

    It stays active for a few minutes, then drops the connection, cycles back to the passphrase request and then the cyce starts all over again.

    How do I keep it connected

    Reply
  18. when i left click the internet icon in the sys tray, it shows my wired connect and the WUSB54G wireless connection but it says that the WUSB54G connection is disabled. any help?

    Reply
  19. Hey so this worked for me in Jaunty, but it seems that the v1 driver lacks support for wpa1 or 2 security. It saw every wireless that was wep only, any one know how to solve this?

    Reply
  20. Got this to successfully work in lubuntu 10.04 with v4, which I assume will also work in the main Ubuntu distro. This guide has helped me in 5 versions now and always works

    Big +1!

    Reply
  21. Pingback: Use Linksys WUSB54G (v1 or v4) With Ubuntu Gutsy | TurboLinux Blog

Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

required