For anyone debugging 5GHz performance - here is a possible cause of much anguish:
Here is the text of the Apple's diagnostic output:
"A nearby wireless router has been detected which is identifying itself as originating from a country which conflicts with your current settings. This may prevent your Mac from automatically re-joining a previously joined Wi-Fi network.
Certain wireless routers have the ability to identify the country they are designated to work in, this is called the Country Code. Wireless routers should only be used in the country they were originally obtained from. Failure to do so can result in performance and reliability issues for nearby wireless clients.
If possible, contact the network owner to resolve the problem."
From - https://support.moonpoint.com/os/os-x/wireless/conflicting-country-code/
I think this also impacts Intel wifi card chipsets on client devices, where this is implemented in their firmware, although I've done less debugging on this.
In the network that I was trying to debug:
- The United Kingdom has 6 distinct 80 MHz wide channels available in the 5GHz spectrum (although one will commonly be unavailable due to radar detection).
- The site has 6 OpenWrt 802.11ax access points there, with country code correctly set to GB and frequencies allocated to minimise co-channel interference.
- "Neighbor reports" (802.11k) are used to assist client roaming - the configuration is monitored and I'm satisfied that it's working correctly.
- The site is located on the top floor of an isolated tall building in the middle of a town, and the building's windows lack any wifi-opaque coatings (e.g. solar reflecting, or low emissivity energy saving coatings), making them wifi-transparent. Beacons can be received from several hundred surrounding wifi networks (almost all on the 2.4 GHz band).
- Macs show intermittent poor performance when connected to two different access points.
- It appears that ~5 nearby wifi access points are misconfigured and report DE, NL, or US country codes instead of GB in their 802.11d beacons.
I have yet to fully debug this but I think the presence of DE and/or NL country codes are causing the Macs to reduce their transmit power levels to 25 mW on channels 138 to 165 from the GB limits of 1000 mW or 200 mW (channel dependent).
Extremely high packet loss is experiences except when the Mac are more than a few metres away from access points using the 132 or 149 (80 MHz) channels.
Because the access points still transmit at the full GB legal level, so the Macs see a strong receive signal and do not roam away to a different access point.
Possibly some mitigation would be possible using a daemon to use 802.11v to force Macs which are behaving like that to roam to a different AP.
Next week someone might start beaconing RU CN or ID and knock out another third of 5 GHz spectrum for all surrounding wifi clients, and someone acting maliciously could knock out nearly all of the 5GHz band for a big chunk of the town.
It appears that the stock firmware on many Asus routers sends out country code DE in their UK market wifi access points (not grey imports). They know about the issue and don't seem to care.
