The Netgear MA401 and MA401RA are relatively cheap ($30 on Amazon at the time of this writing) wireless pcmcia network cards. My story, much like many of the other Linux users out there, is that I got ahold of this card, and found troubles getting it working.I immediately turned to Google. In a perfect world, there would have been a page that gave instructions on getting it working. The best I could find, however, were some fragmented newsgroup articles (most in German), and a couple sites with a jewel of information here or there.
So, in my neverending pursuit to try to make this a perfect world, I have consolidated all of this disparate information into the site you hold before you.
If there are any updates necessary, please feel free to contact me at dml (AT) cs.umd.edu.
Let's get to it.0. Edit
/etc/pcmcia/wlan-ng.conf
Anywhere where it says1. EditNETGEAR MA401
, uncomment the lines (if commented) and changebind "prism2_cs"
tobind "orinoco_cs"
. This should yield a file that looks like this:
[...]
card "NETGEAR MA401 11Mbps 802.11 WLAN Card"
version "NETGEAR MA401 Wireless PC", "Card", "Version 01.00"
bind "orinoco_cs"[...]
card "NETGEAR MA401RA 11Mbps 802.11 WLAN Card"
version "NETGEAR MA401RA Wireless PC", "Card", "ISL37300P", "Eval-RevA"
bind "orinoco_cs"[...]
Make sure you make this change at every occurance of
NETGEAR MA401
: there are probably two of them, and depending on if you have the MA401 or the MA401RA (not specified anywhere on the card itself), you won't want to miss it./etc/sysconfig/pcmcia
Set2. EditPCMCIA_SYSTEM
to"external"
, that is:
[...]
PCMCIA_SYSTEM="external"
[...]
/etc/sysconfig/hotplug
Specify the PCMCIA hardware to be the default hotplug hardware.3. Set up the card using YaST2The purpose behind this is explained further in step 4 below.
[...]
HOTPLUG_NET_DEFAULT_HARDWARE="pcmcia"
[...]
The next step is to establish an interface name for the card. For ethernet devices, this is generally of the form eth#, where the numbers begin at 0. If you have a wired ethernet card, then4. Editeth0
is probably already taken. In any case, choose the smallest number not already taken (probablyeth1
).This is a straight-forward step and I present it here in order to show how it is possible to add a wireless pcmcia device through YaST without having to name it
eth-pcmcia
. If you don't mind having it named this, then by all means just add the wireless card in the straightforward manner (that is, specify it as being PCMCIA when creating it in YaST).3.0 Start up YaST2
There is generally an icon for this somewhere, else you can start it from the command line withsudo yast2
.3.1 Get rid of the existing wireless device
In Network Devices -> Network card, click the "Change..." button at the bottom right and remove any of the devices that correspond to your wireless card. If none are listed, then skip this step. Otherwise, go ahead and delete them; we'll add them in the next step.3.2 Add the wireless device
In Network Devices -> Network card, click the "Change..." button at the bottom right. Next, click the "Add" button at the bottom.This is the important part. Check the "Wireless device" box, but do NOT specify that it is PCMCIA. This will allow you to name the card
eth
# as opposed to the default ofeth-pcmcia
.Click "Next", choose your setup method (static IP or DHCP) and the other information (for help on this, see one of the many other help files out there).
With this, you should have a device with the name
eth
#. Now we need to make up for the fact that we did not say the card was PCMCIA./etc/sysconfig/network/ifcfg-<device name>
Having created a new device, you caused a file to be created, the name of which is dependent on the name of the device. For instance, if you named it5. Rebooteth1
, then you must edit/etc/sysconfig/network/ifcfg-eth1
.It is necessary to specify some of the modes. Here is my file in its entirety:
As you can see, I set mine up to use DHCP and to automatically grab the wireless network settings, such as the ESSID. Help on these settings is abundant.
BOOTPROTO='dhcp'
MTU=''
REMOTE_IPADDR=''
STARTMODE='hotplug'
UNIQUE=''
WIRELESS='yes'
WIRELESS_ESSID=''
WIRELESS_KEY=''
WIRELESS_MODE='automatic'
WIRELESS_NICK='Prism I'
WIRELESS_NWID=''Setting
STARTMODE
to 'hotplug', in addition to step 2 above, has a very cool consequence. This will makeifup
andifdown
unnecessary: to stop/start the interface, all you need to do is remove/insert the pcmcia card. I have found this to be very useful in areas where the connection to the WAP has been unstable.Reboot your machine. This allows the files where you stated the module name (orinoco_cs, not prism2_cs) to be reread, and the new modules to be loaded.At this point, your card should be usable. The standard network tools (ifconfig, iwconfig, ifup, etc.) ought to be fair game.
The most useful troubleshooting tip I came across was to tail/var/log/messages
while inserting and removing the card. This will show if the modules are getting loaded correctly, as well as which modules it is trying to load. Keep in mind: it ought to be loadingorinoco_cs
. If it is not, then your/etc/pcmcia/wlan-ng.conf
file is probably wrong.For more information on this, view the SuSE Wireless LAN Support site, linked below.
Here are some of the pages I found that offered some good insight:
- Google - Without which none of this would be possible.
- SuSE Wireless LAN Support - Discusses troubleshooting tips in greater detail.
- Zane Vandiver's Website - I happened upon this site during one of my many Googlings. This is where the idea of naming a pcmcia network device eth[#] came from.