rt61 1.1.0 CVS 2007101220

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=4357

wilecoyote

13-10-2007 18:33:18

Hi,
I have a 2.6.20-16 kernel SMP, with ubuntu, and an rt61 1.1.0 CVS 2007101220 module installed.
I have experimented two types of errors, both freezing the system.
The first is generating a "Soft lockup detected on CPU#0" when trying to mount the interface, after receiveing some packets, but i haven't catch the full kernel output.. I have experimented the same problem on other system it seems to be an error calling time.h.

The second error happens when the interface is going down (I have made a script to shutdown the interface and reload the driver when network is not detected) so, after several shutdown of the interface, kernel crashes with this output
server kernel [ 860.041494] ------------[ cut here ]------------

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.041541] invalid opcode 0000 [#1]

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.041558] SMP

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.041921] CPU 0

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.041922] EIP 0060[<ecee7b12>] Not tainted VLI

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.041923] EFLAGS 00010282 (2.6.20-16-server #2)

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.041990] EIP is at LinkDown+0x382/0x390 [rt61]

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042010] eax ea429e94 ebx ea420000 ecx e8cfbb64 edx 00000078

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042033] esi ea42a193 edi ea42a1b5 ebp 00000000 esp e8e87e9c

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042055] ds 007b es 007b ss 0068

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042074] Process ifconfig (pid 8355, ti=e8e86000 task=dff9b580 task.ti=e8e86000)

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042097] Stack ebb74800 ea420000 00001003 ebb74800 ecede985 ebb74800 00001042 00001003

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042149] 00000000 c0286b04 ebb74800 c0285e45 e868778c e8687700 dfc8ed60 e8e87f10

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042200] c02cbfb1 ebb74800 c028725b e8e87f30 c027b1c0 e8e87f20 00000000 bfa262d8

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042252] Call Trace

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042282] [<ecede985>] rt61_close+0x15/0x100 [rt61]

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042312] [dev_close+84/112] dev_close+0x54/0x70

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042338] [dev_change_flags+85/288] dev_change_flags+0x55/0x120

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042363] [devinet_ioctl+1361/1728] devinet_ioctl+0x551/0x6c0

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042387] [dev_ifsioc+235/864] dev_ifsioc+0xeb/0x360

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042409] [sock_ioctl+0/528] sock_ioctl+0x0/0x210

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042442] [sock_ioctl+191/528] sock_ioctl+0xbf/0x210

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042464] [sock_ioctl+0/528] sock_ioctl+0x0/0x210

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042486] [do_ioctl+43/144] do_ioctl+0x2b/0x90

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042510] [vfs_ioctl+92/672] vfs_ioctl+0x5c/0x2a0

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042534] [sys_ioctl+114/144] sys_ioctl+0x72/0x90

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042558] [sysenter_past_esp+105/157] sysenter_past_esp+0x69/0x9d

Message from syslogd@server at Sat Oct 13 182659 2007 ...
server kernel [ 860.042588] =======================

I don't know if the two problems are related or are the same.
You can contact me for more tests whith this environment.

Thanks for your develpments on

wilecoyote

15-10-2007 09:09:16

After some investigation, the BUG seem to appear when calling the function del_timer_sync() on the function

static INT rt61_close(IN struct net_device *net_dev)

.......
// Stop Mlme state machine
del_timer_sync(&pAd->RfTuningTimer);
MlmeHalt(pAd);
......


If anybody has an idea on why this call is causing a soft lockup ???

Best regards,
wile coyote

amosml

16-10-2008 08:03:16

I had also encountered this bug. As a workaround I tried to "disconnect" between ifconfig and the wireless setup (iwconfig/iwpriv).

1. This means I removed/commented all the "wireless-*" statements from /etc/network/interfaces (leaving the rest of the wlan statements such as "address" etc.).

2. Created an /etc/network/if-up.d/mywireless
#! /bin/sh
iwconfig wlan0 ess MyWire ap any rate 54M
sleep 2
iwpriv wlan0 set AuthMode=WPAPSK
iwpriv wlan0 set WPAPSK=password
iwpriv wlan0 set EncrypType=TKIP

3. Now "ifdown wlan0" has nothing to do with iwconfig/iwpriv and this seems to workaround the bug.

Vern

23-10-2008 15:03:21

wileycoyote,

What happens if you use the latest CVS tarball?

If the problem still happens with that, then could you build and run with debug enabled and attach a gzipped copy of /var/log/debug to a post here?

Thanks,