ath(4) problems after sam_wifi merge

Sam Leffler sam at errno.com
Wed Jun 20 04:46:14 UTC 2007


Rui Paulo wrote:
> At Mon, 18 Jun 2007 19:16:18 +0800,
> Sepherosa Ziehau wrote:
>> On 6/18/07, Rui Paulo <rpaulo at fnop.net> wrote:
>>> At Mon, 18 Jun 2007 06:42:58 +1200,
>>> Andrew Thompson wrote:
>>>> On Sun, Jun 17, 2007 at 06:42:38PM +0100, Rui Paulo wrote:
>>>>> Hi,
>>>>> I'm having some problems with ath after the sam_wifi branch merge.
>>>>> Basically I have all the necessary modules loaded, but scanning is not
>>>>> working well.
>>>>>
>>>>> % kldstat | egrep wlan\|ath
>>>>>  2    1 0xc097a000 12450    if_ath.ko
>>>>>  3    3 0xc098d000 2ec38    ath_hal.ko
>>>>>  4    8 0xc09bc000 2b65c    wlan.ko
>>>>>  5    2 0xc09e8000 43e8     ath_rate.ko
>>>>> 20    1 0xc0af7000 4480     wlan_tkip.ko
>>>>> 21    1 0xc0afc000 2fec     wlan_wep.ko
>>>>> 22    1 0xc0aff000 7100     wlan_ccmp.ko
>>>>> 23    1 0xc0b07000 1920     wlan_scan_ap.ko
>>>>> 24    1 0xc0b09000 552c     wlan_scan_sta.ko
>>>>>
>>>>> Is anything missing?
>>>>>
>>>>> My card is:
>>>>> ath0: <Atheros 5424/2424> mem 0x90100000-0x9010ffff irq 17 at device 0.0 on pci2
>>>>> ath0: [ITHREAD]
>>>>> ath0: using obsoleted if_watchdog interface
>>>>> ath0: mac 10.3 phy 6.1 radio 10.2
>>>>>
>>>>> ath0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
>>>>>         ether 00:17:f2:44:ba:50
>>>>>         media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
>>>>>         status: no carrier
>>>>>         ssid "" channel 1 (2412 Mhz 11g)
>>>>>         authmode OPEN privacy OFF txpowmax 34 bmiss 7 scanvalid 60 bgscan
>>>>>         bgscanintvl 300 bgscanidle 250 roam:rssi11g 14 roam:rate11g 5
>>>>>         protmode CTS burst bintval 100
>>>>>
>>>>> # ./wlandebug
>>>>> net.wlan.0.debug: 0xffffff<assoc,auth,scan,output,state,power,dot1x,dot1xsm,radius,raddump,radkeys,wpa,acl,wme,superg,doth,inact,roam,rate>
>>>>>
>>>>> After ifconfig ath0 up, the scan goes as:
>>>>>
>>>>> ath0: ieee80211_newstate: INIT -> SCAN
>>>>> ath0: ieee80211_check_scan: active scan, duration 2147483647, desired mode auto, flush
>>>>> ath0: sta_pick_bss: no scan candidate
>>>>> ath0: ieee80211_start_scan: active scan, duration 2147483647, desired mode auto, flush
>>>>> ath0: scan set 1g dwell min 200 max 2000
>>>>> ath0: scan_next: chan   1g ->   1g [active, dwell min 200 max 2000]
>>>> Does your card have any channels? show the output of 'ifconfig ath0 list
>>>> channels'
>>> % ifconfig ath0 list channels
>>> Channel   1 : 2412  Mhz 11g          Channel  60 : 5300* Mhz 11a
>>> Channel   2 : 2417  Mhz 11g          Channel  64 : 5320* Mhz 11a
>>> Channel   3 : 2422  Mhz 11g          Channel 100 : 5500* Mhz 11a
>>> Channel   4 : 2427  Mhz 11g          Channel 104 : 5520* Mhz 11a
>>> Channel   5 : 2432  Mhz 11g          Channel 108 : 5540* Mhz 11a
>>> Channel   6 : 2437* Mhz 11g Turbo    Channel 112 : 5560* Mhz 11a
>>> Channel   7 : 2442  Mhz 11g          Channel 116 : 5580* Mhz 11a
>>> Channel   8 : 2447  Mhz 11g          Channel 120 : 5600* Mhz 11a
>>> Channel   9 : 2452  Mhz 11g          Channel 124 : 5620* Mhz 11a
>>> Channel  10 : 2457  Mhz 11g          Channel 128 : 5640* Mhz 11a
>>> Channel  11 : 2462  Mhz 11g          Channel 132 : 5660* Mhz 11a
>>> Channel  12 : 2467* Mhz 11g          Channel 136 : 5680* Mhz 11a
>>> Channel  13 : 2472* Mhz 11g          Channel 140 : 5700* Mhz 11a
>>> Channel  36 : 5180* Mhz 11a          Channel 149 : 5745* Mhz 11a
>>> Channel  40 : 5200* Mhz 11a          Channel 153 : 5765* Mhz 11a
>>> Channel  44 : 5220* Mhz 11a          Channel 157 : 5785* Mhz 11a
>>> Channel  48 : 5240* Mhz 11a          Channel 161 : 5805* Mhz 11a
>>> Channel  52 : 5260* Mhz 11a          Channel 165 : 5825* Mhz 11a
>>> Channel  56 : 5280* Mhz 11a
>>>
>>>
>>>> Also, are you using wpa_supplicant or passing any other options to ath
>>>> other than just up?
>>> No.
>> Try this:
>> ifconfig ath0 channel -
>> ifconfig ath0 up scan
> 
> It takes a lot of time to perform a scan. And I never let it finish
> because after 5 minutes, the ithread consumes almost all the CPU:
> 
>    24 root          1 -68    -     0K     8K CPU1   1   1:27 92.97% irq17: ath0

I don't see the log from this scan.  The previous log indicated your
scan set was a single channel.  The cpu time accumulated by the ithread
indicates ath is receiving a lot of interrupts which could be caused by
a lot of things but I'm guessing it's MIB overflow interrupts which are
caused by phy errors (athstats will say for sure).

I believe the part you're using is the new 11n part and you are using
the experimental hal sitting in my home directory.  This hal has known
issues with supporting the 11n part including not tuning the radio
parameters in response to phy errors (which would explain a high MIB
overflow interrupt rate).

	Sam


More information about the freebsd-current mailing list