[Home]

Linksys WPC11 PCMCIA and Netgear MA311 PCI wireless cards under Debian GNU/Linux

Unmaintained! I don't use either of these cards anymore, so I'm not sure if this information is still correct.

Update: I've since successfully used these cards on the following kernels: - 2.6.1 - 2.6.3 - 2.6.4 - 2.6.7 - 2.6.8 - 2.6.11

I recently bought a pair of wireless network cards--a PCI Netgear MA311, and a PCMCIA Linksys WPC11 version 3. Setting up a wireless link between my Linux desktop and laptop wasn't too difficult (once I realised the PCI card wasn't quite seated properly..), but I thought I'd record the steps I took for anyone else trying to configure these cards.

Both cards are based on the PRISM chipset, which is supported by both the linux-wlan and orinoco drivers. I played with both but ultimately ended up using the orinoco drivers on both machines.

The orinoco drivers shipped with kernel 2.6.0-test8 are version 0.13e. Previously I was running kernel 2.4.20 (which uses an earlier version of the orinoco drivers), but I found that the wireless connection would freeze up with "Error -110 writing Tx descriptor to BAP" messages after a few minutes. Upgrading both machines to kernel 2.6 seems to have fixed this problem.

Software

The following packages were installed on each machine:

Desktop

Laptop

Configuring the PCI Netgear MA311

The orinoco drivers are shipped with the Linux kernel, so installation is just a matter of configuring the kernel to build the correct modules. I enabled the following in my kernel configuration:

Under Device Drivers -> Networking support -> Wireless LAN (non-hamradio)
[*] Wireless LAN drivers (non-hamradio) & Wireless Extensions
---   Wireless 802.11b ISA/PCI cards support
<M>   Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)
<M>     Hermes in PLX9052 based PCI adaptor support (Netgear MA301 etc.) (EXPERIMENTAL)
<M>     Hermes in TMD7160 based PCI adaptor support (EXPERIMENTAL)
<M>     Prism 2.5 PCI 802.11b adaptor support (EXPERIMENTAL)

After building the kernel and modules, you should have:

To configure and bring up the network interface, I use the following commands:

modprobe orinoco_pci
iwconfig eth1 mode ad-hoc nick "" essid "mark" channel 6
ifconfig eth1 192.168.2.1
ifconfig eth1 up

The output from iwconfig (part of wireless-tools) is:

eth1      IEEE 802.11-DS  ESSID:"mark"
          Mode:Ad-Hoc  Frequency:2.437GHz  Cell: XX:XX:XX:XX:XX:XX
          Bit Rate:11Mb/s   Tx-Power=15 dBm   Sensitivity:1/3
          Retry min limit:8   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          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

(Link quality is zero. That's strange, but it works anyway...)

And the output from ifconfig:

eth1      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          inet addr:192.168.2.1  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:78 errors:0 dropped:0 overruns:0 frame:0
          TX packets:123 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:5376 (5.2 KiB)  TX bytes:19965 (19.4 KiB)
          Interrupt:5 Base address:0xc000 Memory:dddff000-dddfffff

Configuring the PCMCIA Linksys WPC11

The setup for this card is much the same as the MA311 setup. I selected the following kernel options:

Under Device Drivers -> Networking support -> Wireless LAN (non-hamradio)

[*] Wireless LAN (non-hamradio) & Wireless Extensions
---   Wireless 802.11b Pcmcia/Cardbus cards support
<M>   Hermes chipset 802.11b support (Orinoco/Prism2/Symbol)
<M>     Hermes in PLX9052 based PCI adaptor support (Netgear MA301 etc.)
<M>     Prism 2.5 PCI 802.11b adaptor support
--- Wireless Pcmcia cards support
<M>   Hermes PCMCIA card support

Under Device Drivers -> Networking support -> PCMCIA network device support
[*] PCMCIA network device support

To bring up the interface, I run the following:

modprobe orinoco_cs
iwconfig eth0 mode ad-hoc nick "" essid "mark" channel 6
ifconfig eth0 192.168.2.2
route add default gw 192.168.2.1
ifconfig eth0 up

Output from iwconfig is:

eth0      IEEE 802.11-DS  ESSID:"mark"
          Mode:Ad-Hoc  Frequency:2.437GHz  Cell: XX:XX:XX:XX:XX:XX
          Bit Rate:11Mb/s   Tx-Power=15 dBm   Sensitivity:1/3
          Retry min limit:8   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:18  Invalid misc:0   Missed beacon:0

And ifconfig..

eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX
          inet addr:192.168.2.2  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1231 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1067 errors:9 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:230396 (224.9 KiB)  TX bytes:166411 (162.5 KiB)
          Interrupt:3 Base address:0x100

This done, each box is able to ping the other.