From: Joerg Dorchain (joerg_at_dorchain.net)
Date: 2002-07-25 17:51:59 UTC
On Thu, Jul 25, 2002 at 07:12:18PM +0300, Jouni Malinen wrote:
> I added a cleaned up version of your patch to Host AP driver (CVS
> snapshot available from http://hostap.epitest.fi/). I used 1 ms delay
> (like the other delays in hostap_plx.o) between COR write and read, so
> let's see if it works or not.. In addition, I modified cor_sreset so
> that it should be able to reset the card also with TMD7160. If anyone
> with such a card tests the driver, I would certainly like to hear
> whether this works or not. I would like to hear whether the driver
> initializes the card correctly and whether COR sreset ('iwpriv wlan0
> reset 1') works.
When checking stuff out from cvs, the cvs checkout hangs after U hostap/utils/prism2_srec.c. Nevertheless the cvs modules looks complete.
Back to topic:
Here are the kernel messages from inserting the drivers:
hostap_crypt: registered algorithm 'NULL' hostap_plx: hostap_plx.c 0.0.0 CVS (SSH Communications Security Corp, Jouni Malinen) hostap_plx: (c) SSH Communications Security Corp <jkm_at_ssh.com>PCI: Found IRQ 11 for device 00:0c.0
hostap_plx: Registered netdevice wlan0 prism2_hw_init() prism2_hw_config: initialized in 5628 iterations wlan0: NIC: id=0x8003 v1.0.0 wlan0: PRI: id=0x15 v0.3.0
At least, the card works principally.
The iwpriv command gives:
# iwpriv wlan0 reset 1
Segmentation fault
Additionally, there are some kernel messages:
wlan0: manual reset request(1)
hostap_plx: wlan0: resetting card
hostap_plx: Doing reset via direct COR access.
Unable to handle kernel paging request at virtual address 0000b800
printing eip:
d9856562
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<d9856562>] Not tainted
EFLAGS: 00010202
eax: 0000b800 ebx: 00000045 ecx: d1d70701 edx: 00000321
esi: d5cb9400 edi: cef33f6c ebp: d60cce00 esp: cef33dd4
ds: 0018 es: 0018 ss: 0018
Process iwpriv (pid: 1346, stackpage=cef33000)
Stack: d5cb9400 d60cce00 d985265e d5cb9400 d98594c0 d60cce00 00000005
00000005
d5cb9400 d60cce00 d98d6cf1 d60cce00 d60cce00 00000001 cef33f6c cef33f5c
cef33f5c cef33f7c d98d76b8 d60cce00 cef33f6c 33323130 37363534
62613938
Call Trace: [<d985265e>] [<d98594c0>] [<d98d6cf1>] [<d98d76b8>]
[<c012914c>]
[<c012917a>] [<c012ef7c>] [<c0129090>] [<c0125918>] [<c0125ac8>] [<c01b86be>]
[<c01b2cd9>] [<c01aaf9c>] [<c0141496>] [<c01088b3>]
Code: 88 18 c7 44 24 0c 70 85 41 00 5b 5e e9 8d 3f 99 e6 90 8b 96
This run through ksymops gives:
ksymoops 2.4.6 on i586 2.4.19-pre10. Options used
-v /usr/src/linux/vmlinux (specified) -k /proc/ksyms (default) -l /proc/modules (default) -o /lib/modules/2.4.19-pre10/ (default) -m /System.map (specified)
Unable to handle kernel paging request at virtual address 0000b800
d9856562
*pde = 00000000
Oops: 0002
CPU: 0
EIP: 0010:[<d9856562>] Not tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010202
eax: 0000b800 ebx: 00000045 ecx: d1d70701 edx: 00000321
esi: d5cb9400 edi: cef33f6c ebp: d60cce00 esp: cef33dd4
ds: 0018 es: 0018 ss: 0018
Process iwpriv (pid: 1346, stackpage=cef33000)
Stack: d5cb9400 d60cce00 d985265e d5cb9400 d98594c0 d60cce00 00000005 00000005
d5cb9400 d60cce00 d98d6cf1 d60cce00 d60cce00 00000001 cef33f6c cef33f5c cef33f5c cef33f7c d98d76b8 d60cce00 cef33f6c 33323130 37363534 62613938Call Trace: [<d985265e>] [<d98594c0>] [<d98d6cf1>] [<d98d76b8>] [<c012914c>]
[<c012917a>] [<c012ef7c>] [<c0129090>] [<c0125918>] [<c0125ac8>] [<c01b86be>] [<c01b2cd9>] [<c01aaf9c>] [<c0141496>] [<c01088b3>] Code: 88 18 c7 44 24 0c 70 85 41 00 5b 5e e9 8d 3f 99 e6 90 8b 96
>>EIP; d9856562 <[hostap_plx]prism2_plx_cor_sreset+52/a8> <=====
>>ecx; d1d70701 <_end+11ad4015/1958b914> >>esi; d5cb9400 <_end+15a1cd14/1958b914> >>edi; cef33f6c <_end+ec97880/1958b914> >>ebp; d60cce00 <_end+15e30714/1958b914> >>esp; cef33dd4 <_end+ec976e8/1958b914> Trace; d985265e <[hostap_plx]prism2_hw_reset+ae/d8> Trace; d98594c0 <[hostap_plx].text.end+2869/2d39> Trace; d98d6cf1 <[hostap]prism2_ioctl_priv_reset+6d/ac> Trace; d98d76b8 <[hostap]hostap_ioctl+1a4/5b4> Trace; c012914c <filemap_nopage+bc/210> Trace; c012917a <filemap_nopage+ea/210> Trace; c012ef7c <__alloc_pages+3c/190> Trace; c0129090 <filemap_nopage+0/210> Trace; c0125918 <do_no_page+48/1a0> Trace; c0125ac8 <handle_mm_fault+58/c0> Trace; c01b86be <wireless_process_ioctl+56e/590> Trace; c01b2cd9 <dev_ioctl+329/390> Trace; c01aaf9c <sock_ioctl+1c/20>
Code; d9856562 <[hostap_plx]prism2_plx_cor_sreset+52/a8>
00000000 <_EIP>:
Code; d9856562 <[hostap_plx]prism2_plx_cor_sreset+52/a8> <=====
0: 88 18 mov %bl,(%eax) <===== Code; d9856564 <[hostap_plx]prism2_plx_cor_sreset+54/a8> 2: c7 44 24 0c 70 85 41 movl $0x418570,0xc(%esp,1)Code; d985656b <[hostap_plx]prism2_plx_cor_sreset+5b/a8>
9: 00
Code; d985656c <[hostap_plx]prism2_plx_cor_sreset+5c/a8>
HTH, Joerg