Finally got 802.11v working (FULLY) - Few pointers

Wow, you even received RSNI values. :smiley: I have a Xiaomi Mi 9 with LineageOS. I will do some measurements! :slight_smile:

Any hints why one R7800 (AP and router) lists under View Network Overview only own networks/clients and at the same time another R7800 (AP) lists everything?

One of two R7800s is flooding log with an error message Received NULL MAC! Client is strange!
More detailed log from that AP looks like that:

May  1 08:47:40 192.168.1.2 dawn[16726]: Crafting Beacon Report
May  1 08:47:40 192.168.1.2 dawn[16726]: Adding string
May  1 08:47:40 192.168.1.2 dawn[16726]: Invoking beacon report!
May  1 08:47:40 192.168.1.2 dawn[16726]: Method new: beacon-report : {"address":"xx:xx:xx:xx:xx:xx","op-class":0,"channel":0,"start-time":0,"duration":0,"report-info":128,"rcpi":0,"rsni":0,"bssid":"00:00:00:00:00:00","antenna-id":0,"parent-tsf":0}
May  1 08:47:40 192.168.1.2 dawn[16726]: Received NULL MAC! Client is strange!
May  1 08:47:40 192.168.1.2 dawn[16726]: Method new: beacon-report : {"address":"yy:yy:yy:yy:yy:yy","op-class":0,"channel":0,"start-time":0,"duration":0,"report-info":128,"rcpi":0,"rsni":0,"bssid":"00:00:00:00:00:00","antenna-id":0,"parent-tsf":0}
May  1 08:47:40 192.168.1.2 dawn[16726]: Received NULL MAC! Client is strange!

Here is bigger chunk of combined log from both devices:

May  1 09:36:12 192.168.1.1 dawn[16337]: --------APs------
May  1 09:36:12 192.168.1.1 dawn[16337]: ssid: IoT, bssid_addr: B0:7F:B9:80:80:80, freq: 2472, ht: 1, vht: 0, chan_utilz: 2, col_d: -1, bandwidth: -1, col_count: 11 neighbor_report: b9808080ef090000510d070603000d00
May  1 09:36:12 192.168.1.1 dawn[16337]: ssid: prod, bssid_addr: B0:7F:B9:77:77:77, freq: 5580, ht: 1, vht: 1, chan_utilz: 0, col_d: -1, bandwidth: -1, col_count: 11 neighbor_report: b9777777ff1900008074090603027a00
May  1 09:36:12 192.168.1.1 dawn[16337]: ------------------
May  1 09:36:12 192.168.1.1 dawn[16337]: --------Connections------
May  1 09:36:12 192.168.1.1 dawn[16337]: Conenctin to Port: 516, Connected: True
May  1 09:36:12 192.168.1.1 dawn[16337]: ------------------
May  1 09:36:12 192.168.1.1 dawn[16337]: Ustream send: 1088
May  1 09:36:12 192.168.1.1 dawn[16337]: --------Clients------
May  1 09:36:12 192.168.1.1 dawn[16337]: Client Entry Last: 10
May  1 09:36:12 192.168.1.1 dawn[16337]: bssid_addr: B0:7F:B9:77:77:77, client_addr: 5B:5B:5B:5B:5B:5B, freq: 5580, ht_supported: 1, vht_supported: 1, ht: 1, vht: 1, kick: 0
May  1 09:36:12 192.168.1.1 dawn[16337]: bssid_addr: B0:7F:B9:80:80:80, client_addr: 1A:1A:1A:1A:1A:1A, freq: 2472, ht_supported: 1, vht_supported: 0, ht: 1, vht: 0, kick: 0
May  1 09:36:12 192.168.1.1 dawn[16337]: bssid_addr: B0:7F:B9:80:80:80, client_addr: 68:68:68:68:68:68, freq: 2472, ht_supported: 1, vht_supported: 0, ht: 1, vht: 0, kick: 0
May  1 09:36:12 192.168.1.1 dawn[16337]: bssid_addr: B0:7F:B9:80:80:80, client_addr: E6:E6:E6:E6:E6:E6, freq: 2472, ht_supported: 1, vht_supported: 0, ht: 1, vht: 0, kick: 0
May  1 09:36:12 192.168.1.1 dawn[16337]: bssid_addr: B0:7F:B9:80:80:80, client_addr: D2:D2:D2:D2:D2:D2, freq: 2472, ht_supported: 1, vht_supported: 0, ht: 1, vht: 0, kick: 0
May  1 09:36:12 192.168.1.1 dawn[16337]: bssid_addr: B0:7F:B9:80:80:80, client_addr: 83:83:83:83:83:83, freq: 2472, ht_supported: 1, vht_supported: 0, ht: 1, vht: 0, kick: 0
May  1 09:36:12 192.168.1.1 dawn[16337]: bssid_addr: B0:7F:B9:80:80:80, client_addr: 50:50:50:50:50:50, freq: 2472, ht_supported: 1, vht_supported: 0, ht: 1, vht: 0, kick: 0
May  1 09:36:12 192.168.1.1 dawn[16337]: bssid_addr: B0:7F:B9:80:80:80, client_addr: A4:A4:A4:A4:A4:A4, freq: 2472, ht_supported: 1, vht_supported: 0, ht: 1, vht: 0, kick: 0
May  1 09:36:12 192.168.1.1 dawn[16337]: bssid_addr: B0:7F:B9:80:80:80, client_addr: 6E:6E:6E:6E:6E:6E, freq: 2472, ht_supported: 1, vht_supported: 0, ht: 1, vht: 0, kick: 0
May  1 09:36:12 192.168.1.1 dawn[16337]: bssid_addr: B0:7F:B9:80:80:80, client_addr: 90:90:90:90:90:90, freq: 2472, ht_supported: 1, vht_supported: 0, ht: 1, vht: 0, kick: 0
May  1 09:36:12 192.168.1.1 dawn[16337]: bssid_addr: B0:7F:B9:80:80:80, client_addr: 75:75:75:75:75:75, freq: 2472, ht_supported: 1, vht_supported: 0, ht: 1, vht: 0, kick: 0
May  1 09:36:12 192.168.1.1 dawn[16337]: ------------------
May  1 09:36:12 192.168.1.1 dawn[16337]: --------APs------
May  1 09:36:12 192.168.1.1 dawn[16337]: ssid: IoT, bssid_addr: B0:7F:B9:80:80:80, freq: 2472, ht: 1, vht: 0, chan_utilz: 2, col_d: -1, bandwidth: -1, col_count: 11 neighbor_report: b9808080ef090000510d070603000d00
May  1 09:36:12 192.168.1.1 dawn[16337]: ssid: prod, bssid_addr: B0:7F:B9:77:77:77, freq: 5580, ht: 1, vht: 1, chan_utilz: 0, col_d: -1, bandwidth: -1, col_count: 11 neighbor_report: b9777777ff1900008074090603027a00
May  1 09:36:12 192.168.1.1 dawn[16337]: ------------------
May  1 09:36:12 192.168.1.1 dawn[16337]: Hostname: R7800ap
May  1 09:36:12 192.168.1.1 dawn[16337]: IPV4: 192.168.1.2
May  1 09:36:12 192.168.1.1 dawn[16337]: Port: 1026
May  1 09:36:13 192.168.1.2 dawn[17366]: [Thread] : Removing old client entries!
May  1 09:36:13 192.168.1.2 dawn[17366]: --------Connections------
May  1 09:36:13 192.168.1.2 dawn[17366]: Conenctin to Port: 516, Connected: True
May  1 09:36:13 192.168.1.2 dawn[17366]: ------------------
May  1 09:36:13 192.168.1.2 dawn[17366]: Ustream send: 5400
May  1 09:36:13 192.168.1.2 dawn[17366]: --------Clients------
May  1 09:36:13 192.168.1.2 dawn[17366]: Client Entry Last: 7
May  1 09:36:13 192.168.1.2 dawn[17366]: bssid_addr: 8C:3B:AD:F4:F4:F4, client_addr: F7:F7:F7:F7:F7:F7, freq: 5200, ht_supported: 1, vht_supported: 1, ht: 1, vht: 1, kick: 0
May  1 09:36:13 192.168.1.2 dawn[17366]: bssid_addr: 8C:3B:AD:F4:F4:F4, client_addr: 7A:7A:7A:7A:7A:7A, freq: 5200, ht_supported: 1, vht_supported: 1, ht: 1, vht: 0, kick: 0
May  1 09:36:13 192.168.1.2 dawn[17366]: bssid_addr: 8C:3B:AD:F4:F4:F4, client_addr: 41:41:41:41:41:41, freq: 5200, ht_supported: 1, vht_supported: 1, ht: 1, vht: 0, kick: 0
May  1 09:36:13 192.168.1.2 dawn[17366]: bssid_addr: 8C:3B:AD:F4:F4:F4, client_addr: 3B:3B:3B:3B:3B:3B, freq: 5200, ht_supported: 1, vht_supported: 1, ht: 1, vht: 1, kick: 0
May  1 09:36:13 192.168.1.2 dawn[17366]: bssid_addr: 8C:3B:AD:F4:F4:F4, client_addr: 2F:2F:2F:2F:2F:2F, freq: 5200, ht_supported: 1, vht_supported: 1, ht: 1, vht: 1, kick: 0
May  1 09:36:13 192.168.1.2 dawn[17366]: bssid_addr: 8C:3B:AD:F4:F4:F4, client_addr: 61:61:61:61:61:61, freq: 5200, ht_supported: 1, vht_supported: 1, ht: 1, vht: 1, kick: 0
May  1 09:36:13 192.168.1.2 dawn[17366]: bssid_addr: 8C:3B:AD:F4:F4:F4, client_addr: B13:13:13:13:13:13, freq: 5200, ht_supported: 1, vht_supported: 1, ht: 1, vht: 1, kick: 0
May  1 09:36:13 192.168.1.2 dawn[17366]: bssid_addr: B0:7F:B9:77:77:77, client_addr: 5B:5B:5B:5B:5B:5B, freq: 5580, ht_supported: 1, vht_supported: 1, ht: 1, vht: 1, kick: 0
May  1 09:36:13 192.168.1.2 dawn[17366]: ------------------
May  1 09:36:13 192.168.1.2 dawn[17366]: --------APs------
May  1 09:36:13 192.168.1.2 dawn[17366]: ssid: prod, bssid_addr: 8C:3B:AD:F4:F4:F4, freq: 5200, ht: 1, vht: 1, chan_utilz: 221529894, col_d: -1, bandwidth: -1, col_count: 8 neighbor_report: adf4f4f4ef1900008028090603022a00
May  1 09:36:13 192.168.1.2 dawn[17366]: ssid: prod, bssid_addr: B0:7F:B9:77:77:77, freq: 5580, ht: 1, vht: 1, chan_utilz: 0, col_d: -1, bandwidth: -1, col_count: 8 neighbor_report: b9777777ff1900008074090603027a00
May  1 09:36:13 192.168.1.2 dawn[17366]: ------------------
May  1 09:36:13 192.168.1.2 dawn[17366]: Sending beacon report!
May  1 09:36:13 192.168.1.2 dawn[17366]: Sending beacon report Sub!
May  1 09:36:13 192.168.1.2 dawn[17366]: Crafting Beacon Report
May  1 09:36:13 192.168.1.2 dawn[17366]: Adding string
May  1 09:36:13 192.168.1.2 dawn[17366]: Invoking beacon report!
May  1 09:36:13 192.168.1.2 dawn[17366]: Crafting Beacon Report
May  1 09:36:13 192.168.1.2 dawn[17366]: Adding string
May  1 09:36:13 192.168.1.2 dawn[17366]: Invoking beacon report!
May  1 09:36:13 192.168.1.2 dawn[17366]: Crafting Beacon Report
May  1 09:36:13 192.168.1.2 dawn[17366]: Adding string
May  1 09:36:13 192.168.1.2 dawn[17366]: Invoking beacon report!
May  1 09:36:13 192.168.1.2 dawn[17366]: Crafting Beacon Report
May  1 09:36:13 192.168.1.2 dawn[17366]: Adding string
May  1 09:36:13 192.168.1.2 dawn[17366]: Invoking beacon report!
May  1 09:36:13 192.168.1.2 dawn[17366]: Crafting Beacon Report
May  1 09:36:13 192.168.1.2 dawn[17366]: Adding string
May  1 09:36:13 192.168.1.2 dawn[17366]: Invoking beacon report!
May  1 09:36:13 192.168.1.2 dawn[17366]: Crafting Beacon Report
May  1 09:36:13 192.168.1.2 dawn[17366]: Adding string
May  1 09:36:13 192.168.1.2 dawn[17366]: Invoking beacon report!
May  1 09:36:13 192.168.1.2 dawn[17366]: Crafting Beacon Report
May  1 09:36:13 192.168.1.2 dawn[17366]: Adding string
May  1 09:36:13 192.168.1.2 dawn[17366]: Invoking beacon report!
May  1 09:36:13 192.168.1.2 dawn[17366]: Hostname: R7800rtr
May  1 09:36:13 192.168.1.2 dawn[17366]: IPV4: 192.168.1.1
May  1 09:36:13 192.168.1.2 dawn[17366]: Port: 1026
May  1 09:36:13 192.168.1.2 dawn[17366]: Method new: beacon-report : {"address":"61:61:61:61:61:61","op-class":0,"channel":0,"start-time":0,"duration":0,"report-info":128,"rcpi":0,"rsni":0,"bssid":"00:00:00:00:00:00","antenna-id":0,"parent-tsf":0}
May  1 09:36:13 192.168.1.2 dawn[17366]: Received NULL MAC! Client is strange!
May  1 09:36:13 192.168.1.2 dawn[17366]: Method new: beacon-report : {"address":"41:41:41:41:41:41","op-class":0,"channel":0,"start-time":0,"duration":0,"report-info":128,"rcpi":0,"rsni":0,"bssid":"00:00:00:00:00:00","antenna-id":0,"parent-tsf":0}
May  1 09:36:13 192.168.1.2 dawn[17366]: Received NULL MAC! Client is strange!
May  1 09:36:17 192.168.1.1 dawn[16337]: Method new: probe : {"address":"b13:13:13:13:13:13","target":"ff:ff:ff:ff:ff:ff","signal":-68,"freq":2472,"ht_capabilities":{"ht_capabilities_info":6639,"supported_mcs_set":{"a_mpdu_params":23,"ht_extended_capabilities":0,"tx_bf_capability_info":0,"asel_capabilities":0,"supported_mcs_set":[255,255,0,0,0,0,0,0,0,0,44,1,1,0,0,0]}}}
May  1 09:36:17 192.168.1.1 dawn[16337]: --------Connections------
May  1 09:36:17 192.168.1.1 dawn[16337]: Conenctin to Port: 516, Connected: True
May  1 09:36:17 192.168.1.2 dawn[17366]: Network Method new: probe : {"method":"probe","data":"{\"bssid\":\"B0:7F:B9:80:80:80\",\"address\":\"B13:13:13:13:13:13\",\"target\":\"FF:FF:FF:FF:FF:FF\",\"signal\":-68,\"freq\":2472,\"rcpi\":-1,\"rsni\":-1}"}
May  1 09:36:17 192.168.1.1 dawn[16337]: ------------------
May  1 09:36:17 192.168.1.1 dawn[16337]: Ustream send: 256
May  1 09:36:18 192.168.1.1 dawn[16337]: Method new: probe : {"address":"b13:13:13:13:13:13","target":"ff:ff:ff:ff:ff:ff","signal":-78,"freq":5580,"ht_capabilities":{"ht_capabilities_info":6639,"supported_mcs_set":{"a_mpdu_params":23,"ht_extended_capabilities":0,"tx_bf_capability_info":0,"asel_capabilities":0,"supported_mcs_set":[255,255,0,0,0,0,0,0,0,0,44,1,1,0,0,0]}},"vht_capabilities":{"vht_capabilities_info":59798006,"vht_supported_mcs_set":{"rx_map":-6,"rx_highest":0,"tx_map":-6,"tx_highest":8192}}}
May  1 09:36:18 192.168.1.1 dawn[16337]: --------Connections------
May  1 09:36:18 192.168.1.2 dawn[17366]: Network Method new: probe : {"method":"probe","data":"{\"bssid\":\"B0:7F:B9:77:77:77\",\"address\":\"B13:13:13:13:13:13\",\"target\":\"FF:FF:FF:FF:FF:FF\",\"signal\":-78,\"freq\":5580,\"rcpi\":-1,\"rsni\":-1}"}
May  1 09:36:18 192.168.1.1 dawn[16337]: Conenctin to Port: 516, Connected: True
May  1 09:36:18 192.168.1.1 dawn[16337]: ------------------
May  1 09:36:18 192.168.1.1 dawn[16337]: Ustream send: 256
May  1 09:36:18 192.168.1.1 dawn[16337]: Method new: probe : {"address":"b13:13:13:13:13:13","target":"ff:ff:ff:ff:ff:ff","signal":-77,"freq":5580,"ht_capabilities":{"ht_capabilities_info":6639,"supported_mcs_set":{"a_mpdu_params":23,"ht_extended_capabilities":0,"tx_bf_capability_info":0,"asel_capabilities":0,"supported_mcs_set":[255,255,0,0,0,0,0,0,0,0,44,1,1,0,0,0]}},"vht_capabilities":{"vht_capabilities_info":59798006,"vht_supported_mcs_set":{"rx_map":-6,"rx_highest":0,"tx_map":-6,"tx_highest":8192}}}
May  1 09:36:18 192.168.1.1 dawn[16337]: --------Connections------
May  1 09:36:18 192.168.1.1 dawn[16337]: Conenctin to Port: 516, Connected: True
May  1 09:36:18 192.168.1.1 dawn[16337]: ------------------
May  1 09:36:18 192.168.1.2 dawn[17366]: Network Method new: probe : {"method":"probe","data":"{\"bssid\":\"B0:7F:B9:77:77:77\",\"address\":\"B13:13:13:13:13:13\",\"target\":\"FF:FF:FF:FF:FF:FF\",\"signal\":-77,\"freq\":5580,\"rcpi\":-1,\"rsni\":-1}"}
May  1 09:36:18 192.168.1.1 dawn[16337]: Ustream send: 256
May  1 09:36:18 192.168.1.2 dawn[17366]: Method new: probe : {"address":"b13:13:13:13:13:13","target":"ff:ff:ff:ff:ff:ff","signal":-52,"freq":5200,"ht_capabilities":{"ht_capabilities_info":6639,"supported_mcs_set":{"a_mpdu_params":23,"ht_extended_capabilities":0,"tx_bf_capability_info":0,"asel_capabilities":0,"supported_mcs_set":[255,255,0,0,0,0,0,0,0,0,44,1,1,0,0,0]}},"vht_capabilities":{"vht_capabilities_info":59798006,"vht_supported_mcs_set":{"rx_map":-6,"rx_highest":0,"tx_map":-6,"tx_highest":8192}}}
May  1 09:36:18 192.168.1.2 dawn[17366]: --------Connections------
May  1 09:36:18 192.168.1.2 dawn[17366]: Conenctin to Port: 516, Connected: True
May  1 09:36:18 192.168.1.2 dawn[17366]: ------------------
May  1 09:36:18 192.168.1.2 dawn[17366]: Ustream send: 256
May  1 09:36:18 192.168.1.1 dawn[16337]: Network Method new: probe : {"method":"probe","data":"{\"bssid\":\"8C:3B:AD:F4:F4:F4\",\"address\":\"B13:13:13:13:13:13\",\"target\":\"FF:FF:FF:FF:FF:FF\",\"signal\":-52,\"freq\":5200,\"rcpi\":-1,\"rsni\":-1}"}
May  1 09:36:18 192.168.1.2 dawn[17366]: Method new: probe : {"address":"b13:13:13:13:13:13","target":"ff:ff:ff:ff:ff:ff","signal":-52,"freq":5200,"ht_capabilities":{"ht_capabilities_info":6639,"supported_mcs_set":{"a_mpdu_params":23,"ht_extended_capabilities":0,"tx_bf_capability_info":0,"asel_capabilities":0,"supported_mcs_set":[255,255,0,0,0,0,0,0,0,0,44,1,1,0,0,0]}},"vht_capabilities":{"vht_capabilities_info":59798006,"vht_supported_mcs_set":{"rx_map":-6,"rx_highest":0,"tx_map":-6,"tx_highest":8192}}}
May  1 09:36:18 192.168.1.2 dawn[17366]: --------Connections------
May  1 09:36:18 192.168.1.2 dawn[17366]: Conenctin to Port: 516, Connected: True
May  1 09:36:18 192.168.1.2 dawn[17366]: ------------------
May  1 09:36:18 192.168.1.2 dawn[17366]: Ustream send: 256
May  1 09:36:18 192.168.1.1 dawn[16337]: Network Method new: probe : {"method":"probe","data":"{\"bssid\":\"8C:3B:AD:F4:F4:F4\",\"address\":\"B13:13:13:13:13:13\",\"target\":\"FF:FF:FF:FF:FF:FF\",\"signal\":-52,\"freq\":5200,\"rcpi\":-1,\"rsni\":-1}"}
May  1 09:36:22 192.168.1.1 dawn[16337]: [Thread] : Removing old client entries!
May  1 09:36:22 192.168.1.1 dawn[16337]: --------Connections------
May  1 09:36:22 192.168.1.1 dawn[16337]: Conenctin to Port: 516, Connected: True
May  1 09:36:22 192.168.1.1 dawn[16337]: ------------------
May  1 09:36:22 192.168.1.1 dawn[16337]: Ustream send: 4248
May  1 09:36:22 192.168.1.2 dawn[17366]: Network Method new: clients : {"method":"clients","data":"{\"freq\":5580,\"clients\":{\"5B:5B:5B:5B:5B:5B\":{\"auth\":true,\"assoc\":true,\"authorized\":true,\"preauth\":false,\"wds\":false,\"wmm\":true,\"ht\":true,\"vht\":true,\"wps\":false,\"mfp\":false,\"rrm\":[0,0,0,0,0],\"aid\":1,\"signature\":\"wifi4|probe:0,1,45,191,221(0050f2,8),htcap:09ef,htagg:17,htmcs:0000ffff,vhtcap:038171b1,vhtrxmcs:0000fffa,vhttxmcs:0000fffa|assoc:0,1,33,36,45,48,127,127,191,221(0050f2,2),htcap:09e7,htagg:17,htmcs:0000ffff,vhtcap:038011b1,vhtrxmcs:0000fffa,vhttxmcs:0000fffa,txpow:0c00,extcap:0000000000000040\"}},\"collision_domain\":-1,\"bandwidth\":-1,\"bssid\":\"B0:7F:B9:77:77:77\",\"ssid\":\"prod\",\"ht_supported\":true,\"vht_supported\":true,\"ap_weight\":0,\"channel_utilization\":0,\"neighbor_report\":\"b9777777ff1900008074090603027a00\"}"}

I have interesting behavior too on my network overview. Network setup:
-one r7800 router with wireless turned off
-two hardwired r7800s as APs (DHCP turned off, both hardwired directly to the router)
-5ghz and 2.4ghz are separate SSIDs
-Smart home devices on 2.4ghz only
-Roaming devices (phones, tablets) on 5ghz only.
-5ghz has all roaming features turned on, only difference in config between APs is that they are on different channels:


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

config wifi-device 'radio0'
        option type 'mac80211'
        option hwmode '11a'
        option path 'soc/1b500000.pci/pci0000:00/0000:00:00.0/0000:01:00.0'
        option htmode 'VHT80'
        option channel '161'
        option txpower '22'
        option legacy_rates '0'
        option country 'US'
        option beacon_int '101'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ft_over_ds '1'
        option ssid 'fastandshort'
        option ft_psk_generate_local '1'
        option key '*********'
        option ieee80211r '1'
        option encryption 'psk2+ccmp'
        option ieee80211k '1'
        option bss_transition '1'
        option ieee80211v '1'

config wifi-device 'radio1'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'soc/1b700000.pci/pci0001:00/0001:00:00.0/0001:01:00.0'
        option htmode 'HT20'
        option txpower '27'
        option rts '980'
        option legacy_rates '0'
        option beacon_int '191'

config wifi-iface 'default_radio1'
        option device 'radio1'
        option network 'lan'
        option mode 'ap'
        option key '*********'
        option ssid 'Slowandlong'
        option encryption 'psk2+ccmp'

My two APs only report seeing only their own devices (half of the below picture). My router reports seeing all devices:

image

@PolynomialDivision roaming appears to be working great. I have all newer iOS devices and I’m using the DAWN default config. Is this normal behavior for the network overview or is there something in the configuration that I missed and all devices should be able to report the entire network?

You mean you have 3 routers and on only 1 you see the whole network? Seems like umdns is not working correctly. You should see everything on every router that is running DAWN. :slight_smile:

Please try

ubus call umdns browse

and

ubus call umdns hosts

On each AP you should see the other APs announcing DAWN, if u use the TCP mode of DAWN.

Sometimes you have to edit /etc/config/umdns and add wan interface

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

Ran this on each AP:


uci add_list umdns.@umdns[0].network='wan'; uci commit umdns

With the WAN added to the list ...


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

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


Everything is working great and all APs see each other. Will continue testing. :sunglasses:

In my case through ubus call umdns browse router and AP both see each other yet list on the router was incomplete. After adding wan to umdns config just on access point everything is listed on both for some time only to return to the previous state regardless of wan added on both devices.

I did some testing walking around - it was very sensitive to devices going to sleep and the report will drop sleeping devices (ex: woke up this morning and one of my APs was “missing”, walked the device toward that AP and the AP with an active client reappeared). Every device responds back at different intervals and go to sleep at different intervals. Makes the reports interesting to watch.

Have the wan added to the APs, not the main router (wifi is turned off on the main router).

Don’t have any hard data or concerns about this behavior. Roaming is smooth with no jitter on iOS devices. :man_shrugging:

@ACwifidude @perceival

Do u mean you lose your APs if no client is connected to them? The Network Overview is only showing APs if some client is connected to them. That was a design decision, but I can change it again and show empty APs.

Showing empty APs would be reassuring and helpful. Gives valuable feedback to know the full network’s status (including feedback if APs have zero connected clients, ex: useful for trouble shooting balancing / router placement / dawn config optimization). :sunglasses:

So far loving dawn. Like the data it adds on the LuCI interface for watching the network (and appreciate devices sharing this data to optimize roaming).

What do you see as the next steps (next software changes) to optimize 802.11k/v?

Actually in my setup only one R7800 shows full list under Network Overview regardless of the number of connected clients. Currently the situation has changed and router is showing full list while AP only own network. Quite the opposite than yesterday for example.
Plus I'm getting dawn[4279]: Received NULL MAC! Client is strange! error message only from AP (between 400 and 6000 a day). Not sure if that is connected.
My setup:

router ------------------------eth------------------------AP
- IoT WLAN 2.4GHz                                WLAN 5GHz -
- WLAN 5GHz

Interesting. I don’t have that error, is it a particular client causing the issue or is it a difference in network design?

r7800 Router
(no wifi, dawn installed, no adjustments to umdns)
 |                  \
 |  eth       eth    \ 
 |                    \
r7800 AP           r7800 AP
Separate 5ghz SSID and 2.4ghz SSID, different channels
(dawn installed and wan added to umdns for both)

Please change that value to a much higher one, e.g. 360 or set it to 0, this will disable beacon reports. Then the message should go away. :slight_smile:

Further, it would be nice, if you could debug that with umdns, if the mdns entrys are existing and the APs are seeing each other.

Dawn looks really nice. Still waiting for my 2nd access point to arrive to try it.
Does anyone know if 802.11r works well in mixed wifi vendor environments with openwrt?
E.g having a router with an aetheros chipset and a mediatek wifi one?

My 2 cents (I am not using DAWN at the moment). In my scenario, 802.11r works perfectly in an environment with WR841 (ath79) and Archer C2 - v1 (mediatek).
When the configuration is the same, no problems should arise at all.

Hi @PolynomialDivision and others

A week or so ago I started looking at how to use the 802.11k+v features to help steer various devices around the house to the AP that can best support them at any given time. I thought I was going to write a few scripts to aggregate the current station / client status, process that on my most powerful AP (others are simple 4+32 devices) to look for "outliers" and then tell relevant APs what disassoc frames to send.

Every time I reach the next step I find myself back at this thread which seems to be the main resource for understanding various elements: neighbor report gathering and sharing, beacon requests, using hostapd to gather them, etc. My next step was to untangle the beacon report binary blob that hostapd dumps into the logs. And when I look for guidance on the structures used it brings me here again :)!

So it's looking like the best way forwards for me for now is to get DAWN up and running and see how close what it does is to what I want, and maybe contribute some changes if we have slightly different goals that can use the same lower level capabilities. For example, I can imagine that some will want to optimise use and stability of tens - hundreds APs in a large site, while others (like me :)) are more interested in client experience across a few lightly loaded APs.

I'm newish to OpenWRT dev, but have ported a few new devices (that are very similar to existing ones) into my local builds, backported packages to similar, etc. I'm a decent C coder having started my career working (perhaps ironically) on early comms infrastructure management. If I get things up and running let me know what ic an do to help nudge things forwards.

1 Like

You can subscribte to hostapd. I added a PR that decodes those binary blobs:

Another important part

Further Threads:

And here is some blogpost of mine (with a lot of grammar mistakes... I think I have to update the blogpost when I have time...):

And the GSOC Stuff

Interesting. I have to look how I can scale DAWN to that level. But maybe this requires a more centralized version.

Yep, that RRM thread was very useful as well :). And I saw the hostapd-cli / subscription pieces and PRs. Basically all a part of the journey I was / am on.

I see the balance of AP vs client decision making as perhaps some form of top level policy: "AP loading", "client experience", "blended" that we could develop. We won't need lots of real APs - we can simulate that for the algorithms if needed. It'd be interesting to see if that can still be a distributed model for resilience and not creating too much management traffic going back to a central point - which would be ironic.

Thanks for the PM. I'll be in touch. Busy now...

You can drop a lot of information with 802.11v and 802.11k and make the stuff "on-demand". All that management traffic I'm currently exchanging is because of legacy clients... If I switch to 802.11v, I can immediately decrease the complexity. :slight_smile:

I was thinking of the overhead of all APs sending information back to a central decision making node in the 100s of AP case. It'd be silly if so much information was flying back and forwards that it was slowing things down. I don't think it would be so bad, but there are still reasons to think about a distributed model where you can just turn on 20-100 devices pre-configured to know about each other via (say) MAC address and let them self-organise for the target outcome.