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

(Updated again on 5 Mar 2008–clarified some steps in the instructions)

You can probably figure this out for yourself if you search the web diligently. In fact, here’s a nice overview. Here’s my method for getting my WPC54G wireless PC card working with WPA wireless security under Ubuntu Gutsy Gibbon (7.10). The computer I’m installing on is an old IBM T23.

It’s worth noting a few things up front. First, My WPC54G is labeled “Ver. 2″ on the back. Many Linksys adapters come in multiple versions, and different versions tend to use different chipsets internally, so instructions for getting one version to work may not work for a different version.

Second, in my case the WPC54G worked out of the box with Ubuntu 7.10, until I tried to use WPA for my wireless encryption. Once I turned that on, the notebook basically turned into a brick. The solution, it turns out, is to use the WPC54G via ndiswrapper. It’s not as hard as it sounds or looks.

Here’s what you need:

  • The Ubuntu 7.10 live CD (we’ll install ndiswrapper from it)
  • The Linksys setup CD that came with your wireless adapter (they appear to be in the root directory of my CD, anyway). I’ll list the individual files needed later.

You do not need an active internet connection in order to get this working, but hopefully you’ll have one after you finish!

Okay, here are the steps.

1) Remove 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”).

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. Copy the following files from the root directory of your CD to your newly-created “Linksys” folder:

FwRad16.bin
FwRad17.bin
LSTINDS.INF
tnet1130.sys
tnet1130x.sys

Before we go any further, we need to fix up a couple of things. First, rename tnet1130.sys to TNET1130.sys, and rename tnet1130x.sys to TNET1130X.sys. Then edit the LSTINDS.INF file and change all instances of “tnet1130″ (regardless of case) to “TNET1130″ (all uppercase), and likewise all instances of “tnet1130x” to “TNET1130X”.

5) Install the drivers using ndiswrapper. Open a terminal window and cd to the directory containing LSTINDS.INF. Then at a terminal prompt type

sudo ndiswrapper -i LSTINDS.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. Type

sudo modprobe -r acx

(-r unloads the driver named acx). Then edit the /etc/modprobe.d/blacklist file:

sudo gedit /etc/modprobe.d/blacklist

and add “blacklist acx” (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:

lstinds : driver installed
device (104C:9066) present (alternate driver: acx)

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!

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.

19 thoughts on “Using the Linksys WPC54G (v2) and WPA with Ubuntu Gutsy

  1. Made it through Ndiswrapper, thank you and can make a connection manually. However, it won’t persist after reboot.

    What should be in the /etc/network/interfaces file?

    Reply
  2. After consulting this how-to, I realized that I may have omitted a step–one that I didn’t realize was required. Try typing this at a command line:

    sudo ndiswrapper -m

    Supposedly, this adds an Alias to associate wlan0 to ndiswrapper in modprobe.d.

    Reply
  3. I found that the mixed case problem applied to tnet1130x as well as tnet1130, so I applied the same process:

    renamed tnet1130x.sys to TNET1130X.sys and changed all locations to match in LSTINS.INF.

    Also had a problem with the instructions:

    sudo ndiswrapper -i LSTINDS.INF

    since you suggest putting the flies in /home/yourusername/linksys, it should read:

    sudo ndiswrapper -i /home/yourusername/linksys/LSTINDS.INF

    Unfortunately if you didn’t make that correction, ndiswrapper does a partial installation and won’t accept retyping it correctly.

    In that case you need to do a:

    sudo ndiswrapper -r lstinds

    Then retype correctly and install again. This wasn’t easy to figure out because the ndiswrapper man page in Ubuntu is pathetic. I guessed at the -r , and it happened to work!

    Thanks however for puting these instructions up there — it worked for me!

    Reply
  4. Steve –

    thanks for the corrections. Changing the name of tnet1130x.sys to uppercase was’t necessary for me, but it certainly doesn’t hurt to make that change, and I added it to the instructions. As for your other comment, my (poor) assumption when I wrote these instructions was that you’d already changed to the directory containing your driver files before trying to execute that command. I’ve now clarified that instruction.

    Thanks again for your comments. Glad the instructions were helpful.

    Reply
  5. Wow, fast work Dave!

    one more slight change and I think it will be perfect — the appearance of the tnet1130 references in the LSTINDS.INF file isn’t always to a .sys extension. So I actually just did a search on “tnet1130″ and made the changes to uppercase for all references. Therefore:

    “Then edit the LSTINDS.INF file and change all instances of “tnet1130” to “TNET1130”, and all instances of “tnet1130x” to “TNET1130X”.

    Thanks again!

    Reply
  6. Thank you so much…. I have been struggling for hours getting my Linksys WPC54G Ver2 running with WPA on Ubuntu 7.10. Followed instructions to the letter and worked perfectly

    Reply
  7. I little comment. I’ve seen several posts in other forums using this and a few other tutes and I see this problem a lot: ndiswrapper reporting invalid driver.
    This is a simple step but one I missed myself so I felt the need to post it here. Go back through LSTINDS.INF and triple check that you got all tnet1130 and tnet1130x instances changed to uppercase. Post 5 from Steve sums it up perfectly.
    If you miss even one, you’ll get ‘LSTIND.INDS: Invalid Driver’.
    Other than that, perfect! Many, many thanks Dave for the hard work. It saved me a ton of time and work!
    bOnE

    Reply
  8. Does anyone have a good step by step installation process for a WPC54G V3 PCMIA Wireless card on a Ubuntu 8.10? If so I would love to have some help…I’m a complete Noob at linux….but I want to give it a shot…I’m a my wits end, tried this one plus Ndiswrapper and haven’t had any luck yes…help!!!

    Heinz

    Reply
  9. On a Second Note….This WORKED Flawlessly after a clean install of Ubuntu and following these instructions step by step. I installed b43 drivers for giggles…doesn’t seem to make a difference….I dunno….eitherway thanks for this awesome step by step guide.

    Reply
  10. Simpler steps (for GUI-oriented folks):

    (0. As root on latest Ubuntu 9.04.)
    1. Use Synaptic Package Manager to install: ndisgtk,
    ndiswrapper-common, and ndiswrapper-utils-*.
    2. Download the latest driver from Linksys+Cisco:
    http://www.linksysbycisco.com/US/en/support/WPC54G/download/
    Since my model doesn’t have a “Ver x.x,” I assume
    mine is Version 1.0, so I downloaded then unzipped:
    WPC54G_driver_utility_v3.1,1.zip
    3. Fyi, my `lspci -v` says:
    09:00.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
    Subsystem: Linksys Device 4320
    Flags: bus master, fast devsel, latency 64, IRQ 10
    Memory at 28000000 …
    4. Launch ndisgtk. Mine reports “Unable to see if
    hardware is present” but I proceed anyway.
    5. Click “Install New Driver”
    6. In “Select inf file,” navigate to:
    /WPC54G Setup Wizard 3.1/Driver/NT/
    7. Double-click LSBCMNDS.inf.
    8. Click Install.
    9. Reboot ==> works flawlessly!
    (10. Oh well, youd should be able to avoid a reboot,
    but I’m too lazy to look for one.)

    hope that helps

    Reply
  11. Even easier, but mutually exclusive to my May 5 post:
    use the b43 or b43legacy driver. For reference, browse http://linuxwireless.org/en/users/Drivers/b43

    (0. As root on latest Ubuntu 9.04.)
    1. Use Synaptic Package Manager to install: b43-fwcutter
    2. At the end, it prompts whether you want to download
    and install Broadcom firmware (or something like that
    — I can’t remember the exact prompt). Click Yes.
    3. Once done, it creates 2 /lib/firmware/b43*/ dirs.
    4. Reboot ==> WPC54G should now work.
    5. Caveat: not all WPC54Gs is supported by b43 driver.
    My `lspci -vvn` says:
    09:00.0 0280: 14e4:4320 (rev 03)
    Subsystem: 1737:4320
    And my `dmesg | grep Broadcom` says:
    [ 21.818248] b43-phy0: Broadcom 4306 WLAN found
    So mine works fine.

    ================

    6. For those already running ndiswrapper,
    before rebooting, you need to deactivate
    ndiswrapper (as root) with:
    6a. ndiswrapper -r lsbcmnds
    6b. Remove /etc/modprobe.d/ndiswrapper

    Credits to folks who contribute/provide the b43 drivers

    Again, hope that helps

    Reply
  12. I tried your Linksys WPC54G v2 (with ACX111) instructions with Xubuntu 9.04 Jaunty Jackalope on my IBM T20 but it didn’t work. However, it did work with Xubuntu 8.10 Intrepid Ibex. As you have mentioned in another post, I needed to download the ndiswrapper files from the internet.

    One thing though. I’ve had a few times where it doesn’t connect to the router on the first try, and I need to try multiple times before it works. Will look at this more closely in the next few days.

    Thanks for the great instructions.

    Mike W

    Reply
  13. I have successfully installed my wpc54gs (with speedbooster) using version 1.0 driver downloaded from http://www.linksysbycisco.com/US/en/support/WPC54G/download/. I got it working on Ubuntu 8.10 by choosing to install drivers for Win9x with the following files:
    bcmwl5.sys
    LSBCMNDS.cat
    LSBCMNDS.inf
    I used the command $ ndiswrapper -i LSBCMNDS.inf and followed the rest of the instructions above, rebooted my machine and voila! — it’s now working seamlessly. But i’m having problems connecting it with iwconfig command, however gnome nm-applet works fine…

    thanks for this useful post..

    Reply
  14. sooooooo… this post is amazingly uninformational, i realize, but i was wondering hooooooow to disect and understand any of this jargon??? i really am very interested.

    Also, i have a wpc54g version 3.2 wireless card in my laptop and out of no where began having problems with my ip address not being recognized. i know there is something that can be done through setting a static ip address but, regrettably, i have no clue on how to do this either. Thank you all for any information you can help me with!

    Reply
  15. Pingback: Use Linksys WPC54G (v2) and WPA with Ubuntu Gutsy | TurboLinux Blog

Leave a reply

required

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