Search Linux Wireless

API to regulatory control (2)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



So in the first part I covered how information on channel restrictions
is communicated between the central regulatory control agent and drivers
and/or mac80211.

This second part is rather short, but important.

Devices that are capable of operating in a wide range of regulatory
restrictions usually also have country information encoded in their
EEPROM. I understand that Intel devices will need to make this EEPROM
information part of their channels list because the firmware rejects
tuning to other channels, but most devices fully enforce these
restrictions in software.

Hence, it is necessary that drivers are able to set the regulatory
domain they think they are operating in. It would probably be possible
to override by the user, but when the user has just booted it would be
good to be able to read the EEPROM of a wireless card to set the initial
operating domain.

For this, we need two exported functions:

void cfg80211_regulatory_set_alpha2(const char *alpha2);
void cfg80211_regulatory_set_domain(int ieee80211_domain);

These functions, when called, internally look up the value and, if
found, update each registered wiphy's channels list for the new
restrictions. They also set the internal domain to the value given
(well, I suppose the _set_domain function internally looks up an alpha2
value and calls the other one). Also, it will call the notifier chain I
talked about earlier so drivers can be notified of the change if
necessary.

Similarly, userspace can set the alpha2 value through some
nl80211/configfs API which will also cause the the same updates and
notifier chain calls.

I think this covers all the public API to regulatory control. Did I miss
anything? Everything else should be internal.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux