Proxim Orinoco Silver

proxim-front.jpg proxim-back.jpg

The exact name is Proxim ORiNOCO 802.11b PC Card Silver. It's an 16Bit PCMCIA card and the model number is 8421-WD. The package says it's Revision D. This is important. Older cards were very well supported in linux but this one isn't. You'll seeā€¦

Let's see what cardctl ident can tell us:

product info: "Agere Systems", "Wireless PC Card Model 0110", "", ""
manfid: 0x0156, 0x0003
function: 6 (network)

Okay it's an Agere chipset which should be supported by the Kernels orinoco_cs driver. But my 2.4.26 is not able to run the card:

hermes.c: 4 Dec 2002 David Gibson <hermes@gibson.dropbear.id.au>
orinoco.c 0.13d (David Gibson <hermes@gibson.dropbear.id.au> and others)
orinoco_cs.c 0.13d (David Gibson <hermes@gibson.dropbear.id.au> and others)
eth1: Station identity 0015:0002:0001:000a
eth1: Looks like an Intersil firmware version 1.10.2
eth1: Ad-hoc demo mode supported
eth1: IEEE standard IBSS ad-hoc mode supported
eth1: WEP supported, 104-bit key
hermes @ IO 0x200: Truncating LTV record from -2 to 6 bytes. (rid=0xfc01, len=0x0000)
eth1: MAC address 15:00:02:00:01:00
hermes @ IO 0x200: Truncating LTV record from -2 to 34 bytes. (rid=0xfc0e, len=0x0000)
eth1: Station name ""
hermes @ IO 0x200: Truncating LTV record from -2 to 2 bytes. (rid=0xfd10, len=0x0000)
hermes @ IO 0x200: Truncating LTV record from -2 to 2 bytes. (rid=0xfc06, len=0x0000)
hermes @ IO 0x200: Truncating LTV record from -2 to 2 bytes. (rid=0xfc83, len=0x0000)
hermes @ IO 0x200: Truncating LTV record from -2 to 2 bytes. (rid=0xfc82, len=0x0000)
hermes @ IO 0x200: Truncating LTV record from -2 to 2 bytes. (rid=0xfc0c, len=0x0000)
hermes @ IO 0x200: Truncating LTV record from -2 to 2 bytes. (rid=0xfc0d, len=0x0000)
eth1: firmware ALLOC bug detected (old Symbol firmware?). Trying to work around... failed!
eth1: Error -5 allocating Tx buffer
orinoco_cs: register_netdev() failed
orinoco_lock() called with hw_unavailable (dev=ca2c6800)

This mailinglist message sums up what happened to the card. Looks like the only way to go is the binary driver available at Agere's website. Alas, that driver is only available for 2.4 kernels.

You need to get the source of the pcmcia-cs utilities to compile their driver. But you can still use your distributions user space tools and the kernels builtin PCMCIA support afterwards.

$> wget http://ovh.dl.sourceforge.net/sourceforge/pcmcia-cs/pcmcia-cs-3.2.8.tar.gz
$> tar -xzvf pcmcia-cs-3.2.8.tar.gz

Then get and unpack the files from Agere's website on top of the pcmcia sources:

$> cd pcmcia-cs-3.2.8/
$> wget http://www.agere.com/support/drivers/wl_lkm_720_abg.tar.gz
$> tar -xzvf wl_lkm_720_abg.tar.gz

Now run the Configure script answering the questions (using the default anwsers should suffice). Then run the scripts Build and Install provided by Agere instead of doing the usual make:

$> ./Configure
$> ./Build
#> ./Install

Inserting the card should load the wlags49_h2_cs; restart pcmcia if necessary via /etc/init.d/pcmcia restart (or a similar command). You should have an eth1 device. Set up your WLAN parameters and you should be online.

#> iwconfig eth1 essid "MeinKleinesWLAN" key 's:13chars ASCII' mode Managed
#> dhclient eth1