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

Michal Kazior michal.kazior
Thu Jul 25 04:11:43 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.

 * New option (acs_relative_survey) allows user to discard accumulated survey
   data and depend only on the data that is gathered during one ACS offchannel
   scan/survey. The default is 0 (disabled) now but I'm wondering if this
   should be enabled by default.

Comments and feedback welcome!

Note: I tested this with ath10k (the get_survey() patch has been posted
recently). Should also work with ath9k.


Pozdrawiam / Best regards,
Michal Kazior.

---

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

 hostapd/Makefile             |    6 +
 hostapd/config_file.c        |   42 ++-
 hostapd/defconfig            |   24 ++
 hostapd/hostapd.conf         |   19 +
 src/ap/acs.c                 |  855 ++++++++++++++++++++++++++++++++++++++++++
 src/ap/acs.h                 |   59 +++
 src/ap/ap_config.c           |    6 +
 src/ap/ap_config.h           |    6 +
 src/ap/ap_drv_ops.h          |   21 ++
 src/ap/drv_callbacks.c       |  145 +++++++
 src/ap/hostapd.c             |    5 +
 src/ap/hostapd.h             |   23 ++
 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, 1634 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