linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Larry Finger <Larry.Finger@lwfinger.net>
To: wireless <linux-wireless@vger.kernel.org>
Subject: RFC: Regulatory info in mac80211
Date: Tue, 05 Jun 2007 15:51:51 -0500	[thread overview]
Message-ID: <4665CCE7.5090409@lwfinger.net> (raw)

Given the recent discussions of regulatory/geographic domain compliance (or lack thereof) in 
mac80211, and the fact that the software is mainlined in 2.6.22, it seems a good time to start 
planning for full implementation of regulatory information in mac80211.

Roughly a year ago, I worked on such a scheme for ieee80211, but put the project on hold when I 
learned that ieee80211 and ieee80211_softmac, which is used by my driver of interest, would be 
replaced by mac80211. The project was far from complete; however, a number of individuals responded 
to my RFC's and suggested the following (the netdev archives should contain the E-mails):

1. The regulatory information is too dynamic to be placed in the kernel.

2. The regulatory database should be in an ASCII file for easy updating. This database should be 
read by a userspace daemon that reformats the information and supplies it to mac80211 upon demand.

3. There should be some sort of checking to verify that the database has not been hacked to modify 
transmission power, etc. in an illegal manner. Obviously, no foolproof means of enforcing this does 
not exist; however, we should prevent the crudest form of modifications.

4. The database should incorporate the parameters needed for 802.11a, 802.11b/g/n, 802.11d, and 802.11h.

5. There should be a scheme for translating country codes based on the outdated table 105 in 
Corrigendum 1 for 802.11b. This is the basis for the EEPROM data in the ZD1211 hardware. Note, this 
scheme is far too limited to be the only one available. If the translation code is needed for more 
than one driver, it should be placed in mac80211.

6. In case of errors such as the user daemon not running, database corruption, an illegal region 
code from the driver, etc., mac80211 should set a default set of parameters that are legal 
everywhere, and log a suitable error message.

7. ??

To begin such an undertaking, the following steps need to be done:

1. Decide what information is required. These data include, but are not limited to, the band, the 
maximum E.I.R.P. in dBm, whether the data are for indoors/outdoors/both, an indication regarding the 
use of active vs passive scans, allowed protocols, etc. I don't know enough about 802.11h to know 
what data will be required.

2. Accumulate the necessary regulatory data for the world. I found a source for such information. 
Although its price (2500 euro) was a significant problem, the NDA that went with it was a show 
stopper. The diversity of regulations is much greater than I expected. Although, I had only 
collected data on roughly half the countries in the ISO 3166 country codes, I had found 12 distinct 
sets of rules for the 2.4 GHz band and 17 sets in the 5 GHz bands, without any 802.11h information.

3. Decide on how to store this information within mac80211.

4. Decide on the structure of the ASCII database and the means of communication between the daemon 
and the kernel.

5. Prepare the data file and code the userspace and kernel components.

6. Other....

I welcome your comments.

Larry

             reply	other threads:[~2007-06-05 20:51 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-05 20:51 Larry Finger [this message]
2007-06-05 23:35 ` RFC: Regulatory info in mac80211 Luis R. Rodriguez
2007-06-05 23:54   ` Iñaky Pérez-González
2007-06-06  4:18   ` Dan Williams
2007-06-07  7:10 ` Stefano Brivio
2007-06-07 18:52   ` Luis R. Rodriguez
2007-06-07 19:27     ` stefano.brivio
2007-06-07 21:35       ` Luis R. Rodriguez
2007-06-09  3:50 ` Daniel Drake
2007-06-11  2:44   ` Larry Finger
  -- strict thread matches above, loose matches on Subject: below --
2007-06-06 10:00 Joerg Pommnitz
2007-06-06 11:41 ` Johannes Berg
2007-06-06 13:46 ` Larry Finger
2007-06-06 12:14 Joerg Pommnitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4665CCE7.5090409@lwfinger.net \
    --to=larry.finger@lwfinger.net \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).