On 11/3/09, PseudoCylon <moonlightakkiy_at_yahoo.ca> wrote: > Hi, > > I'm porting a wireless usb driver (if_run) to freebsd current, and I got > stuck. Once I "ifconfig wlan0 wepkey 1:0x... weptxkey 1" I cannot call > usbd_do_request() any more. Even ifconfig didn't exit. Chipset supports h/w > en/decryption, so cannot write keys on chip. (It works without encryption, > by the way.) > > So, I tried the same thing on another device, linksys wusb54gc with if_rum. > It worked fine, but about 3 to 4 min later. (Just left it alone.) It started > giving error > rum0: could not multi read MAC register: USB_ERR_TIMEOUT and > rum0: device timeout > when ifconfig wlan0 down, > rum0: could not multi write MAC register: USB_ERR_TIMEOUT > which means failed on usbd_do_request() (This could be totally different > issue.) I get this one multiple times after card got detached but vap was not manually destroyed. Recently I did not used if_rum more that 5 min I think(maybe in AP mode when I was testing hidden ssid ...) > Any ideas, patches, or walkaround? Make sure how locks are handled between net80211, usb and driver itself. > More info > #uname -a > FreeBSD 9.0-CURRENT FreeBSD 9.0-CURRENT #1 r198150M: Fri Oct 16 22:44:08 > UTC 2009 amd64 > > ddb trace output 20+ minutes after "ifconfig wepkey" (using if_run) > Tracing command ifconfig pid 1586 tid 100159 td 0xffffff000b3d3a80 > sched_switch() at sched_switch+0x180 > mi_switch() at mi_switch+0x21d > sleepq_switch() at sleepq_switch+0x123 > sleepq_wait() at sleepq_wait+0x4d > _sleep() at _sleep+0x357 > taskqueue_drain() at taskqueue_drain+0xc2 > ieee80211_waitfor_parent() at ieee80211_waitfor_parent+0x3e > ieee80211_ioctl() at ieee80211_ioctl+0x162 > ifioctl() at ifioctl+0xde4 > kern_ioctl() at kern_ioctl+0xc5 > ioctl() at ioctl+0xfd > syscall() at syscall+0x1af > Xfast_syscall() at Xfast_syscall+0xe1 > > Also, sleep mutex became spin mutex. I get a panic > panic: mtx_lock of spin mutex(null) > It works fine before ifconfig wepkey. It is hard to tell without code example but wepkey works fine with if_rum last time I tried, note that if_rum have done encryption in software mode.Received on Tue Nov 03 2009 - 11:08:49 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:57 UTC