Kernel 2.4.21 oopses with Atmel USB driver

Bernard Bencic <[email protected]>
Newsgroups gmane.linux.drivers.atmel-wlan
Message-ID <[email protected]>
Hi all,

I am currently setting up a ThinClient based on a VIA C3 800Mhz.
The Linux distro is home made (Linux From Scratch) based on a kernel 
2.4.21. The goal of this system is to connect to a server through
a D-Link DWL-900AP+ Access Point. The thinclient has a built-in
Realtek NIC (RTL-8139) and a Wireless USB card based on the Atmel
AT76C503a chipset (USB id = 03eb:7605).

The problem I encounter is a Kernel oops on the thinclient
when I set up manually the SSID or when I scan the network (the AP does 
not broadcast the SSID). I mainly use lvnet and sometimes iwconfig.
In order to facilitate the testing, there is no WEP encryption, no MAC 
filter (see details below).

As soon as the AP broadcasts the SSID, the thinclient sets up 
automatically the SSID and as from that moment, it is very stable 
(Thinclient joins the network, communication is good, no crash).

I tried the latest official release (2.1.2.2) and
the latest snapshot (20030613) but the behavior is the same.

For your information, I am a beginner in the WiFi world. So, if there
is something I am doing wrong, please let me know.

Could check this and help me solve this problem ?
Thanks in advance.


Please find below all the technical information :

------------------------------------
* KERNEL OOPS (treated by ksymoops) :
------------------------------------
ksymoops 2.4.3 on i686 2.4.21-C3.  Options used
      -V (specified)
      -k /tmp/crash2/ksyms.20030723 (specified)
      -l /tmp/crash2/lsmod.20030723 (specified)
      -o /lib/modules/2.4.21-C3/ (specified)
      -m /boot/System.map-2.4.21-C3 (specified)

Warning (compare_ksyms_lsmod): module Module is in lsmod but not in 
ksyms, probably no symbols exported
Unable to handle kernel NULL pointer dereference at virtual address 00000004
d0c25e7e
*pde = 00000000
Oops: 0002
CPU:    0
EIP:    0010:[<d0c25e7e>]    Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010046
eax: 00000000   ebx: cee02000   ecx: 00000000   edx: cf150198
esi: ceb87f60   edi: 00000296   ebp: cf3c6740   esp: c0341f0c
ds: 0018   es:0018   ss:0018
Process swapper (pid: 0, stackpage=c0341000)
Stack: 00000000 cee02000 cf1501ac 00000000 cf3c6740 00000286 cf150198 
d0c1fc43
        cf3c6740 00000000 00000000 00000000 cf6fa800 cf1501cc 00000246 
cf7497e4
        cf749760 d0c1fcca cf3c6740 cf3d5660 04000001 c0341fac 0000000c 
c01083dd
Call Trace:    [<d0c1fc43>] [<d0c1fcca>] [<c01083dd>] [<c0108558>] 
[<c0105300>]
   [<c010ab38>] [<c0105300>] [<c0105323>] [<c01053c2>] [<c0105000>]
Code: 89 48 04 89 01 8b 46 10 c7 06 00 00 00 00 c7 46 04 00 00 00

 >>EIP; d0c25e7e <[usbvnetr]TxOkCB+ae/150>   <=====
Trace; d0c1fc42 <[uhci]uhci_call_completion+1a2/1f0>
Trace; d0c1fcca <[uhci]uhci_finish_completion+3a/50>
Trace; c01083dc <handle_IRQ_event+3c/70>
Trace; c0108558 <do_IRQ+68/b0>
Trace; c0105300 <default_idle+0/50>
Trace; c010ab38 <call_do_IRQ+6/e>
Trace; c0105300 <default_idle+0/50>
Trace; c0105322 <default_idle+22/50>
Trace; c01053c2 <cpu_idle+52/70>
Trace; c0105000 <_stext+0/0>
Code;  d0c25e7e <[usbvnetr]TxOkCB+ae/150>
00000000 <_EIP>:
Code;  d0c25e7e <[usbvnetr]TxOkCB+ae/150>   <=====
    0:   89 48 04                  mov    %ecx,0x4(%eax)   <=====
Code;  d0c25e80 <[usbvnetr]TxOkCB+b0/150>
    3:   89 01                     mov    %eax,(%ecx)
Code;  d0c25e82 <[usbvnetr]TxOkCB+b2/150>
    5:   8b 46 10                  mov    0x10(%esi),%eax
Code;  d0c25e86 <[usbvnetr]TxOkCB+b6/150>
    8:   c7 06 00 00 00 00         movl   $0x0,(%esi)
Code;  d0c25e8c <[usbvnetr]TxOkCB+bc/150>
    e:   c7 46 04 00 00 00 00      movl   $0x0,0x4(%esi)

  <0>Kernel panic: Aiee, killing interrupt handler!

1 warning issued.  Results may not be reliable.

---------------------------------------------------
* Atmel driver details + USB adapter configuration :
---------------------------------------------------
Driver version : 2.1.2.2
Firmware version : 1.101.2.84

SSID : N001001
Channel : 10
Transmit Rate : 11 Mbps
Operating Mode : Infrastructure
Radio : On
Power Mode : Active
International Roaming : Disable
WEP Encryption : Disabled
Preamble Type : Long
RtsCts Threshold : 2347
Fragmentation Threshold : 2346


------------------
* Output of lsusb :
------------------
Bus 002 Device 001: ID 0000:0000
Bus 002 Device 002: ID 03eb:7605 Atmel Corp. AT76c503a 802.11b Adapter
Bus 001 Device 001: ID 0000:0000

------------------
* Output of dmesg :
------------------
Linux version 2.4.21-C3 (root@ws001) (gcc version 3.2.2) #8 Fri Jun 20 
08:56:39 CEST 2003
BIOS-provided physical RAM map:
  BIOS-e820: 0000000000000000 - 00000000000a0000 (usable)
  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
  BIOS-e820: 0000000000100000 - 000000000f7f0000 (usable)
  BIOS-e820: 000000000f7f0000 - 000000000f7f3000 (ACPI NVS)
  BIOS-e820: 000000000f7f3000 - 000000000f800000 (ACPI data)
  BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
247MB LOWMEM available.
On node 0 totalpages: 63472
zone(0): 4096 pages.
zone(1): 59376 pages.
zone(2): 0 pages.
Kernel command line: BOOT_IMAGE=2.4.21-C3 ro root=1601
Initializing CPU#0
Detected 797.737 MHz processor.
Console: colour dummy device 80x25
Calibrating delay loop... 1592.52 BogoMIPS
Memory: 247876k/253888k available (1673k kernel code, 5628k reserved, 
627k data, 96k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Dentry cache hash table entries: 32768 (order: 6, 262144 bytes)
Inode cache hash table entries: 16384 (order: 5, 131072 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 16384 (order: 4, 65536 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
CPU: L1 I Cache: 64K (32 bytes/line), D cache 64K (32 bytes/line)
CPU: L2 Cache: 64K (32 bytes/line)
CPU:     After generic, caps: 00803135 80803035 00000000 00000000
CPU:             Common caps: 00803135 80803035 00000000 00000000
CPU: Centaur VIA Ezra stepping 0a
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch ([email protected])
mtrr: detected mtrr type: Intel
PCI: PCI BIOS revision 2.10 entry at 0xfb530, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Using IRQ router VIA [1106/0686] at 00:07.0
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
VFS: Diskquotas version dquot_6.4.0 initialized
Installing knfsd (copyright (C) 1996 [email protected]).
  tbxface-0099 [01] Acpi_load_tables      : ACPI Tables successfully loaded
Parsing 
Methods:........................................................................
72 Control Methods found and parsed (300 nodes total)
ACPI Namespace successfully loaded at root c036a640
ACPI: Core Subsystem version [20011018]
evxfevnt-0081 [-19] Acpi_enable           : Transition to ACPI mode 
successful
Executing device _INI methods:..............................
30 Devices found: 30 _STA, 1 _INI
Completing Region and Field initialization:................
15/19 Regions, 1/1 Fields initialized (300 nodes total)
ACPI: Subsystem enabled
vesafb: abort, cannot reserve video memory at 0xe4000000
vesafb: framebuffer at 0xe4000000, mapped to 0xd0016000, size 12288k
vesafb: mode is 1024x768x16, linelength=2048, pages=4
vesafb: protected mode interface info at c000:7d6e
vesafb: scrolling: redraw
vesafb: directcolor: size=0:5:6:5, shift=0:11:5:0
Console: switching to colour frame buffer device 128x48
fb0: VESA VGA frame buffer device
Detected PS/2 Mouse Port.
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ 
SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
8139too Fast Ethernet driver 0.9.26
PCI: Found IRQ 11 for device 00:08.0
IRQ routing conflict for 00:07.5, have irq 10, want irq 11
8139too: 00:08.0: unknown chip version, assuming RTL-8139
8139too: 00:08.0: TxConfig = 0x77400600
eth0: RealTek RTL8139 Fast Ethernet at 0xd0c17000, 00:40:f4:66:f3:14, IRQ 11
eth0:  Identified 8139 chip type 'RTL-8139'
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 196M
agpgart: Unsupported Via chipset (device id: 0601), you might want to 
try agp_try_unsupported=1.
agpgart: no supported devices found.
Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
hdc: STI Flash S.1.0, CFA DISK drive
ide1 at 0x170-0x177,0x376 on irq 15
hdc: attached ide-disk driver.
hdc: 500400 sectors (256 MB) w/1KiB Cache, CHS=695/15/48
Partition check:
  hdc: hdc1
SCSI subsystem driver Revision: 1.00
kmod: failed to exec /sbin/modprobe -s -k scsi_hostadapter, errno = 2
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 2048 buckets, 16Kbytes
TCP: Hash tables configured (established 16384 bind 32768)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
  hdc: hdc1
  hdc: hdc1
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 96k freed
EXT2-fs warning: mounting unchecked fs, running e2fsck is recommended
Real Time Clock Driver v1.10e
uhci.c: USB Universal Host Controller Interface driver v1.1
PCI: Assigned IRQ 12 for device 00:07.2
PCI: Sharing IRQ 12 with 00:07.3
uhci.c: USB UHCI at I/O 0xd400, IRQ 12
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
PCI: Found IRQ 12 for device 00:07.3
PCI: Sharing IRQ 12 with 00:07.2
uhci.c: USB UHCI at I/O 0xd800, IRQ 12
usb.c: new USB bus registered, assigned bus number 2
hub.c: USB hub found
hub.c: 2 ports detected
hub.c: new USB device 00:07.3-2, assigned address 2
usb.c: USB device 2 (vend/prod 0x3eb/0x7605) is not claimed by any 
active driver.
usb.c: registered new driver usbvnetr
usb vendor/product=3eb/7605
Reg Domain
usbvnetr: driver version 1.0.1, compiled Jul 23 2003 14:08:53 (dbg_mask x0)
MAC addr 00:06:F4:03:07:0D firmware 1.101.2.84
Multicast is enabled
vnetusba.c: usb eth1 initialized and registered
usbdevfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
usbdevfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6
PCI: Found IRQ 11 for device 00:07.5
IRQ routing conflict for 00:07.5, have irq 10, want irq 11
PCI: Sharing IRQ 11 with 00:08.0
PCI: Setting latency timer of device 00:07.5 to 64
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE]
parport_pc: Via 686A parallel port: io=0x378
lp0: using parport0 (polling).



By the way, what does mean the message (see above) ?
   "usbdevfs: USBDEVFS_CONTROL failed dev 2 rqt 128 rq 6 len 18 ret -6"

The kernel is configured with SMP option disabled.


------------------
* Output of lsmod :
------------------
Module                  Size  Used by    Not tainted
parport_pc             18824   1  (autoclean)
lp                      6752   0  (autoclean)
parport                24480   1  (autoclean) [parport_pc lp]
snd-via82xx            10828   0  (autoclean)
snd-mpu401-uart         3184   0  (autoclean) [snd-via82xx]
snd-rawmidi            13312   0  (autoclean) [snd-mpu401-uart]
snd-seq-device          4048   0  (autoclean) [snd-rawmidi]
snd-pcm                57504   0  (autoclean) [snd-via82xx]
snd-page-alloc          4908   0  (autoclean) [snd-via82xx snd-pcm]
snd-timer              13768   0  (autoclean) [snd-pcm]
snd-ac97-codec         33600   0  (autoclean) [snd-via82xx]
snd                    28868   0  (autoclean) [snd-via82xx 
snd-mpu401-uart snd-rawmidi snd-seq-device snd-pcm snd-timer snd-ac97-codec]
usbvnetr               80568   4
uhci                   24560   0  (unused)
rtc                     6588   1  (autoclean)



Again,
Thanks in advance.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.