linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <lrodriguez@atheros.com>
To: Gertjan van Wingerde <gwingerde@kpnplanet.nl>
Cc: Luis Rodriguez <Luis.Rodriguez@Atheros.com>,
	"mcgrof@gmail.com" <mcgrof@gmail.com>,
	"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: Re: Regulatory Framework & rt2x00.
Date: Fri, 3 Oct 2008 07:32:39 -0700	[thread overview]
Message-ID: <20081003143239.GI5964@tesla> (raw)
In-Reply-To: <48E67E78.8040807@kpnplanet.nl>

On Fri, Oct 03, 2008 at 01:20:08PM -0700, Gertjan van Wingerde wrote:
> My tests on the Ralink devices I have show that indeed the PCI devices
> do not contain a region indication in EEPROM. However, all the USB
> devices I have do contain such an indication (or one indication per band).

Even if they have one if the docs say to ignore it then I'd ignore it.

> Do you have any sample code available on how the Atheros devices
> interact with the regulatory framework with their EEPROM values?

Nope, not yet, rigth now we register the channels based on our EEPROM,
and the user sets the regulatory domain to enhance regulatory domain
enforcement. Later once we want to allow world roaming and support
parsing Country IEs we will take on registering all our supported
channels and then use the reg_notifier() to review the data passed
for the alpha2.

> OK. I guess that depends on what model we want to have with Linux. For
> me, the user should always have the possibility to override the HW
> settings on region, as he might have taken the HW he bought in one
> region of the world to another.

This should only be possible if the devices were designed to world roam.
Remember that world roaming is part of the IEEE-802.11 specs, and by
default devices should be assumed to not be capable of it.

For example iwl3945 or iwlagn driveres are not capable of world roaming
because as of right now these devices are not designed to allow the
driver to *add* new channels.

Also keep in mind vendors tend to want to respect the EEPROM
map of the regulatory domain. This is to deal with two issues:

1. Rogue APs sending sending a strange channels for an alpha2 through
   a Country IE

2. Vendor's customers tend to like to stick sometimes to frequency
   ranges which may be old in terms of regulatory rules because
   although the device is capable of other frequencies the customer
   may not have tested the device or certified it under the other
   channels even adding a new channel may be seen as a feature.

So it really depends. The answer to these questions *are* really
vendor dependant and I what I would *highly* recommend is to take
a conservative approach unless you have the vendor's blessing
to do things differently, even if the vendor is not being
cooeperative. Keep in mind though that doing this requires
developer effort though so I can see why we won't have all drivers
using regulatory_hint() and a reg_notifier() for example. But
developers are forthcoming to write this then great -- if you
don't get vendor support to enhance this then its really up us
to decide what is best.

> So, as far as I am concerned the EEPROM
> information is just an initial setting, which may be overridden later.

It depends on the vendor and their policies. For ath9k for example
this is not true -- the regulatory infrastructure allows the driver
to use your EEPROM map in case vendors wish to think their map
is the better source of knowledge.

> So, at the moment, I'm not interested in using the notifier.

It requires quite some work so I can understand why you may not
be inclined to use it, but if you do get vendor support I'd
be nice for you to reconsider. Up to you though of course, as
you are doing the work :)

> I'm not entirely sure yet. The basic question I have is that if I have a
> device with has in EEPROM a region setting of US for the 5GHz band and
> EU for the 2GHz band, what do I pass to the regulatory_hint function?

Think about this for a second -- does this make any sense? I don't see
how. Perhaps this is why its not recommended you rely on it. In the end,
you won't know unless you ask the vendor.

  Luis

  reply	other threads:[~2008-10-03 21:32 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-02 20:20 Regulatory Framework & rt2x00 Gertjan van Wingerde
2008-10-02 19:33 ` Luis R. Rodriguez
2008-10-03 20:20   ` Gertjan van Wingerde
2008-10-03 14:32     ` Luis R. Rodriguez [this message]
2008-10-03 22:19       ` Gertjan van Wingerde
2008-10-03 15:45         ` Luis R. Rodriguez
2008-10-03  8:05 ` Johannes Berg
2008-10-03 18:18   ` Ivo van Doorn
2008-10-03 20:02     ` Gertjan van Wingerde
2008-10-03 13:14       ` Luis R. Rodriguez

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=20081003143239.GI5964@tesla \
    --to=lrodriguez@atheros.com \
    --cc=Luis.Rodriguez@Atheros.com \
    --cc=gwingerde@kpnplanet.nl \
    --cc=linux-wireless@vger.kernel.org \
    --cc=mcgrof@gmail.com \
    /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).