DAWN band steering

Just a quick question. Is there any documentation on how to setup dawn band steering? Either via config file or Luci. E.g. I see in luci that i can checkmark a few things, not sure what they all do, or what the effect is going to be.


You can start here: https://github.com/berlin-open-wireless-lab/DAWN

1 Like

The best info I found was way down in this thread:

I think that if you enable v, k, and r and leave the settings for 802.11r and DAWN at defaults, you will have decent roaming and be able to monitor things. I could be mistaken, though.

This will get it up and running:

I have all iOS devices so they make the decision on when to roam. The dawn defaults work well and encourage quick handover.

I think DAWN may be broken on latest master. I tried changing some of the options but the hearing map just remains empty. My laptop even got kicked off the network for no good reason. So I removed DAWN for now. However, the reason I wanted DAWN to work was to make sure the stations connect to 5GHz when they can and not hang around on the 2.4GHz. Roaming from AP to AP is fine without DAWN (actaully got worse with DAWN installed).

Oh well.

I forgot the last critical step. DAWN uses umdns so you have to make one tweak to get the APs to talk appropriately / fill the network map:

Current screenshot (it is working on master :sunglasses:):

If it uses umdns then umdns should be on the dependency list? Note that i was able to see all routers without umdns installed, just not the hearing map.

I actually noted something else particular in /etc/config/dawn. The 2nd line in the config has a broadcast_ip by default it was something like I changed it to my lan ip broadcast address:

config network
    option broadcast_ip         ''

This setting is missing in luci. Not sure why, or if it matters that this is correct or not.


That is interesting, I’ve overlooked that it uses that private ip address (My network is 192.xxx too, not 10.x). @PolynomialDivision might be able to explain if that it matters or not. My dawn is working with all the default settings including that 10.x ip.

Here are my settings for umdns (umdns is a dependency, you have to add the wan to the config)

root@OpenWrt:~# cat /etc/config/umdns

config umdns
        option jail '1'
        list network 'lan'
        list network 'wan'

Ok i added that to the umdns config. Still the hearing map is empty. The network overview is filled in (like on your screenshot above).

And my laptop switched to wlan1 on 2.5 GHz again, connected at 130 Mbit/s while on the 5GHz its at ~1300 Mbit/s (using 160MHz). I even have it set to prefer 5Ghz in the settings of the laptop.

I dont know what else to try. I used it on an older version of the master something like r13xxx then it did show clients in the hearing map.


The client still is the major determinant for roaming. r/v/k assist but unless you set very aggressive deauthentication settings - the don’t force band steering or roaming. The 2.4ghz RSSI must be strong enough that your client is still preferring it.

If I were you- for your laptop (especially since you have 160mhz wide channel capability)- I’d forget the 2.4ghz network and keep to 5ghz (each band having its own shared ssid)

Here is the dilemma for roaming, 2.4ghz and 5ghz have different physics properties so you’ll have to make several compromises to be able to roam on both. Instead- I’d pick one band, I’d optimize your network for roaming with 5ghz and keep your fast roaming clients (phones,tablets,laptops) to 5ghz only.

Yeah maybe that is a good idea to make separate SSID for 5GHz only. I could also try to increase the max transmit power on the 5GHz or decrease it on n the 2.4GHz. Ive currently put both at max 20 dBm on both routers.

Thanks for the suggestions

The best way to see if you need to increase or decrease power is to do a quick survey of your environment.

First evaluate to see what kinds of clients you have and what do they like. As an example - with iOS devices I evaluated RSSI signal levels all throughout my house and wanted devices to roam about halfway thru the house. I ideally placed my APs high & unobstructed. I found a power level of 23 (United States) gave me two nicely defined -70 dBm 5ghz cells. Apple devices like to roam at that threshold and with r/v/k I get predictable fast roaming. I just have smart IoT devices on 2.4 ghz so I just made sure that the signal got to my smart devices (no roaming needed).

Interesting read! I upped the 5GHz power to 23 dBm (199 mW), and lowered the 2.4GHz power to 19 dBm (79 mW) on both routers. So roaming should not change (roaming between the routers was fine). Good new is that it seems to work ok now, all but 3 devices connect to 5GHz, and im pretty sure two of those only have 2.4 GHz, the other i dont know, but wouldnt be surprised if it was also only 2.4GHz. So seems to be solved now. I would mark your post as the solution, but it wasnt really the answer to the original questions, sooo might be a bit confusing if i do.

But thx for the help!

How install DAWN on stable 19.07.4
I dont want install snapshot version

Never saw that.
This broadcast ip only matters if u use broadcast as network option. I wouldn't recommend that since I first have to adapt changes from tcp-socket to the broadcast socket... :wink:

I have so many things to do. :confused:
As you maybe noticed there are still some feautre branches that contain important changes

Further, I made a lua node exporter that exports radio resource managment stats (802.11k,v). With that u can check what your clients support. https://github.com/openwrt/packages/pull/13807/files
With that I can finally implement the right 802.11k behavior for all clients so that they stop sending garbage. :slight_smile:

Currently, I'm working on IPv6 Introduction into our Wireless Community Network. :wink: That takes a lot of time. If I have that, I definitely will go on.

If u only want bandsteering, u can steer clients already with hostapd-cli or with hostapd ubus optimistically to the 5 GHz, using some bash-script, or u utilize some parts of DAWN code, e.g. the iwinfo part that checks for signal strength and if it is above some threshold, u take the neighbor report from the other radio and craft a 802.11v bss transition frame with the other code I wrote. :slight_smile: I would be happy, if u then could publish that code again.

Maintaining backwards compability to a stable branch takes a lot of time.
There were several umdns failures and bugs, that were fixed upstream. So u need an up-to-date umdns version. Further, u need those two commits in the hostapd

Then u need to add dawn to the 19.07 packages repro

Feel free to do this. :slight_smile:

@PolynomialDivision We need some dox for dawn.

U mean documentation?

I have all my roaming devices on 5ghz only (keeps it simple and speedy).

Looking forward to all the improvements. There were a good number of recent commits to master for 802.11k,v - getting some love from the devs. :sunglasses:

1 Like

With all the new BSS config options on master - any new config options we should be including or considering to assist dawn with v,k? This is what I’ve been running:

        option ieee80211r '1'
        option encryption 'psk2+ccmp'
        option ieee80211k '1'
        option bss_transition '1'
        option ieee80211v '1'