[OpenWrt-Devel] Status of ACS survey with rt2x00 driver using hostapd

Yousong Zhou yszhou4tech at gmail.com
Thu Aug 21 08:48:43 EDT 2014

Answering my own question.

On 18 August 2014 21:27, Yousong Zhou <yszhou4tech at gmail.com> wrote:
> Hi,
> I am trying to get ACS working on my available devices.
> What I have noticed is that the command `iw phy phy0 survey dump`
> returned different result between HiWiFi HC6361 which uses ath9k
> driver and a MT7620A based device using rt2x00 driver.   On HC6361,
> the command displayed statistics for all 11 channels, while only 1
> channel's statistics was fetched on the MT7620A device.

Taking a closer look at the ath9k_get_survey() and the relevant output
of iw command, I noticed that only statistics of the current channel
of the device will get updated cycle counter values, statistics of all
other channels remains the same.  So I guess the current ACS
implementation should not be that useful in practice.

> I checked with related code of hostapd, ath9k, rt2x00, and found the
> cause in `rt2800_get_survey()`.  Is this behaviour determined by
> hardware that hostapd's current ACS implementation is not expected to
> work with rt2x00 driver?

It is explicitly static in the comment of hostapd's defconfig that for
ACS function of it currently only athNk drivers are supported.  But
after going through the algorithm in acs.c, I guess the math should
also work even with only busy/active timings :)

> Hmm, how about the solution of adding a function akin to
> `ath_update_survey_stats()` for rt2x00?

Well, as stated above, looks like `ath_update_survey_stats()` is not
that promising.  Better implement the ACS function in userspace with
some scripting for the moment.


openwrt-devel mailing list
openwrt-devel at lists.openwrt.org

More information about the openwrt-devel mailing list