"Bind" client to specific SSID vs "band steering"

While testing SQM, I see that there is a major difference between the 5,5 and the 2,4 Mhz Interface, not only regarding the speed.
The clients connect to the one or the other, depending on whatever I dont know...
I have set up the same (E)SSID and BSSID for both.
For the single clients it is important to

  • connect to 2,4 GHz only
  • connect to 5,5 GHz if reachable
  • connect to any

Is it possible to define the relation of client -> (preferred) interface somehow on OpenWrt?

Edit: Or is the proposed setup to use different ESSIDs (and BSSIDs) and let the client decide?


(Title updated to indicate the common term for this - Band Steering)

If Band steering then some kind of NextGen Band Steering or Enhanced Band Steering. I dont know if this exists.
I also need to bind e.g. the PlayStation to the 2,4 GHz interface, although the PS4 is 5 GHz ready

The client decides what to connect to.

"Band steering" schemes at a dual band AP are based on kicking a client (which is known to be dual band capable) off of the non-preferred band and banning its MAC there until it ends up connected to the preferred band. This functionality is not built into OpenWrt. If you are dealing with only a few clients, you could manually build your own MAC ban lists.


Don't give it the choice. Only give it the an SSID for the 2.4 GHz band.

For example:

  • 2.4 GHZ
    • me24
    • meboth
  • 5 GHz
    • me5
    • meboth

Your PlayStation would only get "me24", but your phone, for example, would get "meboth" (or both "me24" and "me5")

1 Like

Adding another SSID means additional configurations, maintenance etc... doing that I see much better options than just adding a SSID on the same router. Especially in regard to SQM and the PS4, I would rather spin up another 2,4 GHz network on a separate router. The only disadvantage would be additional 7 Watt energy consumption.

Meboth is optional

If you renamed your ssid to me24 and me5 you can achieve most of your goal without adding ssids

Renaming SSID means additional configuration on clients and repeaters and does not help with the second item " * connect to 5,5 GHz if reachable".
If I add an SSID it would be much more valuable if I use another / the other router with different SQM (and more...) settings especially for the PS4. Or I "install" a lan cable.
But the question is more in regard to "having the current setup" which seems to be very common as I can see at other locations (here I have 5 b/g/n and 7 ac access points wit the same SSID).

Also for the other clients there is no solution. E.g. a Notebook with changing location, I think I would need this band steering on router side. I feel this is missing on OpenWrt. I am wondering why there are no other threads about this.

Low level building blocks for band steering are available (e.g. various hostapd bits are exposed via ubus, associations can be filtered by ubus event listeners and accepted/denied based on various criteria) but no one invested work in building a complete solution for that.

Hostapd itself also has builtin support for rudimentary band steering nowadays but that requires driving all radio phys with a single hostapd instance which currently isn't easily achievable with unmodified OpenWrt.


I dint know this is even possible.

Thinking about hostapd.... hostapd_cli I liked to use... hostapd instances .... and /etc/hostapd/hostapd.accept
I remember I have two hostapd instances running on my router(s) one for 2,4 one for 5 GHz

Isn't it that the hostapd instances for 2,4 and 5 GHz on OpenWrt could be started with a separate MacAddress whitelist?

Or /etc/config/wireless shows two radios and I configure the 5 GHz with a deny maclist

config wifi-iface
    option device 'radio1'
    option mode 'ap'
    option ssid 'SSID'
    option 'macfilter'  'deny'
    list maclist 'XX:XX:XX:XX:XX:XX' <<-- Mac of PS4

Isn't that at least the solution for the "PS4 should connect to 2,4 GHz only" issue?

And you think that configuring some complex, non-standard AP-driven approach where you have to not only give SSID and credentials to each device, but also determine each device's MAC, log into your APs and reconfigure the access control as well is somehow simpler?

If the device doesn't have credentials for an SSID, it can't authenticate. How can it be any simpler than that?

1 Like

let's see... One thing is sure: it seems to be very common as I can see at other locations (here I have 5 b/g/n and 7 ac access points wit the same SSID).
For the blacklist logic ( option 'macfilter' 'deny') only a single Mac address needs to be known.
As long as there is nothing better on router side this seems to be a low hanging fruit. Instead of maintaining credentials on tons of devices (also each time they are changed) I need two additional lines of config.

Ummm, are you running open, unauthenticated APs? If not, you'll need to update the credentials on every device "each time they are changed".

Eh what? Ummmm, no.
You may add the word "twice" and "initially" (wherever you want) and it should be fine.

I would mark this as solved, just tested the two config lines and they work like a charme.

If the clients are not game systems, you can generally set the preference on the client itself within the interface settings.

1 Like

Even on PS4 Pro it is supposed to be possible, http://manuals.playstation.net/document/en/ps4/settings/nw_settings.html
But in practice, when the SSID is the same, it is not working.

If you have a TV, Window, Ubuntu, iOS... and more different systems, settings are always different or not possible. Another good reason why to do this kind of setup centrally on the router.

@Frood42 Perhaps I'm missing something, but why not simply configure two separate wifi networks, one for 2.4ghz and one for 5.7/5.8ghz (which is the recommended way for a variety of reasons)

  • Since a device will have to have it's wifi network setup regardless, typing in an additional 3 characters (whitespace plus 5G) seems like it should be an acceptable solution

2.4GHz and 5gHz networks do not offer the same throughput, as 2.4gHz network are locked into a maximum throughput of 450mbit/s (with HT), whereas 5.7GHz / 5.8GHz offers a maximum throughput of 866mbit/s+.

  • 2.4GHz supports a maximum channel width of 40MHz [HT], whereas 5GHz offers 80MHz / 160MHz [VHT]

Another consideration is does OpenWrt bake in the feature on all routers that prevents a wireless N device from being throttled due to a wireless g or b client connecting? If OpenWrt doesn't, or if this depends on the router, this is yet another reason.

Devices capable of 5.8GHz should be configured at the router level to always utilize the 5.8GHz radio, with the simplest and easiest way to ensure this being to have two separate networks for the 2.4GHz and 5.7/5.8GHz radios.

  1. I don't want to maintain two different SSIDs, BSSIDs and Passwords on Openwrt
  2. I don' want to maintain two (different) network connections on all clients
  3. I don't want to maintain two (different) network connections (instead of one(!)) on all clients in case of a password change

As soon as the (my) PS4 might support 5 GHz properly (this or next gen device), I will remove two lines of config. Then I will have two SSIDs on the router and two on most of the devices (that support both), for the same network. That doesn't make sense.

Adding and deleting two lines of config is

  • easier
  • less effort
  • more economic
  • elegant