On 20/07/2021 04:21, Katherine Cox-Buday wrote:
I think this is because the EEPROM on the card is set as global. What
am I missing? Do you know how Linux intend for people to notify the
stack that this is an OK thing to do? I know projects like OpenWRT
carry patches to the driver, but I keep thinking surely this is not
the only way.

https://github.com/pcengines/apu2-documentation/issues/189 tracks this issue for PC Engines, which retails wireless cards whose EEPROM uses a global region.

My poor understanding is that Linux does not offer a way for end users to override the EEPROM, per "It should be reasonably impossible for a user to fail to comply with local regulations either unwittingly or by accident."[0]

It looks like the two supported ways to set regulatory domain are:
* a card vendor/retailer that performs certification, and flashes the EEPROM. * a system integrator (e.g. off-the-shelf wireless routers, mobile phones, etc.) that performs certification and sets CONFIG_CFG80211_CERTIFICATION_ONUS.

Linux does offer a way to indicate your current region via CRDA[1], but this is for the "travelling in another country" usecase, and acts to restrict the driver to intersection(EEPROM, country).

0. https://wireless.wiki.kernel.org/en/developers/regulatory/statement
1. https://wireless.wiki.kernel.org/en/developers/regulatory



Reply via email to