Using the Linksys WPC54G (v2) and WPA with Ubuntu Gutsy

(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:

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.

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.

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”.

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

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!!!

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.

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.

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…

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!