OpenWrt Forum Archive

Topic: band steering

The content of this topic has been archived on 17 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I am seeing claims by proprietary AP vendors that they can run one SSID on both 2.4 and 5GHz and then do "band steering" so that any clients that are able to do 5GHz always end up using it, transparent to the user.

the only technical info I have is that the AP somehow detects that the client is able to use both bands, and when they try to associate with the SSID, the AP returns the association for 5G, not 2.4

is it possible to do this with openwrt, and does anyone have any pointers to how this would work?

In the past I've been setting up separate SSIDs for 2.5G and 5G, but if it's possible to make this transparent to the users it would be nice.

David Lang

I believe that "band steering" is done by disassociating client from 2.4Ghz radio and letting client try 5Ghz radio, or by somehow slowing down response to association requests on 2.4Ghz radio so clients get connected to 5Ghz radio faster.

that's my understanding as well, the system remembers that it saw that MAC try a 5G channel, so if it attempts to connect to a 2.4G channel it refuses to respond. The client then tries again on the next higher channel and eventually hits a 5G channel at which point a response happens.

valentt wrote:

Here is how to implement band steering in OpenWrt: http://jhshi.me/2014/03/21/switch-chann … n-openwrt/

From what I gather the solution above is for switching AP channels without shutting down and restarting the wifi interface. How does it help with the band steering?

I thought this method could be used so switch clients to other radio interface (band)... have you tried it?

Good news is that I see that latest hostapd 2.5 supports some type of band steering

From https://w1.fi/cgit/hostap/plain/hostapd/ChangeLog:
* added mechanism to track unconnected stations and do minimal band steering

What is the meaning of "minimal band steering"

(Last edited by valentt on 5 Jan 2016, 01:07)

from https://help.cloudtrax.com/hc/en-us/art … 89e209d7d:

"When the WiFi client 'probes' the AP for its capabilities, the AP learns whether or not the WiFi client supports both bands. If the AP decides to steer the client to 5 GHz, any connection attempt to the 2.4 GHz interface is denied."

How does the client probe AP? And how AP can see clients capabilities and recognise that client supports 5.8Ghz band?

from https://help.cloudtrax.com/hc/en-us/art … d-Steering -

"When the WiFi client 'probes' the AP for its capabilities, the AP learns whether or not the WiFi client supports both bands. If the AP decides to steer the client to 5 GHz, any connection attempt to the 2.4 GHz interface is denied."

How does the client probe AP? And how AP can see clients capabilities and recognise that client supports 5.8Ghz band?

I'm experimenting with "poor man's band steering" by disabling 2.4 radio, then clients that are dual band swithc over to 5.8Ghz radio, then I turn 2.4 radio back on and then older single band clients connect back to it... not perfect but it works.

(Last edited by valentt on 5 Jan 2016, 01:27)

Also really interesting options are "track_sta_max_num" and "no_auth_if_seen_on" it looks like these options could be used for band seering, because that is exactly what is said in hostapd config file:

https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf

# Reject authentication from a station that was seen on another radio.
# Default: Disabled
#
# This can be used with enabled track_sta_max_num configuration on another
# interface controlled by the same hostapd process to reject authentication
# attempts from a station that has been detected to be capable of operating on
# another band, e.g., to try to reduce likelihood of the station selecting a
# 2.4 GHz BSS when the AP operates both a 2.4 GHz and 5 GHz BSS concurrently.
#
# Note: Enabling this can cause connectivity issues and increase latency for
# connecting with the AP.
#no_auth_if_seen_on=wlan1

I tried manually editing /var/run/hostapd-phy0.conf and /var/run/hostapd-phy1.conf config files and testarting hostapd but I got errors:

unknown configuration item 'track_sta_max_num'

I also replaced wpad-mini with full size wpad package:

opkg update
opkg remove wpad-mini
opkg install wpad

But I still get same errors.

It could be that openwrt is using some snapshot of hostpad before official V2.5 release which has support for band steering via "no_auth_if_seen_on" and "track_sta_max_num" options.

Any ideas?

But it could be that I'm just having some stupid configuration issues, it would be great for others to try same steps as I did to see if I did some mistake.

(Last edited by valentt on 5 Jan 2016, 12:24)

Hi

I am also trying to do some band steering in a Linksys WRT1900AC. I  managed to compile the latest 2.6 version of hostapd and  the "no_auth_if_seen_on" and "track_sta_max_num" options seem to work. However according to the documentation on hostapd.conf the two interfaces have to be controlled by the same hostapd process.

Currently I tried several ways but I always get two hostapd processes, one for each one of the chipsets on my linksys, any help on how to run just ONE hostapd process instead of two? I don't even know where to look now...

Thanks!

An old thread, but still have this problem.

Openwrt creates two hostapd processes.

How can I make it so that only one hostapd process is created and controls both radios?

Because these options: track_sta_max_age & no_auth_if_seen_on, need only one process.

Thanks

(Last edited by carlitonueno on 19 Apr 2017, 03:45)

Hey @carlitonueno. hostapd v2.7-devel in the latest snapshot also creates two hostapd processes on my 2.4/5g AP. Just wondering if you have reported this to the developers via a Github issue?

The discussion might have continued from here.