Orinoco driver lockups
Robert Hardy
rhardy at webcon.net
Sun Nov 25 15:47:01 EST 2001
Back on Linux Kernel 2.2.x I used the Lucent binary drivers for my Orinoco
wireless NIC on my firewall and it was rock solid. Getting a fucntional
stable driver under a 2.4.x kernel is proving to be a challenge. Since the
Lucent binary drivers don't work under 2.4.x (they transmit one packet and
then unload the driver!?), I'm forced to use Orinoco.o. Your help debugging
what seems to be a problem with the Orinoco driver would be appreciated.
I started using the Orinoco driver when I upgraded to 2.4.x. Historically
it has worked however it required a pcmcia restart for every 3-4 hours of
use. That is annoying but is also good exercise (my server is two floors
away.) Recently however my firewall has started locking up solid while using
the wireless NIC.
I've tried to isolate the problem, I'm pretty sure it has something to do
with orinoco_reset() function however debugging it is proving to be very
nasty.
I've tested kernels using 2.4.13 to 15 including various pre kernels. I've
tried orinoco 0.08a and 0.08b.
My colleague and I are not new to the Linux scene. The problem exists on
both our firewalls. Both of which are well pamped UPS protected stable
systems (no overclocking etc.)
My colleague has a different carbus bridge, a single slot one which Lucent
sold him. Mine is a third party two slot.
There seem to be two failure modes:
1. System locks solid with no warning
2. System gets a kernel oops in an unrelated process "Unable to handle
kernel paging request". I've seen the following processes listed in kernel
oops: swapper, tail (from me tailing debug & messages)
Common symptoms:
-All lockups happened while the wireless NIC is in use.
-More traffic means increased chance of lockup
Testing environment:
I've got a pair of Orinoco 802.11b Wireless NICs. One
is in a Sager notebook running Windoze 98 and the other is a Linux 2.4.x
based box on a Abit BP6 with a pair of Celeron CPU & 512M of RAM.
The card-bus bridge in use is a PCI based two slot id'ed as:
PCI bus 0x0 cardnum 0x11 function 0x0001: vendor 0x104c device 0xac1c
Texas Instruments PCI1225.
Simple process to reproduce the problem:
1. Recompile the driver with ORINOCO_DEBUG >= 4
2. cd /var/log; tail -f debug -f messages
3. Start a large file transfer from the Linux box to the Windows box.
I have been using a drivers folder which contains about 800 files totaling 250M.
4. On the server console: ping -f notebook
5. Within a minute the server will be locked solid. Everything will die
including sys-request key.
I've got these modules loaded:
orinoco_cs 4320 1
orinoco 29664 0 [orinoco_cs]
hermes 3184 0 [orinoco_cs orinoco]
ds 6432 2 [orinoco_cs]
yenta_socket 8368 2
pcmcia_core 37088 0 [orinoco_cs ds yenta_socket]
Here is a hand transcribed kernel oops with max ORINOCO_DEBUG:
Code: 8b 43 08 8b 80 90 00 00 00 85 c0 74 11 8b 40 34 85 c0 74 0a
<1>Unable to handle kernel paging request at virtual address 80008024
printing eip:
c0131dd9
*pde = 00000000
Oops: 0000
CPU: 1
EIP: 0010:[<c0131dd9>] Not tainted
EFLAGS: 00010286
eax: 80008000 ebx: cd5add60 ecx: dfbde640 edx: cd5add60
esi: 00000003 edi: 00000000 ebp: 00000001 esp: cfefde7c
ds: 0018 es: 0018 ss: 0018
Process tail (pid: 2420, stackpage=cfefd000)
Stack: 00000003 00000003 cc7428c0 c0119028 cd5add60 cc7428c0 ccdffaa0 cfefc000
0000000b 80008008 cc7429e0 c01197b5 cc7428c0 00000000 ccdffaa0 00000000
c01072cf 0000000b 00000000 c0113298 c02199be cfefdf80 00000000 cfefc000
Call Trace: [<c0119028>] [<c01197b5>] [<c01072cf>][<c0113298>][<c0112f2c>]
[<c0113e83>] [<c0106e64>] [<c0110018>] [<c0138a8a>] [<c0106d73>]
Code: 83 78 24 00 74 4c be 00 e0 ff ff 21 e6 8b 46 1c 8d 50 01 89
<6>NETDEV WATCHDOG: eth2: transmit timed out
eth2: Tx timeout! Resetting card.
eth2: -> orinoco_reset()
Then the system locks solid, keyboard dead etc...
Again any assistance debugging this would be appreciated.
Regards,
Rob
--
---------------------"Happiness is understanding."----------------------
Robert Hardy C.E.O. Webcon Inc.
More information about the wireless
mailing list