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
- kernel 2.6.0-test8
- wireless-tools version 26 ("apt-get install wireless-tools" on Debian)
Laptop
- kernel 2.6.0-test8
- wireless-tools version 26
- pcmcia-cs 3.2.5 ("apt-get install pcmcia-cs")
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:
- hermes.o
- orinoco.o
- orinoco_pci.o
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.