Atheros AR9280 testing, settings, craziness, success, YMMV



  • I picked up a bunch of AR9280 based mini-pcie cards on eBay (hint, search for FCC IDs and buy them for less than $7 used).

    After playing around I have finally been able to get some good performance numbers out of these cards with testing done in N, and pure A.

    DISCLAIMER!!!
    This might well break your toys, so note your original settings and be careful.  I'm still looking at latency issues, even though throughput was the ultimate goal.

    I am using these settings on an asymmetric connection from Optimum/Cablevision on Eastern Long Island (NY), and I seen to be able to match or come close to wire speed for this hardware, and saturate the connection over wireless using both 802.11A and 802.11N.

    Running speed tests on speedof.me I noticed that connections across the wireless card tended to stutter, and I intuited that there was an issue with the send and receive buffers.

    sysctl -a hw.ath dumps the parameters that may be tweaked for the AR9280.  Some tweaks below relate to the AR9280 stuck beacon issue.

    Here are the settings I'm using:

    hw.ath.longcal: 30 (custom)
    hw.ath.shortcal: 100 (default)
    hw.ath.resetcal: 1200 (default)
    hw.ath.anical: 100 (default)
    hw.ath.rxbuf: 2048 (custom)
    hw.ath.txbuf: 896 (custom)
    hw.ath.txbuf_mgmt: 80 (custom)
    hw.ath.bstuck: 16 (custom)

    I also played with tcpinflight, and its relevant upper and lower limits, but I'm not sure it makes a difference or even works in FreeBSD 10.

    (system tunables)
    net.inet.tcp.inflight.enable #Enable TCP Inflight mode#: 1
    net.inet.tcp.inflight.max #recommended is 1073725440 default in no entry#: 1073725440
    net.inet.tcp.inflight.min  #recommended is 6144 default is no entry#: 3584

    *The last tweak was setting:
    net.inet.tcp.experimental.initcwnd10: 1

    All of the non-standard settings are now entered as custom entries in System->Advanced->System_Tunables

    Research on these toggles is left as an exercise for the reader.

    If your connection is symmetric, or less lopsided than mine (~18+M-down/~5+M-up), you might try raising the value for hw.ath.txbuf, and hw.ath.txbuf_mgmt (which I expect is the buffer for management beacons).  I just tested buffer values moving up from the default settings in increments divisible by 16.

    I have attached a sterile PNG of a representative run from my Macbook Pro connected via 5GHz 802.11n on channel 153.

    I hope this helps someone out.

    Cheers,
    Bennett

    [HARDWARE: HP-T5730 1G Ram, 1G Flash, upgraded from a Sempron to an AMD Athlon X2 Dual-Core Mobile L310 - AMML310HAX5DM.  WAN NIC is the onboard bge0 interface.  LAN NIC is a Trendnet TU2-ET100 which uses the axe driver and presents as ue0. WIFI: Hon Hai/ HP AR9280 AR5BXB92 MAC: 00:24:2b:XX:XX:XX.  SOFTWARE: nanobsd (1g)/2.2.2-RELEASE (amd64)/built on Mon Apr 13 20:10:22 CDT 2015/FreeBSD 10.1-RELEASE-p9.]



  • Thanks for this. I just ordered one of these cards for my PFsense rig the other day before I saw your thread. I'll give your settings a try when it arrives. :)



  • I am using an AR9227 based card with your rxbuf and txbuf settings and can confirm a noticeable throughput increase. I am experiencing other issues with the AR9227 chipset in hostap mode, but I'll be doing a writeup on that in another thread soon. Thank you for doing this research for the community!