Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Kernel: ath0: stuck beacon; resetting (bmiss count 4)

    Scheduled Pinned Locked Moved 2.0-RC Snapshot Feedback and Problems - RETIRED
    50 Posts 12 Posters 49.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bartgrefte
      last edited by

      Hmm…

      Well, I managed to compile a newer version of the driver using the source, but now I need to figure out how to get pfSense to (try to) use that one instead of the one already in the kernel. Google explained how to disable and load drivers, but not how to "override" one already in the kernel without having to rebuild that.

      1 Reply Last reply Reply Quote 0
      • B
        bartgrefte
        last edited by

        According to someone on the FreeBSD forum the only way to use the new driver is to completely rebuild/recompile the kernel.

        Already found this: http://devwiki.pfsense.org/DevelopersBootStrapAndDevIso , but what if I only want the kernel? Any howto's on that?
        Someone already asked that but did not get response: http://forum.pfsense.org/index.php/topic,26188.msg163743.html#msg163743

        1 Reply Last reply Reply Quote 0
        • B
          bartgrefte
          last edited by

          I modified the make.conf to exclude the driver and created a custom pfSense….. The driver is still in there. >:(

          1 Reply Last reply Reply Quote 0
          • jimpJ
            jimp Rebel Alliance Developer Netgate
            last edited by

            http://lists.freebsd.org/pipermail/freebsd-stable/2011-March/061772.html

            Mostly the stuck beacon appears to be interference. Try a different channel. Driver isn't going to help that.

            Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

            Need help fast? Netgate Global Support!

            Do not Chat/PM for help!

            1 Reply Last reply Reply Quote 0
            • B
              bartgrefte
              last edited by

              Already tried that, all 13 channels are busy…
              That's why I would like to try an updated driver, hopefully it is a bit more stable than the one FreeBSD 8.1/pfSense 2 has got.

              Or at least the option to try it and help testing it for Adrian (who is working on it), don't have that option now because there does not seem to be a way to remove the driver already in the kernel.

              1 Reply Last reply Reply Quote 0
              • jimpJ
                jimp Rebel Alliance Developer Netgate
                last edited by

                Not much in that message implies that the stuck beacon message will really improve with a different driver. He talks about some features that haven't been ported yet, and that some chips may not improve at all (or may get worse) with a new driver.

                That said, if you load a driver's .ko file from /boot/loader.conf.local it can override the in-kernel version of the driver.

                But if you want to try the debug kernel options mentioned in that message, you'll have to run off a whole custom kernel (may as well make a custom iso/update) and the builder works fine for me. I just setup another builder today and had no trouble getting through the ports and such.

                Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                Need help fast? Netgate Global Support!

                Do not Chat/PM for help!

                1 Reply Last reply Reply Quote 0
                • W
                  wallabybob
                  last edited by

                  Other people have reported in these forums that they have successfully used a driver in a loadable module to override the driver in the kernel. I haven't tried it myself so can't verify this from personal experience.

                  If you care to follow this path you will need to load the module form of the driver at boot time by adding a line like if_ath_load="YES" to /boot/loader.conf.local

                  I would also suggest you add a printf() call to the attach function in your driver (for example, printf("bartgrefte's ath attach function\n");) so you can be sure the system is using your driver and not the driver in the kernel.

                  1 Reply Last reply Reply Quote 0
                  • B
                    bartgrefte
                    last edited by

                    Hmm, okay.
                    Read about that, did not new that method could override a driver integrated in the kernel

                    Well, if the MODULES_OVERRIDE option jimp mentioned in a different topic does not work, I'll try that :)

                    1 Reply Last reply Reply Quote 0
                    • B
                      bartgrefte
                      last edited by

                      @wallabybob:

                      Other people have reported in these forums that they have successfully used a driver in a loadable module to override the driver in the kernel. I haven't tried it myself so can't verify this from personal experience.
                      **If you care to follow this path you will need to load the module form of the driver at boot time by adding a line like if_ath_load="YES" to /boot/loader.conf.local

                      I would also suggest you add a printf() call to the attach function in your driver (for example, printf("bartgrefte's ath attach function\n");) so you can be sure the system is using your driver and not the driver in the kernel.**

                      Tried that, can't tell if it worked. Not seeing that sentence pop up anywhere in dmesg.
                      Note: loader.conf.local did not exist, so I created one with Vi.

                      offtopic: Why does pfSense not have Nano instead of Vi? Nano is easier to use.

                      1 Reply Last reply Reply Quote 0
                      • jimpJ
                        jimp Rebel Alliance Developer Netgate
                        last edited by

                        vi is better.  ;D

                        ee is there if you need an easy editor.

                        Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                        Need help fast? Netgate Global Support!

                        Do not Chat/PM for help!

                        1 Reply Last reply Reply Quote 0
                        • B
                          bartgrefte
                          last edited by

                          Matter of personal opinion I guess :P
                          I kinda prefer Nano, because with that you don't have to look up the commands, they are on the screen  ;D

                          1 Reply Last reply Reply Quote 0
                          • jimpJ
                            jimp Rebel Alliance Developer Netgate
                            last edited by

                            ee is the same way, it wastes a lot of screen area on listing commands and menus and such. Me, I'd rather be editing than looking at that. :-)

                            Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                            Need help fast? Netgate Global Support!

                            Do not Chat/PM for help!

                            1 Reply Last reply Reply Quote 0
                            • J
                              johbra
                              last edited by

                              I just want to share my experience with this problem. I was running PfSense 1.2.3 with a ath card and no problems. When i upgraded to "2.0-RC1 (i386) built on Sat Feb 26 15:30:26 EST 2011" wireless stopped working (with the same error).

                              The only setting i changed to get this working was channel (wireless channel).

                              1 Reply Last reply Reply Quote 0
                              • B
                                bartgrefte
                                last edited by

                                Changing the channel has worked for some people, but all channels are busy here and I have tried all of them without luck.

                                Right know I'm considering switching to a Linux based alternative for pfSense, hoping that the Linux equivalent of the Atheros driver does not contain this bug and because that one does (as far as I know) offer support for the N standard.

                                1 Reply Last reply Reply Quote 0
                                • F
                                  fthomasr
                                  last edited by

                                  I have the same issue: kernel: ath0: stuck beacon; resetting (bmiss count 4)

                                  Alix 6E1 board, .99H BIOS, Mikrotik r52h Atheros 5414 chipset card.

                                  On startup mine also reports it as this:
                                  ath0: <atheros 5413="">mem 0xe0080000-0xe008ffff irq 9 at device 12.0 on pci0
                                  ath0: [ITHREAD]
                                  ath0: AR5413 mac 10.5 RF5413 phy 6.1

                                  Which I thought might be significant.

                                  I'm trying the tunables suggested below as we speak to see if it gets better:

                                  @UrbanSk:

                                  Hi!
                                  I have had this for a while also.

                                  Try setting hw.ath.bstuck to 8 in system/advanced/system tunables (add new row).

                                  I also added hw.ath.longcal  and value 30.

                                  For me WiFi now works better.

                                  /UrbanSk</atheros>

                                  1 Reply Last reply Reply Quote 0
                                  • B
                                    bartgrefte
                                    last edited by

                                    Tunables? That setting is not present here, or is only present in pfSense 2?

                                    And to quote myself:
                                    @bartgrefte:

                                    Changing the channel has worked for some people, but all channels are busy here and I have tried all of them without luck.

                                    Right know I'm considering switching to a Linux based alternative for pfSense, hoping that the Linux equivalent of the Atheros driver does not contain this bug and because that one does (as far as I know) offer support for the N standard.

                                    I haven't been able to find a decent alternative for pfSense….

                                    1 Reply Last reply Reply Quote 0
                                    • stephenw10S
                                      stephenw10 Netgate Administrator
                                      last edited by

                                      The system tunables table is only present in the 2.0 GUI. You can still set that stuff manually though.
                                      My experience is that changing the channel works for a short time and then the stuck beacon messages start again. I am in an area of very high wifi density however and I'm sure people changing their channel or getting new hardware could account for that.

                                      I have found that selecting a seemingly empty channel does not necessarily help. E.g. right now I am using channel 1 without errors but there are 6 other APs shown under status>>wireless on that channel.

                                      It's also worth noting that I have never actually had a problem with wifi, just with hundreds of messages clogging the logs.

                                      I'll try setting the tunables. Edit: hw.ath.longcal already set to 30 (default)

                                      Steve

                                      1 Reply Last reply Reply Quote 0
                                      • F
                                        fthomasr
                                        last edited by

                                        So far in one day of testing the two tunable entries, the error has not returned. I'm going to observe it until Monday in the lab, however IMO at this point already it would have produced a new error so I think it's resolved.

                                        1 Reply Last reply Reply Quote 0
                                        • stephenw10S
                                          stephenw10 Netgate Administrator
                                          last edited by

                                          Good to hear.  :)
                                          Are we not just masking the problem though? It looks like hw.ath.bstuck just defines the number of beacons before an error is shown. I can't find a good description of the sysctls though.

                                          Steve

                                          Edit: From the source:

                                          
                                          static	int ath_bstuck_threshold = 4;		/* max missed beacons */
                                          SYSCTL_INT(_hw_ath, OID_AUTO, bstuck, CTLFLAG_RW, &ath_bstuck_threshold,
                                          	    0, "max missed beacon xmits before chip reset");
                                          
                                          
                                          /*
                                           * Reset the hardware after detecting beacons have stopped.
                                           */
                                          static void
                                          ath_bstuck_proc(void *arg, int pending)
                                          {
                                          	struct ath_softc *sc = arg;
                                          	struct ifnet *ifp = sc->sc_ifp;
                                          
                                          	if_printf(ifp, "stuck beacon; resetting (bmiss count %u)\n",
                                          		sc->sc_bmisscount);
                                          	sc->sc_stats.ast_bstuck++;
                                          	ath_reset(ifp);
                                          }
                                          

                                          By setting the value to 8 all we are doing is increasing the number of missed beacons before the hardware is reset. There shouldn't ever be any missed beacons, this is a symptom not a cause.

                                          1 Reply Last reply Reply Quote 0
                                          • B
                                            bartgrefte
                                            last edited by

                                            @stephenw10:

                                            The system tunables table is only present in the 2.0 GUI. You can still set that stuff manually though.
                                            My experience is that changing the channel works for a short time and then the stuck beacon messages start again. I am in an area of very high wifi density however and I'm sure people changing their channel or getting new hardware could account for that.

                                            I have found that selecting a seemingly empty channel does not necessarily help. E.g. right now I am using channel 1 without errors but there are 6 other APs shown under status>>wireless on that channel.

                                            It's also worth noting that I have never actually had a problem with wifi, just with hundreds of messages clogging the logs.

                                            I'll try setting the tunables. Edit: hw.ath.longcal already set to 30 (default)

                                            Steve

                                            Okay.
                                            Changing the channel still does not do anything here, lot's of errors no matter what setting and no access to my WLAN.
                                            But I haven't tried RC3 yet, maybe that will make a difference. But still miss support for 802.11n, so I'm continuing looking for a Linux based alternative for pfSense.

                                            I'm in a very high density area as well:

                                            This was a few months a go and I only ran inSSIDer while standing at the back of my house (didn't check the front), I am expecting a lot more networks if I run inSSIDer again right now. Partially because the local (tv-)cable internet provider is issuing cablemodems with build-in router and AP at the moment.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.