Ath10k Improvements in LANforge 5.3.5 Release

20160722-splitters-anvil-430 Ben put an immense amount of effort into bug fixes for the Ath10k firmwares for the LANforge 5.3.5 release. Stability is way better, throughput is improved, and there’s better virtual station capacity, too: Atheros 9980 supports 48 virtual stations, and Atheros 9984 supports 64 virtual stations.


Help port mesh networking to Ath10k

a10k-mesh-logo Ben Greear has been very focused on bringing features to the Ath10k driver and firmware to Linux since 2014. The stability of the driver and the firmware has been greatly improved in that time. The next missing feature he wishes to port is 802.11s mesh networking. You can also help by testing and offering code contributions.

Controlling ARP Solicitations

When your network endpoints are not changing during testing scenario, transmitting ARP packets at the default rate is arguably wasted bandwidth. You can tune the Linux networking stack to extend the time between ARP broadcasts.

These tunables are in /proc/sys/net/ipv4/neigh and are divided by default and per-device settings. The knobs I find that are useful are:

  • base_reachable_time: a guideline on how often to broadcast for ARP updates
  • gc_stale_time: threshold in seconds on when to consider evicting an arp entry
  • locktime: minimum time to keep an ARP entry

You can set twist these knobs for two ports in a shell script like so:

for f in /proc/sys/net/ipv4/{enp2,enp3}/{base_reachable_time,gc_stale_time,locktime} ; do
    echo 300 > $f

This changes the values to 5 minutes.