3COM AirConnect problems

Tino Kluge tino.kluge at hrz.tu-chemnitz.de
Tue May 14 04:04:53 EST 2002


In the past I had problems to set up my 3COM AirConnect Version 2.0
wireless card (3CRWE73796B). In brief, the card was correctly
detected and initialised by the orinoco driver. However, after
an "ifconfig eth0 up" the driver returned an error and switched
down the card.
Some articles in this mailing-list already discussed problems with
that particular wlan card. However, no suggestion given there
fully worked in my case. Thanks to Pavel Roskin my problem has
been resolved.
 
First, an overview about my configuration:
 
Software:
---------
Linux:          SuSE 7.2
Kernel:         2.4.17
pcmcia:         pcmcia-cs-3.1.33
wireless:       orinoco-0.11b and wireless_tools.23
 
Hardware:
---------
 Model: 3CRWE737 96B-E1
 ID#:   R9009 SRD 3a (BPS 106)
 
 eth0: Looks like a Symbol firmware version [V2.20-02] (parsing to 22002)
 
# cardctl config
Socket 0:
  not configured
Socket 1:
  Vcc 5.0V  Vpp1 0.0V  Vpp2 0.0V
  interface type is "memory and I/O"
  irq 3 [exclusive] [level]
  function 0:
    config base 0x03e0
      option 0x41 status 0x00 pin 0x00
    io 0x0100-0x0147 [16bit]
 
 
Problem:
--------
An "ifconfig up" switches off the card's led. Note, since an
"ifconfig up" is usually executed by the script /etc/pcmcia/network
as soon as the card is inserted you might not realise that the card
worked before that.
 
# ifconfig eth0 0.0.0.0 up
 SIOCSIFFLAGS: Connection timed out
 SIOCSIFFLAGS: Connection timed out
 
# less /var/log/messages
 hermes @ IO 0x100: Timeout waiting for card to reset (reg=0x0000)!
 eth0: Error -16 shutting down Hermes chipset
 
 
Thanks to Pavel Roskin, that problem has been analysed and a
temporary workaround has been suggested by him:
 
Cause:
------
The function hermes_reset() from hermes.c is first called during
the initialisation (orinoco_init()), i.e. when the card is
inserted. So far, everything works fine.
However, the second time hermes_reset() is called it fails with
an error. This happens as soon as orinoco_reset() is called
which is the case if one executes "ifconfig eth0 up".
It seems that this particular 3COM AirConnect card doesn't like
hermes_reset() to be executed more than one time.
 
 
Temporary workaround:
---------------------
Uncomment hermes_reset() in orinoco.c in the functions
orinoco_reset() and orinoco_shutdown(), for example like that:
 
line 621 in orinoco.c (v0.11b):
#if 0
        /* Check if we need a card reset */
        if (priv->hard_reset)
                priv->hard_reset(priv);
 
        /* Do standard firmware reset if we can */
        err = hermes_reset(hw);
        if (err)
                goto out;
#endif
 
 
 
Any feedback is welcome.
 
Tino




More information about the wireless mailing list