Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Aug 2011 15:25:21 +0200
From:      Bernhard Schmidt <bschmidt@freebsd.org>
To:        Adrian Chadd <adrian.chadd@gmail.com>
Cc:        freebsd-wireless@freebsd.org, freebsd-arch@freebsd.org
Subject:   Re: [RFQ] net80211 regulatory changes: what I'd like to see before 9.0-RELEASE
Message-ID:  <201108081525.21563.bschmidt@freebsd.org>
In-Reply-To: <CAJ-VmomYxp27qVjJnye=pF%2BituAxZDKMaCrjZ-YxJePfNyjp3A@mail.gmail.com>
References:  <CAJ-VmomYxp27qVjJnye=pF%2BituAxZDKMaCrjZ-YxJePfNyjp3A@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, August 08, 2011 11:49:38 Adrian Chadd wrote:
> Hi all,
> 
> I've been knee-deep in the net80211 regulatory code (among other
> things) and after doing some regulatory DFS related work, there's a
> couple of short-comings I'd like to try and fix before 9.0-RELEASE is
> fixed.
> 
> Firstly, the current way that regulatory domains in net80211 are setup
> is very Atheros-specific. Specifically, the notion of "SKU" as the
> regulatory domain. net80211 knows about a small subset of SKU values
> which mostly map to what the Atheros driver/HAL code uses to figure
> out the regulatory domain. But it makes it impossible to extend the
> regulatory domain database (regdomain.xml) to encompass the different
> regulatory domains that exist for different countries. For example, if
> I wanted to add an Australia specific regulatory domain (which would
> include information different to the "ROW" (rest-of-world) regulatory
> domain it currently defaults to using), I'd have to teach net80211
> about a new SKU (call it "APAC".) But since the Atheros HAL doesn't
> have an Australia specific SKU value, I'd have to choose a value which
> didn't conflict.
> 
> Since the regdomain.xml database is indexed by the SKU value, I can't
> have more than one regulatory domain with the same SKU. Since
> net80211/atheros rejects SKUs it doesn't know about, I'd have to add
> each new (fake) SKU to both in order to get things working.
> 
> What I'd like to do is modify the regdomain.xml database, net80211 and
> ifconfig to use the ISOCC (ISO country code) numeric value as the
> primary key. This means an ABI change, as the primary key won't be an
> SKU any longer, but keep the SKU as a field so people using atheros
> devices can see what's going on.
> 
> Once that's done, I/others can then spend the next few months slowly
> adding updated entries to regdomain.xml that reflect what each of the
> current country regulatory requirements are.
> 
> The second change would be brought in with the first change. I'd like
> to add another field to regdomain.xml which includes what the radar
> requirements are - specifically for now, whether it's FCC, Japan,
> ETSI. The atheros driver seems to support combinations of the above
> when using one of the world regulatory domains (FCC and ETSI together)
> so it likely should be some more flags.
> 
> I can knock up some public code in the next few days to submit for review.

We've discussed this on IRC already, though to mention it again what I
really like to get rid of is all the SKU stuff from the regdomain.xml. This is
specific to ath(4) and ath(4) only.

Using the isocc as the index is correct and really the way to go, but it
might not serve some corner cases that well. Imagine someone wants
to set a regdomain and not a country (we DO support this currently),
how do want to express that in regdomain.xml? Adding a dummy isocc
for each regdomain (FCC, ETSI, ..)? Maybe we should use (isocc,regdomain)
as the index, so it is possible to use issoc=0,regdomain={FCC,ETSI,..}
for the mentioned case.

-- 
Bernhard



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201108081525.21563.bschmidt>