Date: Wed, 27 Aug 2008 21:40:03 GMT From: Dimitry Andric <dimitry@andric.com> To: freebsd-net@FreeBSD.org Subject: Re: kern/125502: [ral] ifconfig ral0 scan produces no output unless in shared mode Message-ID: <200808272140.m7RLe33F076505@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/125502; it has been noted by GNATS. From: Dimitry Andric <dimitry@andric.com> To: bug-followup@FreeBSD.org, chelton30@gmail.com Cc: Subject: Re: kern/125502: [ral] ifconfig ral0 scan produces no output unless in shared mode Date: Wed, 27 Aug 2008 23:36:46 +0200 The ral I've got here on RELENG_7 is a mini-PCI card: ral0: <Ralink Technology RT2561S> mem 0xdfef8000-0xdfefffff irq 18 at device 2.0 on pci2 ral0: MAC/BBP RT2561C, RF RT5225 ral0: Ethernet address: 00:12:0e:61:48:e4 ral0: [ITHREAD] I've got exactly the same as the original submitter: "ifconfig ral0 scan" keeps busy forever, and never returns, if authmode is open. When I set authmode to shared, it scans within a few seconds, usually. When turning on +scan+auth+debug+assoc, I get the following for authmode shared: ral0: scan_next: chan 2g -> 1g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 1 ral0: scan_next: chan 1g -> 6g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 6 ral0: scan_next: chan 6g -> 11g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 11 ral0: scan_next: chan 11g -> 7g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 7 ral0: scan_next: chan 7g -> 13g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 13 ral0: scan_next: chan 13g -> 52a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 52 ral0: scan_next: chan 52a -> 56a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 56 ral0: scan_next: chan 56a -> 60a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 60 ral0: scan_next: chan 60a -> 64a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 64 ral0: scan_next: chan 64a -> 36a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 36 ral0: scan_next: chan 36a -> 40a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 40 ral0: scan_next: chan 40a -> 44a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 44 ral0: ieee80211_start_scan: active scan already in progress ral0: scan_next: chan 44a -> 48a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 48 ral0: scan_next: chan 48a -> 2g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 2 ral0: received probe_resp from 00:90:4c:60:04:00 rssi 27 [00:90:4c:60:04:00] new probe_resp on chan 2 (bss chan 2) "slackernet" [00:90:4c:60:04:00] caps 0x411 bintval 100 erp 0x0 ral0: ieee80211_add_scan: chan 2g min dwell met (8236357 > 8236355) ral0: received beacon from 00:90:4c:60:04:00 rssi 27 [00:90:4c:60:04:00] new beacon on chan 2 (bss chan 2) "slackernet" [00:90:4c:60:04:00] caps 0x411 bintval 100 erp 0x0 ral0: scan_next: chan 2g -> 3g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 3 ral0: scan_next: chan 3g -> 4g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 4 ral0: received probe_resp from 00:1b:2f:de:86:1e rssi 17 ral0: received beacon from 00:1b:2f:de:86:1e rssi 17 ral0: scan_next: chan 4g -> 5g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 5 ral0: received probe_resp from 00:1b:2f:de:86:1e rssi 15 [00:1b:2f:de:86:1e] new probe_resp on chan 5 (bss chan 5) "pipi" [00:1b:2f:de:86:1e] caps 0x431 bintval 100 erp 0x0 ral0: ieee80211_add_scan: chan 5g min dwell met (8236845 > 8236843) ral0: received beacon from 00:1b:2f:de:86:1e rssi 15 [00:1b:2f:de:86:1e] new beacon on chan 5 (bss chan 5) "pipi" [00:1b:2f:de:86:1e] caps 0x431 bintval 100 erp 0x0 ral0: scan_next: chan 5g -> 8g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 8 ral0: scan_next: chan 8g -> 9g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 9 ral0: scan_next: chan 9g -> 10g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 10 ral0: scan_next: chan 10g -> 12g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 12 ral0: scan_next: chan 12g -> 14g [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 14 ral0: scan_next: chan 14g -> 149a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 149 ral0: scan_next: chan 149a -> 153a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 153 ral0: scan_next: chan 153a -> 157a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 157 ral0: scan_next: chan 157a -> 161a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 161 ral0: scan_next: chan 161a -> 100a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 100 ral0: scan_next: chan 100a -> 104a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 104 ral0: scan_next: chan 104a -> 108a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 108 ral0: scan_next: chan 108a -> 112a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 112 ral0: scan_next: chan 112a -> 116a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 116 ral0: scan_next: chan 116a -> 120a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 120 ral0: scan_next: chan 120a -> 124a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 124 ral0: scan_next: chan 124a -> 128a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 128 ral0: scan_next: chan 128a -> 132a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 132 ral0: scan_next: chan 132a -> 136a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 136 ral0: scan_next: chan 136a -> 140a [active, dwell min 20 max 200] ral0: [ff:ff:ff:ff:ff:ff] send probe req on channel 140 ral0: macaddr bssid chan rssi rate flag wep essid - 00:90:4c:60:04:00 00:90:4cral0: received beacon from 00:90:4c:60:04:00 rssi 27 [00:90:4c:60:04:00] new beacon on chan 2 (bss chan 2) "slackernet" [00:90:4c:60:04:00] caps 0x411 bintval 100 erp 0x0 :60:04:00 2 30 54M ess wep! "slackernet" - 00:1b:2f:de:86:1e 00:1b:2f:de:86:1e 5 16 54M ess wep! "pipi" ral0: ieee80211_add_scan: chan 2g min dwell met (8241192 > 8240968) ral0: scan_next: done, restart [ticks 8241200, dwell min 20 scanend 2155701896] ...and this in an endless loop, of course. But the ifconfig *does* return. When authmode is open, I get exactly the same messages, but ifconfig doesn't return. The last thing it appears to do, according to ktrace, is to read from a socket: ... 2544 ifconfig CALL __sysctl(0xbfbfe2c0,0x6,0,0xbfbfe2d8,0,0) 2544 ifconfig RET __sysctl 0 2544 ifconfig CALL __sysctl(0xbfbfe2c0,0x6,0x8102000,0xbfbfe2d8,0,0) 2544 ifconfig RET __sysctl 0 2544 ifconfig CALL socket(PF_INET,SOCK_DGRAM,IPPROTO_IP) 2544 ifconfig RET socket 3 2544 ifconfig CALL socket(PF_ROUTE,SOCK_RAW,0) 2544 ifconfig RET socket 4 2544 ifconfig CALL ioctl(0x3,SIOCS80211,0xbfbfe290) 2544 ifconfig RET ioctl 0 2544 ifconfig CALL read(0x4,0xbfbfda90,0x800) and here it hangs, until interrupted.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200808272140.m7RLe33F076505>