[RFC v2 0/4] hostapd: introduce Automatic Channel Selection (ACS)

Michal Kazior michal.kazior
Mon Jul 29 02:19:10 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 is 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


This patchset is based on the chan_time scan parameter addition that has been
posted on linux-wireless mailing list. It should work without it but the
measurements may be less accurate.


Comments and feedback welcome!


Michal Kazior (4):
  hostapd: Split up channel checking into helpers
  hostapd: Add survey dump support
  nl80211: Add suport for chan_time scan parameter
  hostapd: Add Automatic Channel Selection (ACS) support

 hostapd/Makefile             |    6 +
 hostapd/config_file.c        |   24 +-
 hostapd/defconfig            |   25 ++
 hostapd/hostapd.conf         |   14 +
 src/ap/acs.c                 |  675 ++++++++++++++++++++++++++++++++++++++++++
 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             |   14 +
 src/ap/hw_features.c         |  204 ++++++++-----
 src/drivers/driver.h         |  116 +++++++-
 src/drivers/driver_common.c  |    1 +
 src/drivers/driver_nl80211.c |  202 ++++++++++++-
 src/drivers/nl80211_copy.h   |    2 +
 17 files changed, 1339 insertions(+), 77 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