Search Linux Wireless

Re: regulatory domain settings overwritten

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

 



Hi Julian

on 28.11.2012 09:18, Julian Calaby wrote:
> Hi Erich,
> 
> On Wed, Nov 28, 2012 at 6:11 PM, Erich Titl <erich.titl@xxxxxxxx> wrote:
>> Hi Julian
>>
...

> 
> So it's unlikely to have been tested to comply with Swiss regulations,
> therefore the EEPROM is set to use the defaults.

It is pretty unlikely to have been tested against US regulations either.

> 
....
> 
> It's no different. In this case, the card saying "I don't know what I
> am" is specified to be equivalent to it saying "I'm a US card".

You don't really want to say that anyone who does not know better is a
US citizen ;-)

> 
>>> The card is not "open", it's using the default configuration. The
>>> default configuration is that it's configured for US operation.
>>
>> No, it is not, the card pretends nothing, the driver does.
> 
> The card says to use the default, the default is US.

And this IMHO is just plain wrong. US is not the navel of the world, if
there is one at all.

> ..
> 
> We are required by law to do our best to ensure that the card complies
> with whatever regulations are in force, wherever we are in the world.
> The simplest way to do this is to ensure that we comply with every
> piece of information we have. If the card says that we're in the US
> and the user says we're in Switzerland, then we restrict it to the
> minimum of both sets of regulatory rules so that we can be sure that
> the card is, to the best of our knowledge, complying with the rules.

I know now, by inspecting the code that this is exactly what happens. I
agree with you that if the card says 'I am a US branded card' this is
the right thing to do.
I disagree though that for a card that says 'Never mind, just specify
your location' US is the right choice.

I believe instead of using

reg->country_code = CTRY_UNITED_STATES;

should be something like

reg->country_code = CTRY_NEUTRAL;

> 
> On the other hand, some cheaper manufacturers use reference designs
> and keep things default to cut costs. Therefore the manufacturer of
> the chip specifies a default which is hard coded in the driver.

Yes, but the hard coded regdomain US is doubtful.

> 
>> It's also
>>> possible that it can comply with the regulations perfectly, but has
>>> never been tested and had the EEPROM set to indicate that it can
>>> comply with them.
>>
>> Yes of course, it could be that way, but my past experience in IT leads
>> me to believe that manufacturers shy away from market specific hardware
>> design. This is why the CM9 does not specify a country code, but a
>> 'default' setting.
> 
> CM9 is getting rather old now and there are now facilities in the
> kernel to detect which region we're in from the information the phone
> would get from a cell phone tower, I don't know for sure, but I'd
> expect that this will be used in the future to ensure that we comply
> where possible.

For phones that may be a good thing, though I would not want my phone
somehow to sample my position without asking me. For things that don't
depend on the public telephone system this method is unsafe at best.

> 
...
> 
> The default is not imposed by some midwest driver author, the default
> is imposed by the manufacturer of the chip as a default when the
> regulatory information is incorrect or unavailable.

Right, in EEPROM this is unavailable, but now the driver translates this
to a hardly comprehensible region which apparently is somehow restricted.

> 
> And this will be trying to use the card against it's specifications
> and will probably be rejected because of that.

That my or may not be the case. Anyway, cfg80211 can set the card to the
world domain and can also set it to country code CH. Unfortunately the
driver is overlaying this.

I tried several CTRY settings, as I don't want to mess up unnecessarily.
CRTY_DEFAUT just makes it cough.

What is a usable CTRY code to cover the broadest possible country range,
which can then be controlled through the correct country code. I could
use something like CTRY_AUSTRALIA but then that would be as bad as
CRTY_UNITED_STATES as it is not a neutral setting.

Is there a neutral CTRY value which does not mess up the worldwide settings?

And yes, we do not need to agree on the universalness of
CTRY_UNITED_STATES ;-)

Thanks

Erich


Attachment: smime.p7s
Description: S/MIME Kryptografische Unterschrift


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux