ath0: stuck beacon; resetting (bmiss count 4)

Graham Menhennitt graham at menhennitt.com.au
Fri Jul 17 06:57:41 UTC 2009


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?

Thanks for any help,
  Graham



More information about the freebsd-stable mailing list