Configuring Linksys wireless PCMCIA cards

By Scotty Dog (with addition by MeeMaw)

[Editor's note: In this article, there are references to how things work when running Test Release versions of PCLinuxOS 2007. Tex and the Developers have repeatedly warned that once Final became available, users should switch to that version and not continue to run the Test Releases. Be advised that while the information herein may work for you, if you are running a Test Release of PCLOS 2007, you may not receive much support on the main forum if you have problems.]

This article is based on my experience configuring and using the Linksys WPC54g PCMCIA wireless LAN card with PCLinuxOS. The tiacx111 instructions were developed with .93 (aka Big Daddy) but have worked the same with every version since then; 2007 TR2, TR3, TR4 and Final. MeeMaw has added her directions for the Linksys WMP54g card, which has a RaLink chipset.

First of all, there are several versions and chipset variations for the WPC54G wireless card. Mine is a ver. 2, and uses the acx111 chipset, but older versions used the acx110 chipset. There are still others with RaLink chipsets, and the latest, based on the most recent drivers available from Linksys.com, seem to have Broadcom bcm94306 chipsets.

OK, to begin let's find out what your chipset is. Open up a terminal window and log in as root (su, then enter the root password). At the command prompt, type:

localhost$ lspci

This will return a detailed list of your PCI chipset information, including your wireless LAN card. Here is a segment of mine that shows the 100Base-T adapter and the wireless card, among other things...

02:01.0 Ethernet controller: Broadcom Corporation BCM4401 100Base-T (rev 01)

02:04.0 CardBus bridge: Texas Instruments PCI1510 PC card Cardbus Controller

03:00.0 Network controller: Texas Instruments ACX 111 54Mbps Wireless Interface

Note that the last line says "Network controller", the chipset information, and "Wireless Interface". The "Ethernet controller" two lines above that is the internal wired NIC. Note that it says "Broadcom Corporation BCM4401" and the wireless card, a Linksys, says "Texas Instruments ACX 111." These are the actual chipsets in the cards themselves. My tiacx111 chipset has a native Linux driver, so it is pretty straight forward from here.

TIACX111 Setup

I'll start here since this is what I had to do. First of all, there is a lot of old information around the web about having to download and un-tar a driver package from somewhere. This is not necessary in PCLinuxOS, as I discovered.

  1. First, when you boot the live CD, and it goes through the keyboard and time setup, etc., cancel out of the network setup altogether and go on to the install.
  2. As soon as you have run the install from the live CD, and before you reboot (if you do reboot, just be sure to log back in as root for this), look in /lib/firmware/acx and you will see several directories with acx 110 and 111 drivers. Mine is the very last one, so open that directory, select all of the tiacx111 files present, and copy them down to /lib/firmware.
  3. Now reboot, and open up the PCLinuxOS Control Center (PCC). Click on the Networking section in the left hand window, and select Wireless in the right side.
  4. PCLinuxOS should now automatically detect your tiacx111-based wireless card, and allow you to configure it normally. In my case, my Linksys router appeared immediately, and I highlighted it and clicked 'Connect.' As I recall, in .93 I had to click 'Refresh' to see it show up. This may depend on your router as well as other factors.

Broadcom BCM94306 chipset

My Linksys card does not have this chipset, but the PCI card in my desktop does, and setting it up was a lot different with TR4 vs. .93 or TR2. There seemed to be a lot of different experiences by different people with this chipset and either ndiswrapper or the new bcm43xx Linux driver. This may depend on the manufacturer of the card as opposed to the chipset, but I don't know for sure. In my desktop, I don't have a Windows partition for PCC to fetch the drivers from, so beginning with TR2, I had to manually copy the drivers to my /lib/firmware directory and set it up in PCC. Note: Copying the drivers to your hard drive is important. For whatever reason, I could not just load them straight from the CD.

With TR4, the 4306 driver is apparently blacklisted for some kind of conflict. PCC wants to default me to the new bcm43xx driver, and many people seem to have good results with this. In fact, every time I post a comment in the forums about manually configuring ndiswrapper, someone comments back that either I should be able to configure it in PCC, and yes, I should, or that I should use the bcm43xx Linux driver. Neither of these have worked for me, but your mileage may vary. Every time I have tried to set up ndiswrapper for the 4306 chipset in PCC in TR4, it defaulted back to the bcm43xx driver, and I cannot get any connection with my hub when this driver is loaded. Here is what I had to do...

  1. Copy the bcmwl5.inf and bcmwl5.sys files from your driver CD to /lib/firmware. (Both need to be present according to some posters). If you want to use the graphical file manager for this, make sure you either log in as root to begin with, or use the Krusader or Kongueror in superuser mode as the file manager.
  2. Open a terminal window, log in as root and enter cd /lib/firmware.
  3. Type ndiswrapper -i bcmwl5.inf to associate the bcm driver with ndiswrapper.
  4. Type ndiswrapper -l to confirm that it is installed.
  5. Type modprobe ndiswrapper to load ndiswrapper with the bcm driver into the kernel.

Mine came right up after that, and works like a charm. You may need to type: dhclient wlan0 (or whatever your card ID is), to get an IP address from your DHCP server or router. If you run ifconfig it will report to you all the details on your connection, and whether or not you have an IP assigned.

I see a lot of people in the forum saying that you just have to set it up in PCC, but a few other people like me have found that this does not work for them all of the time with this chipset. The new bcm43xx driver seems to be included in the latest kernel, and is still under development.

According to the project website, http://bcm43xx.berlios.de/, as of 5-17-07 the current version lacks WEP support, for instance. If this works for you and you don't need the missing features, then great; it would help to support the hard work of the folks developing this driver to use it and provide feedback. They have to reverse engineer this driver, as Broadcom will not share the hardware specs with other developers. However, the ndiswrapper solution is very robust and includes all of the Windows driver features. It has been working well for many people for a long time.

Good luck and happy networking.
Scot Echols
AKA Scotty Dog


Scotty Dog admitted in a forum post that he never had a wireless card with a RaLink chipset, but I do. Also, my card is a Linksys WMP54g. The method Scotty outlines to find the chipset is the same no matter what version of Linux you are running. On Big Daddy, I had to configure the wireless connection in the terminal, since for some reason PCC wasn't saving my settings. However, in TR4 and Final, I skipped the setup on live CD boot or HD install, and when I got to my desktop, I went into PCC. In my case, I had a wireless connection, RaLink rt2561/rt61, that I could choose, but when I clicked on it, I got a message that no wireless networks were detected. At that point I clicked on the box where that choice was displayed and noticed that another choice, ra0, was now present. I highlighted that one, and then went into the configuration and put in my ESSID and WEP key, then clicked refresh. I was connected! I also made sure to check the "start at boot" option, but it didn't actually work for me until I modified my /etc/modprobe.preload file by placing "rt61" into the file. I haven't had any problems since.

MeeMaw

Top