Re: [PATCH] ACS: decide offload by hw_mode without special cmd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for your kind reply.

> Jouni Malinen <j@xxxxx>
>
> On Thu, Jan 02, 2020 at 01:08:59PM +0800, neojou@xxxxxxxxx wrote:
> > Would like to propose that not to limit to use special vendor
> > command/data to decide to do ACS offload, but by "hw_mode=any"
> > as the general case for all the drivers.
>
> Why?
>
> > There is a special config, "hw_mode=any", for the case when the
> > driver supports offloaded ACS, but it also needs the driver to
> > report the special vendor data, QCA_NL80211_VENDOR_SUBCMD_DO_ACS,
> > and to support the vendor command,
> >     OUI-QCA + QCA_NL80211_VENDOR_SUBCMD_GET_FEATURE
> > to get the feature report
> >     QCA_WLAN_VENDOR_FEATURE_SUPPORT_HW_MODE_ANY
> > which are only for QCA driver.
> >
> > The setting, "hw_mode=any", in conf file, seems already be
> > able to be used to decide if to offload ACS to the driver or not.
> > So would like to propose the patch as the first step for the
> > general approach of ACS offload.
>
> No, hw_mode=any has nothing to say on whether ACS should or should not
> be offloaded. Sure, the current implementation might not support that
> with anything else than an offload case now, but this could certainly be
> covered with the not offloaded ACS.
>

In the hostapd.conf, it is said that
"a special value "any" can be used to indicate that any support band can be
 used. This special case is currently supported only with drivers with
which offloaded ACS is used.".

And in the current hostapd program, it fails if we set "hw_mode=any"
without QCA_WLAN_VENDOR_FEATURE_SUPPORT_HW_MODE_ANY.

So it seems hw_mode=any is only for ACS offload case.


> > With the patch, in the case like "hw_mode=a or g", we can still
> > do ACS computing in hostapd, and offload ACS to the driver when
> > "hw_mode=any", without special vendor data/command support.
>
> Why would hw_mode=a be handled differently from hw_mode=any as far as
> selecting between whether hostapd or the driver takes care of ACS?
>
> > diff --git a/src/ap/acs.c b/src/ap/acs.c
> > @@ -971,7 +971,8 @@ enum hostapd_chan_status acs_init(struct hostapd_iface *iface)
> >  {
> >       wpa_printf(MSG_INFO, "ACS: Automatic channel selection started, this may take a bit");
> >
> > -     if (iface->drv_flags & WPA_DRIVER_FLAGS_ACS_OFFLOAD) {
> > +     if ((iface->drv_flags & WPA_DRIVER_FLAGS_ACS_OFFLOAD) ||
> > +         (iface->conf->hw_mode == HOSTAPD_MODE_IEEE80211ANY)) {
> >               wpa_printf(MSG_INFO, "ACS: Offloading to driver");
>
> This would break existing use case of using ACS offload to pick a
> channel within a single band. It is not appropriate to break deployed
> functionality.
>

The doubt is that  "hw_mode=any has nothing to say on whether ACS
should or should not be offloaded" as you said. Based on the
description in hostapd.conf and the behavior at the hostapd program,
it seems "hw_mode=any" is only for ACS offloaded.


BR,
Neo Jou

_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux