ath0: stuck beacon; resetting (bmiss count 4)

Graham Menhennitt graham at menhennitt.com.au
Sat Sep 26 21:57:43 UTC 2009


Back in July, I asked the following on this list. I didn't get any replies.

I was running 7.2 at the time and the messages were coming up every
couple of minutes. Now I've upgraded to 8-RC1 and the same message is
coming out on the console every few seconds. The miss count limit is now
a sysctl tunable. I've increased it to 20 which slows the messages down
but they still happen. I then increased it to 2000 which has stopped
them completely. Although I did get a few "ath0: device timeout" messages.

It seems to work correctly as a WPA2 AP.

Below is the contents of my hostapd.conf and the relevant lines from
rc.conf. Is this something to worry about? Can I improve it any way?

Thanks for any help,
  Graham

hostapd.conf:
interface=wlan0
debug=1
ctrl_interface=/var/run/hostapd
ctrl_interface_group=wheel
ssid=Menhennitt
wpa=2
wpa_passphrase=xxxxx
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP

rc.conf:
ifconfig_wlan0="inet xx.xx.xx.xx/25"
wlans_ath0="wlan0"
create_args_wlan0="wlanmode hostap mode 11g"
hostapd_enable="YES"

Graham Menhennitt wrote:
> I'me getting the message "ath0: stuck beacon; resetting (bmiss count 4)"
> logged to syslog every so often. I have a Soekris net5501 with a Wistron
> CM9  mini-PCI wireless card. I'm running FreeBSD 7.2-stable and "dmesg |
> grep ath0" gives:
>
> ath0: <Atheros 5212> mem 0xa0010000-0xa001ffff irq 15 at device 17.0 on pci0
> ath0: [ITHREAD]
> ath0: WARNING: using obsoleted if_watchdog interface
> ath0: Ethernet address: 00:0b:6b:36:99:93
> ath0: mac 5.9 phy 4.3 radio 3.6
> ath0: ath_chan_set: unable to reset channel 6 (2437 Mhz, flags 0x490 hal
> flags 0x150), hal status 12
>
> I've seen Sam Leffler's reply to a previous question about the same log
> message at
> http://lists.freebsd.org/pipermail/freebsd-current/2009-March/004196.html.
>
> Looking at the source code of if_ath.c in stable:
>
> if (sc->sc_bmisscount > 3)        /* NB: 3 is a guess */
>             taskqueue_enqueue(sc->sc_tq, &sc->sc_bstucktask);\
>
> Now, in head the 3 has been made a variable but it doesn't seem to be
> able to be tuned in any reasonable way.
>
> I've tied increasing it to 20 and it doesn't seem to have any obvious
> bad effects.
>
> So, my questions:
> - is 3 really a good guess?
> - can it be increased safely?
> - what sort of values should I try?
> - are there any consequences of increasing it?
> - could it be made a sysctl tunable?
>   



More information about the freebsd-stable mailing list