Actually modern WiFi devices get their regulatory domain from the access point they are connected to. So long as the AP is configured for the correct country then all of the devices that are near enough to receive it's beacons will comply with the correct regulatory domain. Most APs do not allow you to set the regulatory domain, they come pre-configured for the country they are being sold in. (There are exceptions to this, high end APs often allow setting the regulatory domain and a few cheaps one do also.)
802.11a is a bit harder, the frequency spectrum is fragmented and in addition to the regulatory domain issues you have to deal with RADAR avoidance. The 802.11a device is required to listen for signals that look like RADAR, if it detects one it must signal the AP that it found one and then the AP and everything connected to it will change frequencies. This is relatively easy to do for civil RADAR systems, the headache comes with military RADAR. The signal format is usually classified so you don't know what it is that you are supposed to be avoiding. (I hated dealing with this when I used to work on WiFi -- it was worse than the regulatory domain stuff.)
The other problem with putting the regulatory information into Linux is keeping it current. Laws change. Spectrum that is legal today may become illegal next year. Or suddenly become legal.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds