[RFC v3 0/3] hostapd: introduce Automatic Channel Selection (ACS)

Michal Kazior michal.kazior
Mon Aug 5 02:33:15 PDT 2013


Hi,

This is an attempt at ressurecting ACS effort for hostapd.

This is based on the work done by Luis R. Rodriguez
<lrodriguez at qca.qualcomm.com>.

I've rebased and improved the patchset. Notable changes:

 * Interference factor calculation has been modified.

   The formula now includes the relative channel noise floor so a channel with
   lower noise floor should be preferred in case channel load evaluates to 0.

   The formula now spits out positive values that can be summed up, which is
   needed for:

 * Overlapping/primary/secondary channels are all used when calculating total
   intereference factor for a given connection type (2.4Ghz, HT40, VHT80).
   This most likely still needs tuning but it's a good start I think.

v2:
 * remain-on-channel replaced in favour of scan-based survey data gathering
   (hostapd: Add offchannel support -- dropped)

 * chan_time scan parameter patch is introduced

 * tested with ath9k and ath10k

v3:
 * chan_time patch is dropped in favour of doing a couple of passive scans
   this should still allow gathering enough data for ACS

 * lots of cleanups and some small fixes

 * trimmed down main ACS patch commit message
   all details are already in code comments or on wiki page [1]

The following link is a git patchbomb that has all 3 patches in case the
mailing list server decides to spam-block my patchset.

  http://ix.io/74q

I will be updating the acs wiki page [1] soon as per Luis' request.


Pozdrawiam / Best regards,
Michal Kazior.

[1]: http://wireless.kernel.org/en/users/Documentation/acs


Michal Kazior (3):
  hostapd: Split up channel checking into helpers
  hostapd: Add survey dump support
  hostapd: Add Automatic Channel Selection (ACS) support

 hostapd/Makefile             |    6 +
 hostapd/config_file.c        |   24 +-
 hostapd/defconfig            |   26 ++
 hostapd/hostapd.conf         |   20 ++
 src/ap/acs.c                 |  771 ++++++++++++++++++++++++++++++++++++++++++
 src/ap/acs.h                 |   38 +++
 src/ap/ap_config.c           |    4 +
 src/ap/ap_config.h           |    4 +
 src/ap/ap_drv_ops.h          |   10 +
 src/ap/drv_callbacks.c       |   72 ++++
 src/ap/hostapd.c             |    5 +
 src/ap/hostapd.h             |   18 +
 src/ap/hw_features.c         |  204 +++++++----
 src/drivers/driver.h         |  109 +++++-
 src/drivers/driver_common.c  |    1 +
 src/drivers/driver_nl80211.c |  185 ++++++++++
 16 files changed, 1421 insertions(+), 76 deletions(-)
 create mode 100644 src/ap/acs.c
 create mode 100644 src/ap/acs.h

-- 
1.7.9.5




More information about the Hostap mailing list