2008-08-05 20:05:09

by Tomasz Chmielewski

[permalink] [raw]
Subject: kernel panic on p54pci insertion on mipsel

I have a mipsel device (ASUS WL-500gP; it runs a 2.6.25.9 OpenWRT kernel) with a prism54 mini-pci card:


00:02.0 Network controller: Intersil Corporation ISL3890 [Prism GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (rev 01)
Subsystem: Intersil Corporation Unknown device 0000
Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 6
Region 0: Memory at 40002000 (32-bit, non-prefetchable) [size=8K]
Capabilities: [dc] Power Management version 1
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

Unfortunately, the kernel panics as soon as I try to insert p54pci module (with version 2.7.0.0.arm firmware):

# modprobe p54pci
PCI: Fixing up device 0000:00:02.0
p54: LM86 firmware
p54: FW rev 2.7.0.0 - Softmac protocol 4.1
Data bus error, epc == c00573f4, ra == 8004dd00
Oops[#1]:
Cpu 0
$ 0 : 00000000 fffffffd c0054000 00000001
$ 4 : 00000006 819f4de0 001c7655 00000000
$ 8 : 003d0900 00000000 3b9ac9ff fffffffd
$12 : 328b7400 000001aa 80300000 00000000
$16 : 81b84b00 000000a0 00000001 00000006
$20 : 000000ff 0000000c 00000010 00004000
$24 : 0008891f 00000000
$28 : 802ae000 802afe58 00000010 8004dd00
Hi : 00000000
Lo : 00000000
epc : c00573f4 Not tainted
ra : 8004dd00 Status: 10009802 KERNEL EXL
Cause : 0080401c
PrId : 00029006 (Broadcom BCM3302)
Modules linked in: p54pci(+) p54common mac80211 cfg80211 [last unloaded: p54pci]
Process swapper (pid: 0, threadinfo=802ae000, task=802b0160)
Stack : 32a634bf 000001aa 00004000 802f1c51 8004dd00 8004dd00 802fda58 802f1c51
802e0000 800465a8 802b3aa0 00000006 802e0000 802e0000 8004f1ac 800473f4
00004000 80029dec 802f1f30 0000000c 00004000 802f1c51 80001e24 80001e0c
000000ff 0000000c 00000010 00004000 00000000 80002c64 2fe1623c 000001aa
00007bd4 1000d801 2faf0800 8002eba8 00000000 1000d800 800026f4 00000000
...
Call Trace:[<8004dd00>][<8004dd00>][<800465a8>][<8004f1ac>][<800473f4>][<80029dec>][<80001e24>][<80001e0c>][<80002c64>][<8002eba8>][<800026f4>][<80004e0c>]

Code: 8ca20308 27bdffe8 afbf0010 <8c430010> 24a403bc ac430014 8ca20308 8c420018 00621824
Kernel panic - not syncing: Fatal exception in interrupt


As it is unclear to me which firmware I should use (lspci outputs both ISL3890 and ISL3886 for this device; http://prism54.org/fullmac.html tells that these two cards should use different firmware), I also tried 1.0.4.3.arm firmware - this time, it oopses, with no kernel panic:

# modprobe p54pci
PCI: Fixing up device 0000:00:02.0
CPU 0 Unable to handle kernel paging request at virtual address 4fe7c87f, epc == c00612f8, ra == c0057150
Oops[#1]:
Cpu 0
$ 0 : 00000000 1000d800 00000000 6d656d70
$ 4 : 4fe7c878 6f6f6c5f 80000000 00000002
$ 8 : 00000034 00000001 00000414 00000001
$12 : 00000001 ffffffe0 802f7588 802f75a8
$16 : 4fe7c880 81f60de0 c007cf2c 00000000
$20 : 4fe7c878 81f60160 81c58400 81f60de0
$24 : 00000001 80158dfc
$28 : 81f5a000 81f5bc98 81f60160 c0057150
Hi : 00000001
Lo : 084210a0
epc : c00612f8 Not tainted
ra : c0057150 Status: 1000d803 KERNEL EXL IE
Cause : 00800008
BadVA : 4fe7c87f
PrId : 00029006 (Broadcom BCM3302)
Modules linked in: p54pci(+) p54common mac80211 cfg80211 [last unloaded: p54pci]
Process modprobe (pid: 1083, threadinfo=81f5a000, task=81f59998)
Stack : 81f610f0 00000000 81f5a000 81f5bcc8 81f60de0 00000000 81f60160 81c584e4
00000000 c0060000 c0057150 c0057110 8000c66c 40008000 00002000 81c584e4
81b4e200 c0060000 81c58458 801285a0 00002000 c0057ffc 40008000 00000001
00000400 2d17117b 81c584c0 80120cdc 81d3a4b0 81c59d48 800c938c 800c9380
81c58400 80150140 0000000b 81f5be00 c0058830 81c58400 00000000 81c584e4
...
Call Trace:[<c0060000>][<c0057150>][<c0057110>][<8000c66c>][<c0060000>][<801285a0>][<c0057ffc>][<80120cdc>][<800c938c>][<800c9380>][<80150140>][<80022944>]

Code: 0250102b 14400008 00000000 <88850007> 98850004 00051080 0202a021 0254102b 1040ff89
Segmentation fault


Ideas? With 2.6.23.1 kernel, it didn't oops nor panic (but it didn't work then for a different reason - "Out of memory, cannot handle oid"):

http://marc.info/?l=linux-wireless&m=120250829717134&w=2


--
Tomasz Chmielewski
http://wpkg.org


2008-08-06 20:34:55

by Michael Büsch

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

On Wednesday 06 August 2008 22:28:32 Tomasz Chmielewski wrote:
> Johannes Berg schrieb:
> >> Call Trace:[<8018405c>][<8001d2bc>][<8004cc30>][<8004e0dc>][<80002ca4>][<8001c310>][<80001e54>][<80002ca4>][<80125850>][<c0070c00>][<c0070c98>][<c007118c>]
> >>
> >> Code: 8ca40150 24020001 afa20010 <8c820078> 00a08021 30420200 1440009f 8cb10160 8c820010
> >> Kernel panic - not syncing: Fatal exception in interrupt
> >
> > Please remove me from the CC list, at least until you've discovered
> > ksymoops.
>
> Sorry for that. Is this one more helpful?

No, you seem to be using the wrong System.map and/or vmlinux image.
Read the manpage, please.


--
Greetings Michael.

2008-08-06 21:14:40

by Tomasz Chmielewski

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

Michael Buesch schrieb:
> On Wednesday 06 August 2008 22:28:32 Tomasz Chmielewski wrote:
>> Johannes Berg schrieb:
>>>> Call Trace:[<8018405c>][<8001d2bc>][<8004cc30>][<8004e0dc>][<80002ca4>][<8001c310>][<80001e54>][<80002ca4>][<80125850>][<c0070c00>][<c0070c98>][<c007118c>]
>>>>
>>>> Code: 8ca40150 24020001 afa20010 <8c820078> 00a08021 30420200 1440009f 8cb10160 8c820010
>>>> Kernel panic - not syncing: Fatal exception in interrupt
>>> Please remove me from the CC list, at least until you've discovered
>>> ksymoops.
>> Sorry for that. Is this one more helpful?
>
> No, you seem to be using the wrong System.map and/or vmlinux image.
> Read the manpage, please.

Why do you think they are wrong?

Both files (System.map and vmlinux image) come from the kernel which panicked.

It could be I compiled the kernel by adding one module (no compiled-in the kernel changes) to its .config - without flashing the kernel. Would it make a difference to System.map and/or vmlinux image and ksymoops?

If so, here is one more try, where everything should be proper.

This panic was made by simply doing the below ~50 times in a loop, and is reproducible:

rmmod prism54
modprobe prism54
ifconfig eth2 up


If it's still totally wrong, please take my apologies, but I've no idea what I may be doing wrong.


# ksymoops -K -v vmlinux-2.6.25.12 < oops2
ksymoops 2.4.11 on mips 2.6.25.12. Options used
-v vmlinux-2.6.25.12 (specified)
-K (specified)
-l /proc/modules (default)
-o /lib/modules/2.6.25.12/ (default)
-m /boot/System.map-2.6.25.12 (default)

No modules in ksyms, skipping objects
No ksyms, skipping lsmod
Data bus error, epc == c0084834, ra == 8004cc30
Cpu 0
$ 0 : 00000000 10009800 00000001 00000001
$ 4 : c0054000 81df0b60 ffffffff 00000000
$ 8 : 1000d800 1000001f 802e0000 802f0000
$12 : 802e0000 00000005 802e4588 81c3d950
$16 : 81dea280 00000080 00000001 00000006
$20 : 00000000 c0054078 00000001 7fd019e8
$24 : 00000001 2abb4fb0
$28 : 80ec0000 80ec1c50 7fd0199c 8004cc30
Hi : 00020200
Lo : 05858000
epc : c0084834 Not tainted
Using defaults from ksymoops -t elf32-tradlittlemips -a mips:3000
Cause : 0080401c
00000001 8004cc30 802a1a90 00000006 81df0b60 81df0800 802a1a90 00000006
81df0b60 81df0800 8004e0dc 00000005 802e4588 81c3d950 802e4df4 00000000
00004000 c0054000 80001e54 00008914 00000400 00000000 0000c881 802a0000
00000000 80002ca4 00000001 7fd019e8 80125850 80023de8 802e4df4 00000000
Call Trace:[<8018405c>][<8004cc30>][<8001d2bc>][<8004cc30>][<8004e0dc>][<80001e54>][<80002ca4>][<80125850>][<80023de8>][<c0083c00>][<c0083c98>][<80001e54>]
Code: 8ca40150 24020001 afa20010 <8c820078> 00a08021 30420200 1440009f 8cb10160 8c820010


>>RA; 8004cc30 <handle_IRQ_event+64/d4>
>>$12; 802e0000 <invalid_pte_table+0/1000>
>>$14; 802e4588 <per_cpu__runqueues+30/410>
>>$31; 8004cc30 <handle_IRQ_event+64/d4>

>>PC; c0084834 <END_OF_CODE+3fd8da64/????> <=====

Trace; 8018405c <usb_hcd_irq+68/150>
Trace; 8004cc30 <handle_IRQ_event+64/d4>
Trace; 8001d2bc <try_to_wake_up+78/c8>
Trace; 8004cc30 <handle_IRQ_event+64/d4>
Trace; 8004e0dc <handle_percpu_irq+54/ac>
Trace; 80001e54 <plat_irq_dispatch+1ac/1d8>
Trace; 80002ca4 <ret_from_irq+0/4>
Trace; 80125850 <vscnprintf+14/30>
Trace; 80023de8 <vprintk+34c/398>
Trace; c0083c00 <END_OF_CODE+3fd8ce30/????>
Trace; c0083c98 <END_OF_CODE+3fd8cec8/????>
Trace; 80001e54 <plat_irq_dispatch+1ac/1d8>

Code; c0084828 <END_OF_CODE+3fd8da58/????>
00000000 <_PC>:
Code; c0084828 <END_OF_CODE+3fd8da58/????>
0: 8ca40150 lw a0,336(a1)
Code; c008482c <END_OF_CODE+3fd8da5c/????>
4: 24020001 li v0,1
Code; c0084830 <END_OF_CODE+3fd8da60/????>
8: afa20010 sw v0,16(sp)
Code; c0084834 <END_OF_CODE+3fd8da64/????> <=====
c: 8c820078 lw v0,120(a0) <=====
Code; c0084838 <END_OF_CODE+3fd8da68/????>
10: 00a08021 move s0,a1
Code; c008483c <END_OF_CODE+3fd8da6c/????>
14: 30420200 andi v0,v0,0x200
Code; c0084840 <END_OF_CODE+3fd8da70/????>
18: 1440009f bnez v0,298 <_PC+0x298>
Code; c0084844 <END_OF_CODE+3fd8da74/????>
1c: 8cb10160 lw s1,352(a1)
Code; c0084848 <END_OF_CODE+3fd8da78/????>
20: 8c820010 lw v0,16(a0)

Kernel panic - not syncing: Fatal exception in interrupt



--
Tomasz Chmielewski
http://wpkg.org

2008-08-06 19:47:17

by Christian Lamparter

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

On Wednesday 06 August 2008 21:02:24 Tomasz Chmielewski wrote:
> Luis R. Rodriguez schrieb:
>
> (...)
>
> >> - doesn't work with prism54.ko module (similar messages to
> >> http://marc.info/?l=linux-wireless&m=120250829717134&w=2)
> >
> > We need more details, or do you get *exactly* the same error messages?
> >
> > "Out of memory, cannot handle oid" comes up after a failed kmalloc()
> > while trying to handle an interrupt and management frame (not 802.11
> > frame) from the firmware. From that archived mailing list though the
> > oid 0x080002ff is mentioned and... well prism54 doesn't know what that
> > is. I wonder if the firmware is triggering random interrupts with
> > bogus oids.
> >
> > If you can provide a complete log it can help. Also in your previous
> > posts I see you mentioned you were working with different firmwares.
> > 1.0.4.3.arm should *only* be used with prism54. You may also want to
> > try an older firmware version than 1.0.4.3.arm, this one came from
> > 3com cards.
>
> Is older firmware available anywhere online?
you can get lots of fullmac & softmac firmwares right here:
http://daemonizer.de/prism54/prism54-fw/

Regards,
Chr

2008-08-06 20:05:08

by Tomasz Chmielewski

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

Chr schrieb:
> On Wednesday 06 August 2008 21:02:24 Tomasz Chmielewski wrote:
>> Luis R. Rodriguez schrieb:
>>
>> (...)
>>
>>>> - doesn't work with prism54.ko module (similar messages to
>>>> http://marc.info/?l=linux-wireless&m=120250829717134&w=2)
>>> We need more details, or do you get *exactly* the same error messages?
>>>
>>> "Out of memory, cannot handle oid" comes up after a failed kmalloc()
>>> while trying to handle an interrupt and management frame (not 802.11
>>> frame) from the firmware. From that archived mailing list though the
>>> oid 0x080002ff is mentioned and... well prism54 doesn't know what that
>>> is. I wonder if the firmware is triggering random interrupts with
>>> bogus oids.
>>>
>>> If you can provide a complete log it can help. Also in your previous
>>> posts I see you mentioned you were working with different firmwares.
>>> 1.0.4.3.arm should *only* be used with prism54. You may also want to
>>> try an older firmware version than 1.0.4.3.arm, this one came from
>>> 3com cards.
>> Is older firmware available anywhere online?
> you can get lots of fullmac & softmac firmwares right here:
> http://daemonizer.de/prism54/prism54-fw/

I get "Out of memory, cannot handle oid" with all 1.x.x.x firmware and
prism54 module.
I was renaming 1.x.x.x to isl3890, loading module, ifconfig up, removing module - from the highest 1.x.x.x version down to 0.8.0.0, which made the kernel panic after these series of rmmods, modprobes and ifconfigs. The panic can be reproduced if you do these ifconfig up series several times in a row.

# ifconfig eth2 up
Data bus error, epc == c0071834, ra == 8004cc30
Oops[#1]:
Cpu 0
$ 0 : 00000000 10009800 00000001 00000001
$ 4 : c0054000 80de8b60 ffffffff 00000000
$ 8 : 1000d800 1000001f 802e0000 802f0000
$12 : 802e0000 00000006 802e4588 81c3d508
$16 : 81d69880 00000080 00000001 00000006
$20 : 00000000 c0054078 00000001 7fc25828
$24 : 00000001 2abb4fb0
$28 : 80de0000 80de1c50 7fc258bc 8004cc30
Hi : 00020200
Lo : 05858000
epc : c0071834 Not tainted
ra : 8004cc30 Status: 10009803 KERNEL EXL IE
Cause : 0080401c
PrId : 00029006 (Broadcom BCM3302)
Modules linked in: prism54 [last unloaded: prism54]
Process ifconfig (pid: 1329, threadinfo=80de0000, task=81edb998)
Stack : 8018405c 81c02805 00000001 802e4558 00000001 8001d2bc 81d69880 00000080
00000001 8004cc30 802a1a90 00000006 80de8b60 80de8800 802a1a90 00000006
80de8b60 80de8800 8004e0dc 80002ca4 81d17e00 10009801 00000000 8001c310
00004000 c0054000 80001e54 1000d800 00000400 00000000 0000468c 802a0000
00000000 80002ca4 00000001 7fc25828 80125850 00000006 802e4df4 00000000
...
Call Trace:[<8018405c>][<8001d2bc>][<8004cc30>][<8004e0dc>][<80002ca4>][<8001c310>][<80001e54>][<80002ca4>][<80125850>][<c0070c00>][<c0070c98>][<c007118c>]

Code: 8ca40150 24020001 afa20010 <8c820078> 00a08021 30420200 1440009f 8cb10160 8c820010
Kernel panic - not syncing: Fatal exception in interrupt


--
Tomasz Chmielewski
http://wpkg.org

2008-08-06 20:16:40

by Johannes Berg

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel


> Call Trace:[<8018405c>][<8001d2bc>][<8004cc30>][<8004e0dc>][<80002ca4>][<8001c310>][<80001e54>][<80002ca4>][<80125850>][<c0070c00>][<c0070c98>][<c007118c>]
>
> Code: 8ca40150 24020001 afa20010 <8c820078> 00a08021 30420200 1440009f 8cb10160 8c820010
> Kernel panic - not syncing: Fatal exception in interrupt

Please remove me from the CC list, at least until you've discovered
ksymoops.

johannes


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2008-08-06 19:02:48

by Tomasz Chmielewski

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

Luis R. Rodriguez schrieb:

(...)

>> - doesn't work with prism54.ko module (similar messages to
>> http://marc.info/?l=linux-wireless&m=120250829717134&w=2)
>
> We need more details, or do you get *exactly* the same error messages?
>
> "Out of memory, cannot handle oid" comes up after a failed kmalloc()
> while trying to handle an interrupt and management frame (not 802.11
> frame) from the firmware. From that archived mailing list though the
> oid 0x080002ff is mentioned and... well prism54 doesn't know what that
> is. I wonder if the firmware is triggering random interrupts with
> bogus oids.
>
> If you can provide a complete log it can help. Also in your previous
> posts I see you mentioned you were working with different firmwares.
> 1.0.4.3.arm should *only* be used with prism54. You may also want to
> try an older firmware version than 1.0.4.3.arm, this one came from
> 3com cards.

Is older firmware available anywhere online?

This is a complete log (kernel outputs pasted below each command, kernel
used is 2.6.25.12 with OpenWRT patches), firmware used is 1.0.4.3.arm -
messages are essentially the same as the last time I tried with 2.6.23.x:

# modprobe prism54
Loaded prism54 driver, version 1.2
PCI: Fixing up device 0000:00:02.0

# dmesg -c
Loaded prism54 driver, version 1.2
PCI: Fixing up device 0000:00:02.0


# ifconfig eth2 up
eth2: Out of memory, cannot handle oid 0x030002ff
eth2: timeout waiting for mgmt response
eth2: mgt_commit_list: failure. oid=10000002 err=-145
eth2: Out of memory, cannot handle oid 0x00000012
eth2: timeout waiting for mgmt response
eth2: mgt_commit_list: failure. oid=12000005 err=-145
eth2: Out of memory, cannot handle oid 0x07000012
eth2: timeout waiting for mgmt response
eth2: mgt_commit_list: failure. oid=ff020003 err=-145
eth2: interface reset failure
prism54: Your card/socket may be faulty, or IRQ line too busy :(
SIOCSIFFLAGS: Connection timed out

# dmesg -c
eth2: resetting device...
eth2: uploading firmware...
eth2: firmware version: 1.0.4.3
eth2: firmware upload complete
eth2: Out of memory, cannot handle oid 0x030002ff
eth2: timeout waiting for mgmt response 250, triggering device
eth2: timeout waiting for mgmt response 225, triggering device
eth2: timeout waiting for mgmt response 200, triggering device
eth2: timeout waiting for mgmt response 175, triggering device
eth2: timeout waiting for mgmt response 150, triggering device
eth2: timeout waiting for mgmt response 125, triggering device
eth2: timeout waiting for mgmt response 100, triggering device
eth2: timeout waiting for mgmt response 75, triggering device
eth2: timeout waiting for mgmt response 50, triggering device
eth2: timeout waiting for mgmt response 25, triggering device
eth2: timeout waiting for mgmt response
eth2: mgt_commit_list: failure. oid=10000002 err=-145
eth2: Out of memory, cannot handle oid 0x00000012
eth2: timeout waiting for mgmt response 250, triggering device
eth2: timeout waiting for mgmt response 225, triggering device
eth2: timeout waiting for mgmt response 200, triggering device
eth2: timeout waiting for mgmt response 175, triggering device
eth2: timeout waiting for mgmt response 150, triggering device
eth2: timeout waiting for mgmt response 125, triggering device
eth2: timeout waiting for mgmt response 100, triggering device
eth2: timeout waiting for mgmt response 75, triggering device
eth2: timeout waiting for mgmt response 50, triggering device
eth2: timeout waiting for mgmt response 25, triggering device
eth2: timeout waiting for mgmt response
eth2: mgt_commit_list: failure. oid=12000005 err=-145
eth2: Out of memory, cannot handle oid 0x07000012
eth2: timeout waiting for mgmt response 250, triggering device
eth2: timeout waiting for mgmt response 225, triggering device
eth2: timeout waiting for mgmt response 200, triggering device
eth2: timeout waiting for mgmt response 175, triggering device
eth2: timeout waiting for mgmt response 150, triggering device
eth2: timeout waiting for mgmt response 125, triggering device
eth2: timeout waiting for mgmt response 100, triggering device
eth2: timeout waiting for mgmt response 75, triggering device
eth2: timeout waiting for mgmt response 50, triggering device
eth2: timeout waiting for mgmt response 25, triggering device
eth2: timeout waiting for mgmt response
eth2: mgt_commit_list: failure. oid=ff020003 err=-145
eth2: mgt_commit: failure
eth2: interface reset failure
prism54: Your card/socket may be faulty, or IRQ line too busy :(



--
Tomasz Chmielewski
http://wpkg.org


2008-08-05 23:19:20

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

On Tue, Aug 5, 2008 at 2:54 PM, Tomasz Chmielewski <[email protected]> wrote:
> Johannes Berg schrieb:
>>>
>>> Call Trace:[<c0060000>][<c0057150>]
>>
>> My magic crystal ball says that this is not inside p54 at all, and
>> indeed a problem in your kernel patches. :P
>
> An amazingly advanced crystal ball you have ;)
>
> So, a final update: ASUS WL-500gP (v1) running with OpenWRT patches and a
> prism54 mini-pci card:
>
> - panics / oopses with p54pci.ko

Can't help you there, and what Johannes was trying to say is the call
trace doesn't help us as its just hex values to us. We would need the
mapped culprit routines.

> - doesn't work with prism54.ko module (similar messages to
> http://marc.info/?l=linux-wireless&m=120250829717134&w=2)

We need more details, or do you get *exactly* the same error messages?

"Out of memory, cannot handle oid" comes up after a failed kmalloc()
while trying to handle an interrupt and management frame (not 802.11
frame) from the firmware. From that archived mailing list though the
oid 0x080002ff is mentioned and... well prism54 doesn't know what that
is. I wonder if the firmware is triggering random interrupts with
bogus oids.

If you can provide a complete log it can help. Also in your previous
posts I see you mentioned you were working with different firmwares.
1.0.4.3.arm should *only* be used with prism54. You may also want to
try an older firmware version than 1.0.4.3.arm, this one came from
3com cards.

Luis

2008-08-07 08:35:16

by Tomasz Chmielewski

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

Chr schrieb:

(...)

>> Kernel panic - not syncing: Fatal exception in interrupt
>>
>
> Ouch?! Are you sure your hardware isn't damaged?
> Can you please try another wifi card in your mips,
> or "test" the wifi card in a x86?

Yes, this prism54 card works on x86 (with 2.6.24 kernel).

Also, this mipsel router works with another mini-pci card (Broadcom, b43), so the hardware (both the router and prism card) looks fine.


--
Tomasz Chmielewski
http://wpkg.org

2008-08-05 20:13:38

by Johannes Berg

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel


> Call Trace:[<c0060000>][<c0057150>]

My magic crystal ball says that this is not inside p54 at all, and
indeed a problem in your kernel patches. :P

johannes


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part

2008-08-06 08:02:24

by Tomasz Chmielewski

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

Luis R. Rodriguez schrieb:
> On Tue, Aug 5, 2008 at 2:54 PM, Tomasz Chmielewski <[email protected]> wrote:
>> Johannes Berg schrieb:
>>>> Call Trace:[<c0060000>][<c0057150>]
>>> My magic crystal ball says that this is not inside p54 at all, and
>>> indeed a problem in your kernel patches. :P
>> An amazingly advanced crystal ball you have ;)
>>
>> So, a final update: ASUS WL-500gP (v1) running with OpenWRT patches and a
>> prism54 mini-pci card:
>>
>> - panics / oopses with p54pci.ko
>
> Can't help you there, and what Johannes was trying to say is the call
> trace doesn't help us as its just hex values to us. We would need the
> mapped culprit routines.

Is there a link anywhere explaining how to get these to help debugging?


>> - doesn't work with prism54.ko module (similar messages to
>> http://marc.info/?l=linux-wireless&m=120250829717134&w=2)
>
> We need more details, or do you get *exactly* the same error messages?
>
> "Out of memory, cannot handle oid" comes up after a failed kmalloc()
> while trying to handle an interrupt and management frame (not 802.11
> frame) from the firmware. From that archived mailing list though the
> oid 0x080002ff is mentioned and... well prism54 doesn't know what that
> is. I wonder if the firmware is triggering random interrupts with
> bogus oids.
>
> If you can provide a complete log it can help.

I'll try to post it later today in the evening.


--
Tomasz Chmielewski
http://wpkg.org

2008-08-06 20:26:48

by Tomasz Chmielewski

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

Johannes Berg schrieb:
>> Call Trace:[<8018405c>][<8001d2bc>][<8004cc30>][<8004e0dc>][<80002ca4>][<8001c310>][<80001e54>][<80002ca4>][<80125850>][<c0070c00>][<c0070c98>][<c007118c>]
>>
>> Code: 8ca40150 24020001 afa20010 <8c820078> 00a08021 30420200 1440009f 8cb10160 8c820010
>> Kernel panic - not syncing: Fatal exception in interrupt
>
> Please remove me from the CC list, at least until you've discovered
> ksymoops.

Sorry for that. Is this one more helpful?


# ksymoops -v vmlinux-2.6.25.12 < oops
ksymoops 2.4.11 on mips 2.6.25.12. Options used
-v vmlinux-2.6.25.12 (specified)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.6.25.12/ (default)
-m /boot/System.map-2.6.25.12 (default)

Error (regular_file): read_ksyms stat /proc/ksyms failed
ksymoops: No such file or directory
No modules in ksyms, skipping objects
No ksyms, skipping lsmod
Data bus error, epc == c0071834, ra == 8004cc30
Cpu 0
$ 0 : 00000000 10009800 00000001 00000001
$ 4 : c0054000 80de8b60 ffffffff 00000000
$ 8 : 1000d800 1000001f 802e0000 802f0000
$12 : 802e0000 00000006 802e4588 81c3d508
$16 : 81d69880 00000080 00000001 00000006
$20 : 00000000 c0054078 00000001 7fc25828
$24 : 00000001 2abb4fb0
$28 : 80de0000 80de1c50 7fc258bc 8004cc30
Hi : 00020200
Lo : 05858000
epc : c0071834 Not tainted
Using defaults from ksymoops -t elf32-tradlittlemips -a mips:3000
Cause : 0080401c
00000001 8004cc30 802a1a90 00000006 80de8b60 80de8800 802a1a90 00000006
80de8b60 80de8800 8004e0dc 80002ca4 81d17e00 10009801 00000000 8001c310
00004000 c0054000 80001e54 1000d800 00000400 00000000 0000468c 802a0000
00000000 80002ca4 00000001 7fc25828 80125850 00000006 802e4df4 00000000
Call Trace:[<8018405c>][<8001d2bc>][<8004cc30>][<8004e0dc>][<80002ca4>][<8001c310>][<80001e54>][<80002ca4>][<80125850>][<c0070c00>][<c0070c98>][<c007118c>]
Code: 8ca40150 24020001 afa20010 <8c820078> 00a08021 30420200 1440009f 8cb10160 8c820010


>>RA; 8004cc30 <handle_IRQ_event+64/d4>
>>$12; 802e0000 <invalid_pte_table+0/1000>
>>$14; 802e4588 <per_cpu__runqueues+30/410>
>>$31; 8004cc30 <handle_IRQ_event+64/d4>

>>PC; c0071834 <END_OF_CODE+3fd7aa64/????> <=====

Trace; 8018405c <usb_hcd_irq+68/150>
Trace; 8001d2bc <try_to_wake_up+78/c8>
Trace; 8004cc30 <handle_IRQ_event+64/d4>
Trace; 8004e0dc <handle_percpu_irq+54/ac>
Trace; 80002ca4 <ret_from_irq+0/4>
Trace; 8001c310 <__wake_up_common+54/bc>
Trace; 80001e54 <plat_irq_dispatch+1ac/1d8>
Trace; 80002ca4 <ret_from_irq+0/4>
Trace; 80125850 <vscnprintf+14/30>
Trace; c0070c00 <END_OF_CODE+3fd79e30/????>
Trace; c0070c98 <END_OF_CODE+3fd79ec8/????>
Trace; c007118c <END_OF_CODE+3fd7a3bc/????>

Code; c0071828 <END_OF_CODE+3fd7aa58/????>
00000000 <_PC>:
Code; c0071828 <END_OF_CODE+3fd7aa58/????>
0: 8ca40150 lw a0,336(a1)
Code; c007182c <END_OF_CODE+3fd7aa5c/????>
4: 24020001 li v0,1
Code; c0071830 <END_OF_CODE+3fd7aa60/????>
8: afa20010 sw v0,16(sp)
Code; c0071834 <END_OF_CODE+3fd7aa64/????> <=====
c: 8c820078 lw v0,120(a0) <=====
Code; c0071838 <END_OF_CODE+3fd7aa68/????>
10: 00a08021 move s0,a1
Code; c007183c <END_OF_CODE+3fd7aa6c/????>
14: 30420200 andi v0,v0,0x200
Code; c0071840 <END_OF_CODE+3fd7aa70/????>
18: 1440009f bnez v0,298 <_PC+0x298>
Code; c0071844 <END_OF_CODE+3fd7aa74/????>
1c: 8cb10160 lw s1,352(a1)
Code; c0071848 <END_OF_CODE+3fd7aa78/????>
20: 8c820010 lw v0,16(a0)

Kernel panic - not syncing: Fatal exception in interrupt

1 error issued. Results may not be reliable.



--
Tomasz Chmielewski
http://wpkg.org

2008-08-06 21:16:19

by Tomasz Chmielewski

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

Chr schrieb:

(...)

>> Code; c0071828 <END_OF_CODE+3fd7aa58/????>
>> 00000000 <_PC>:
>> Code; c0071828 <END_OF_CODE+3fd7aa58/????>
>> 0: 8ca40150 lw a0,336(a1)
>> Code; c007182c <END_OF_CODE+3fd7aa5c/????>
>> 4: 24020001 li v0,1
>> Code; c0071830 <END_OF_CODE+3fd7aa60/????>
>> 8: afa20010 sw v0,16(sp)
>> Code; c0071834 <END_OF_CODE+3fd7aa64/????> <=====
>> c: 8c820078 lw v0,120(a0) <=====
>> Code; c0071838 <END_OF_CODE+3fd7aa68/????>
>> 10: 00a08021 move s0,a1
>> Code; c007183c <END_OF_CODE+3fd7aa6c/????>
>> 14: 30420200 andi v0,v0,0x200
>> Code; c0071840 <END_OF_CODE+3fd7aa70/????>
>> 18: 1440009f bnez v0,298 <_PC+0x298>
>> Code; c0071844 <END_OF_CODE+3fd7aa74/????>
>> 1c: 8cb10160 lw s1,352(a1)
>> Code; c0071848 <END_OF_CODE+3fd7aa78/????>
>> 20: 8c820010 lw v0,16(a0)
>>
>> Kernel panic - not syncing: Fatal exception in interrupt
>>
>
> Ouch?! Are you sure your hardware isn't damaged?
> Can you please try another wifi card in your mips,
> or "test" the wifi card in a x86?

I took it from a IXP (arm) router, where it worked.

I'll verify if it works on x86, though.


--
Tomasz Chmielewski
http://wpkg.org

2008-08-05 21:54:08

by Tomasz Chmielewski

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

Johannes Berg schrieb:
>> Call Trace:[<c0060000>][<c0057150>]
>
> My magic crystal ball says that this is not inside p54 at all, and
> indeed a problem in your kernel patches. :P

An amazingly advanced crystal ball you have ;)

So, a final update: ASUS WL-500gP (v1) running with OpenWRT patches and
a prism54 mini-pci card:

- panics / oopses with p54pci.ko
- doesn't work with prism54.ko module (similar messages to
http://marc.info/?l=linux-wireless&m=120250829717134&w=2)


--
Tomasz Chmielewski
http://wpkg.org


2008-08-06 20:28:41

by Tomasz Chmielewski

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

Johannes Berg schrieb:
>> Call Trace:[<8018405c>][<8001d2bc>][<8004cc30>][<8004e0dc>][<80002ca4>][<8001c310>][<80001e54>][<80002ca4>][<80125850>][<c0070c00>][<c0070c98>][<c007118c>]
>>
>> Code: 8ca40150 24020001 afa20010 <8c820078> 00a08021 30420200 1440009f 8cb10160 8c820010
>> Kernel panic - not syncing: Fatal exception in interrupt
>
> Please remove me from the CC list, at least until you've discovered
> ksymoops.

Sorry for that. Is this one more helpful?


# ksymoops -v vmlinux-2.6.25.12 < oops
ksymoops 2.4.11 on mips 2.6.25.12. Options used
-v vmlinux-2.6.25.12 (specified)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.6.25.12/ (default)
-m /boot/System.map-2.6.25.12 (default)

Error (regular_file): read_ksyms stat /proc/ksyms failed
ksymoops: No such file or directory
No modules in ksyms, skipping objects
No ksyms, skipping lsmod
Data bus error, epc == c0071834, ra == 8004cc30
Cpu 0
$ 0 : 00000000 10009800 00000001 00000001
$ 4 : c0054000 80de8b60 ffffffff 00000000
$ 8 : 1000d800 1000001f 802e0000 802f0000
$12 : 802e0000 00000006 802e4588 81c3d508
$16 : 81d69880 00000080 00000001 00000006
$20 : 00000000 c0054078 00000001 7fc25828
$24 : 00000001 2abb4fb0
$28 : 80de0000 80de1c50 7fc258bc 8004cc30
Hi : 00020200
Lo : 05858000
epc : c0071834 Not tainted
Using defaults from ksymoops -t elf32-tradlittlemips -a mips:3000
Cause : 0080401c
00000001 8004cc30 802a1a90 00000006 80de8b60 80de8800 802a1a90 00000006
80de8b60 80de8800 8004e0dc 80002ca4 81d17e00 10009801 00000000 8001c310
00004000 c0054000 80001e54 1000d800 00000400 00000000 0000468c 802a0000
00000000 80002ca4 00000001 7fc25828 80125850 00000006 802e4df4 00000000
Call Trace:[<8018405c>][<8001d2bc>][<8004cc30>][<8004e0dc>][<80002ca4>][<8001c310>][<80001e54>][<80002ca4>][<80125850>][<c0070c00>][<c0070c98>][<c007118c>]
Code: 8ca40150 24020001 afa20010 <8c820078> 00a08021 30420200 1440009f 8cb10160 8c820010


>>RA; 8004cc30 <handle_IRQ_event+64/d4>
>>$12; 802e0000 <invalid_pte_table+0/1000>
>>$14; 802e4588 <per_cpu__runqueues+30/410>
>>$31; 8004cc30 <handle_IRQ_event+64/d4>

>>PC; c0071834 <END_OF_CODE+3fd7aa64/????> <=====

Trace; 8018405c <usb_hcd_irq+68/150>
Trace; 8001d2bc <try_to_wake_up+78/c8>
Trace; 8004cc30 <handle_IRQ_event+64/d4>
Trace; 8004e0dc <handle_percpu_irq+54/ac>
Trace; 80002ca4 <ret_from_irq+0/4>
Trace; 8001c310 <__wake_up_common+54/bc>
Trace; 80001e54 <plat_irq_dispatch+1ac/1d8>
Trace; 80002ca4 <ret_from_irq+0/4>
Trace; 80125850 <vscnprintf+14/30>
Trace; c0070c00 <END_OF_CODE+3fd79e30/????>
Trace; c0070c98 <END_OF_CODE+3fd79ec8/????>
Trace; c007118c <END_OF_CODE+3fd7a3bc/????>

Code; c0071828 <END_OF_CODE+3fd7aa58/????>
00000000 <_PC>:
Code; c0071828 <END_OF_CODE+3fd7aa58/????>
0: 8ca40150 lw a0,336(a1)
Code; c007182c <END_OF_CODE+3fd7aa5c/????>
4: 24020001 li v0,1
Code; c0071830 <END_OF_CODE+3fd7aa60/????>
8: afa20010 sw v0,16(sp)
Code; c0071834 <END_OF_CODE+3fd7aa64/????> <=====
c: 8c820078 lw v0,120(a0) <=====
Code; c0071838 <END_OF_CODE+3fd7aa68/????>
10: 00a08021 move s0,a1
Code; c007183c <END_OF_CODE+3fd7aa6c/????>
14: 30420200 andi v0,v0,0x200
Code; c0071840 <END_OF_CODE+3fd7aa70/????>
18: 1440009f bnez v0,298 <_PC+0x298>
Code; c0071844 <END_OF_CODE+3fd7aa74/????>
1c: 8cb10160 lw s1,352(a1)
Code; c0071848 <END_OF_CODE+3fd7aa78/????>
20: 8c820010 lw v0,16(a0)

Kernel panic - not syncing: Fatal exception in interrupt

1 error issued. Results may not be reliable.



--
Tomasz Chmielewski
http://wpkg.org

2008-08-06 20:48:04

by Christian Lamparter

[permalink] [raw]
Subject: Re: kernel panic on p54pci insertion on mipsel

On Wednesday 06 August 2008 22:28:32 Tomasz Chmielewski wrote:
>
> >>RA; 8004cc30 <handle_IRQ_event+64/d4>
> >>$12; 802e0000 <invalid_pte_table+0/1000>
> >>$14; 802e4588 <per_cpu__runqueues+30/410>
> >>$31; 8004cc30 <handle_IRQ_event+64/d4>
> >>
> >>PC; c0071834 <END_OF_CODE+3fd7aa64/????> <=====
>
> Trace; 8018405c <usb_hcd_irq+68/150>
> Trace; 8001d2bc <try_to_wake_up+78/c8>
> Trace; 8004cc30 <handle_IRQ_event+64/d4>
> Trace; 8004e0dc <handle_percpu_irq+54/ac>
> Trace; 80002ca4 <ret_from_irq+0/4>
> Trace; 8001c310 <__wake_up_common+54/bc>
> Trace; 80001e54 <plat_irq_dispatch+1ac/1d8>
> Trace; 80002ca4 <ret_from_irq+0/4>
> Trace; 80125850 <vscnprintf+14/30>
> Trace; c0070c00 <END_OF_CODE+3fd79e30/????>
> Trace; c0070c98 <END_OF_CODE+3fd79ec8/????>
> Trace; c007118c <END_OF_CODE+3fd7a3bc/????>
>
> Code; c0071828 <END_OF_CODE+3fd7aa58/????>
> 00000000 <_PC>:
> Code; c0071828 <END_OF_CODE+3fd7aa58/????>
> 0: 8ca40150 lw a0,336(a1)
> Code; c007182c <END_OF_CODE+3fd7aa5c/????>
> 4: 24020001 li v0,1
> Code; c0071830 <END_OF_CODE+3fd7aa60/????>
> 8: afa20010 sw v0,16(sp)
> Code; c0071834 <END_OF_CODE+3fd7aa64/????> <=====
> c: 8c820078 lw v0,120(a0) <=====
> Code; c0071838 <END_OF_CODE+3fd7aa68/????>
> 10: 00a08021 move s0,a1
> Code; c007183c <END_OF_CODE+3fd7aa6c/????>
> 14: 30420200 andi v0,v0,0x200
> Code; c0071840 <END_OF_CODE+3fd7aa70/????>
> 18: 1440009f bnez v0,298 <_PC+0x298>
> Code; c0071844 <END_OF_CODE+3fd7aa74/????>
> 1c: 8cb10160 lw s1,352(a1)
> Code; c0071848 <END_OF_CODE+3fd7aa78/????>
> 20: 8c820010 lw v0,16(a0)
>
> Kernel panic - not syncing: Fatal exception in interrupt
>

Ouch?! Are you sure your hardware isn't damaged?
Can you please try another wifi card in your mips,
or "test" the wifi card in a x86?

Regards,
Chr