berlin-open-wireless-lab / DAWN

Decentralized WiFi Controller
GNU General Public License v2.0
351 stars 62 forks source link

DAWN is not respecting (disabled) 80211r setting for wifi networks #239

Open invis-z opened 5 months ago

invis-z commented 5 months ago

With multiple SSIDs set on the same phy, even with different BSSID/MAC, DAWN is not respecting the setting for the non 80211r enabled SSIDs, and keeps kicking clients connected to such SSID.

OpenWrt version: OpenWrt 23.05.2 r23630-842932a63d DAWN version: 2022-07-24-9e8060ea-3

Part of /etc/config/wireless (Note: 802.11r not enabled)

config wifi-iface 'wifinet7'
    option wpa_disable_eapol_key_retries '1'
    option ssid 'IoTSSID'
    option encryption 'sae-mixed'
    option device 'radio0'
    option mode 'ap'
    option ieee80211w '1'
    option key 'key'
    option network 'IoTif'
    option macaddr 'XX:XX:XX:XX:XX:XX'

/etc/config/dawn:

config local
    option loglevel '1'

config network
    option broadcast_ip '10.20.1.255'
    option broadcast_port '1025'
    option tcp_port '1026'
    option network_option '2'
    option collision_domain '-1'
    option bandwidth '-1'

config hostapd
    option hostapd_dir '/var/run/hostapd'

config times
    option con_timeout '60'
    option update_client '1'
    option remove_client '15'
    option remove_probe '30'
    option remove_ap '460'
    option update_hostapd '10'
    option update_tcp_con '10'
    option update_chan_util '5'
    option update_beacon_reports '20'

config metric 'global'
    option min_probe_count '0'
    option bandwidth_threshold '0'
    option use_station_count '0'
    option max_station_diff '1'
    option eval_probe_req '0'
    option eval_auth_req '0'
    option eval_assoc_req '0'
    option kicking '2'
    option kicking_threshold '20'
    option deny_auth_reason '1'
    option deny_assoc_reason '17'
    option min_number_to_kick '1'
    option chan_util_avg_period '3'
    option set_hostapd_nr '1'
    option duration '10'
    option rrm_mode 'pat'
    option disassoc_nr_length '18'

config metric '802_11g'
    option initial_score '60'
    option ht_support '5'
    option vht_support '5'
    option rssi '10'
    option rssi_val '-40'
    option low_rssi_val '-80'
    option low_rssi '0'
    option chan_util '0'
    option chan_util_val '0'
    option max_chan_util '-5'
    option max_chan_util_val '170'
    option rssi_weight '5'
    option rssi_center '-60'

config metric '802_11a'
    option initial_score '100'
    option ht_support '5'
    option vht_support '5'
    option rssi '10'
    option rssi_val '-40'
    option low_rssi_val '-80'
    option low_rssi '200'
    option chan_util '0'
    option chan_util_val '0'
    option max_chan_util '-5'
    option max_chan_util_val '170'
    option rssi_weight '10'
    option rssi_center '-60'

Log:

Tue Jan 16 10:52:11 2024 daemon.info dawn: Client MAC_FOR_IOT_CLIENT: Low asolute RSSI - proposing other APs
Tue Jan 16 10:52:11 2024 daemon.info dawn: Client MAC_FOR_IOT_CLIENT: Kicking as no active transmission data for client, and / or limit of 0 is OK.