Problem
Devices that are 2.4 GHz-only but respond to BSS-TM requests with status_code=0 (accept) cause usteer to retry band steering indefinitely. This is common with cheap IoT WiFi stacks (Tuya/Beken, ESP-based) that blindly acknowledge BSS-TM without being capable of transitioning to 5 GHz. The result is persistent log spam on the AP for as long as the device is connected:
hostapd: phy0-ap0: BSS-TM-RESP 77:77:77:77:77:77 dialog-token=0 status-code=0
hostapd: phy0-ap0: BSS-TM-RESP 77:77:77:77:77:77 dialog-token=0 status-code=0
hostapd: phy0-ap0: BSS-TM-RESP 77:77:77:77:77:77 dialog-token=0 status-code=0
... (repeats every ~2 seconds, indefinitely)
Proposal
Extend max_retry_band to also limit band steering BSS-TM requests: track a per-station retry counter, skip sending when the limit is reached, reset on disconnect.
This reuses an existing config knob with a sensible default (5), needs no new configuration, and is backward compatible — setting max_retry_band=0 preserves the current unlimited behavior.
Problem
Devices that are 2.4 GHz-only but respond to BSS-TM requests with
status_code=0(accept) cause usteer to retry band steering indefinitely. This is common with cheap IoT WiFi stacks (Tuya/Beken, ESP-based) that blindly acknowledge BSS-TM without being capable of transitioning to 5 GHz. The result is persistent log spam on the AP for as long as the device is connected:Proposal
Extend
max_retry_bandto also limit band steering BSS-TM requests: track a per-station retry counter, skip sending when the limit is reached, reset on disconnect.This reuses an existing config knob with a sensible default (5), needs no new configuration, and is backward compatible — setting
max_retry_band=0preserves the current unlimited behavior.