On Fri, Feb 16, 2024 at 03:22:07AM +0100, Kirill A. Korinsky wrote: > Thus, disabling 5Ghz does help. that lead me to dig an issue on network > settings > side. After poking around I've discovered that settings which triggers an > issue > is "Minimum Data Rate Control" inside Unifi UI. It has settings for 5Ghz > network: 6, 9, 12 and 24 mbps. Old one was 12 (or 24), anyway, an issue > happening when this settings is 12 or 24 mbps.
Tne driver uses the lowest basic rate anncounced by the AP: const struct iwx_rate * iwx_tx_fill_cmd(struct iwx_softc *sc, struct iwx_node *in, struct ieee80211_frame *wh, uint16_t *flags, uint32_t *rate_n_flags) { [...] int min_ridx = iwx_rval2ridx(ieee80211_min_basic_rate(ic)); This rate will be used for broadcast frames, which include DHCP requests. If the AP doesn't receive such frames then no DHCP requests will pass. During scans, or while associated (even if DPCH doesn't work), you can check the rates anncounted by the AP with tcpdump: # tcpdump -i iwx0 -y IEEE802_11_RADIO -v type mgt subtype beacon For example, my AP shows: rates 6M* 9M 12M* 18M 24M* 36M 48M 54M An asterisk (*) indicates a basic rate, which the client must support in order to join the network. And in any case, the 802.11 standard _requires_ 6, 12, and 24 to be supported, always! My AP's rate information is thus in fact redundant. (In pratice, I've never seen devices that didn't support the whole rate set.) If your AP still announces 6M even while you've disabled this rate in settings, then the AP is broken and there is nothing to fix for us, you could only try asking the vendor for an AP firmware fix. Otherwise, there could be a bug in net80211, iwx, or intel wifi firmware where the lack of support for 6 Mbps on the AP breaks something. You won't see any improvements in throughput by disabling 6 Mbps. The most noticable effect of disabling it will be compatibility issues. Most of our drivers are still hard-coded to use 6 Mbps for broadcasts. The only drivers which call ieee80211_min_basic_rate() are: iwn, iwm, iwx, and qwx. I wouldn't be surprised if this setting is also causing issues for phones, laptops running an OS other than OpenBSD, etc. I recommend leaving 6 Mbps enabled in your setup for production, and only use this feature to help debug our drivers so we can make them work when they come across an AP that's misconfigured in this way and cannot be fixed. One reason to keep 6 Mbps disabled would be many APs on the same channel, so many that their collective beacons sent at 6 Mbps use up all available air time, leaving no time for actual data. But unless you're running something like a CCC congress this limitation won't apply ;)