2011-04-06 12:23:20

by Christian Lamparter

[permalink] [raw]
Subject: invalid regdomain: 0x5c (was: problem with D-Link DWA-160)

On Wednesday 06 April 2011 05:26:28 Joe Culler wrote:
> [...]
> I have a problem with carl9170 driver with my d-link dwa-160 under
> linux-2.6.39-rc1.
> Here's the dmesg:

> [ 3114.257063] ath: EEPROM regdomain: 0x5c
> [ 3114.257066] ath: EEPROM indicates we should expect a direct regpair map
> [ 3114.257069] ath: invalid regulatory domain/country code 0x5c
> [ 3114.257071] ath: Invalid EEPROM contents
clearly, the regdomain code 0x5c is not defined in the
drivers/net/wireless/ath/regd_common.h => regDomainPairs struct.

this would be easy to fix [see attached patch], however I'm
not quite sure what to do about the 5GHz band in this case,
since the CTL_FCC is more restrictive than it should be.

Regards,
Chr

---
diff --git a/drivers/net/wireless/ath/regd_common.h b/drivers/net/wireless/ath/regd_common.h
index 248c670..5c2cfe6 100644
--- a/drivers/net/wireless/ath/regd_common.h
+++ b/drivers/net/wireless/ath/regd_common.h
@@ -195,6 +195,7 @@ static struct reg_dmn_pair_mapping regDomainPairs[] = {
{APL9_WORLD, CTL_ETSI, CTL_ETSI},

{APL3_FCCA, CTL_FCC, CTL_FCC},
+ {APL7_FCCA, CTL_FCC, CTL_FCC},
{APL1_ETSIC, CTL_FCC, CTL_ETSI},
{APL2_ETSIC, CTL_FCC, CTL_ETSI},
{APL2_APLD, CTL_FCC, NO_CTL},




2011-04-06 17:18:05

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: invalid regdomain: 0x5c (was: problem with D-Link DWA-160)

On Wed, Apr 6, 2011 at 10:17 AM, Luis R. Rodriguez
<[email protected]> wrote:
> On Wed, Apr 6, 2011 at 5:23 AM, Christian Lamparter
> <[email protected]> wrote:
>> On Wednesday 06 April 2011 05:26:28 Joe Culler wrote:
>>> [...]
>>> I have a problem with carl9170 driver with my d-link dwa-160 under
>>> linux-2.6.39-rc1.
>>> Here's the dmesg:
>>
>>> [ 3114.257063] ath: EEPROM regdomain: 0x5c
>>> [ 3114.257066] ath: EEPROM indicates we should expect a direct regpair map
>>> [ 3114.257069] ath: invalid regulatory domain/country code 0x5c
>>> [ 3114.257071] ath: Invalid EEPROM contents
>> clearly, the regdomain code 0x5c is not defined in the
>> drivers/net/wireless/ath/regd_common.h => regDomainPairs struct.
>>
>> this would be easy to fix [see attached patch], however I'm
>> not quite sure what to do about the 5GHz band in this case,
>> since the CTL_FCC is more restrictive than it should be.
>>
>> Regards,
>>        Chr
>>
>> ---
>> diff --git a/drivers/net/wireless/ath/regd_common.h b/drivers/net/wireless/ath/regd_common.h
>> index 248c670..5c2cfe6 100644
>> --- a/drivers/net/wireless/ath/regd_common.h
>> +++ b/drivers/net/wireless/ath/regd_common.h
>> @@ -195,6 +195,7 @@ static struct reg_dmn_pair_mapping regDomainPairs[] = {
>>        {APL9_WORLD, CTL_ETSI, CTL_ETSI},
>>
>>        {APL3_FCCA, CTL_FCC, CTL_FCC},
>> +       {APL7_FCCA, CTL_FCC, CTL_FCC},
>>        {APL1_ETSIC, CTL_FCC, CTL_ETSI},
>>        {APL2_ETSIC, CTL_FCC, CTL_ETSI},
>>        {APL2_APLD, CTL_FCC, NO_CTL},
>
> I verified internally with our other code and this is correct, APL7
> maps to FCC CTL and FCCA maps to FCC CTL as well. For an upstream
> patch:
>
> Acked-by: Luis R. Rodriguez <[email protected]>

Oh and please Cc [email protected], thanks a lot!

Luis

2011-04-06 18:30:20

by John W. Linville

[permalink] [raw]
Subject: Re: invalid regdomain: 0x5c (was: problem with D-Link DWA-160)

On Wed, Apr 06, 2011 at 10:17:45AM -0700, Luis R. Rodriguez wrote:
> On Wed, Apr 6, 2011 at 10:17 AM, Luis R. Rodriguez
> <[email protected]> wrote:
> > On Wed, Apr 6, 2011 at 5:23 AM, Christian Lamparter
> > <[email protected]> wrote:
> >> On Wednesday 06 April 2011 05:26:28 Joe Culler wrote:
> >>> [...]
> >>> I have a problem with carl9170 driver with my d-link dwa-160 under
> >>> linux-2.6.39-rc1.
> >>> Here's the dmesg:
> >>
> >>> [ 3114.257063] ath: EEPROM regdomain: 0x5c
> >>> [ 3114.257066] ath: EEPROM indicates we should expect a direct regpair map
> >>> [ 3114.257069] ath: invalid regulatory domain/country code 0x5c
> >>> [ 3114.257071] ath: Invalid EEPROM contents
> >> clearly, the regdomain code 0x5c is not defined in the
> >> drivers/net/wireless/ath/regd_common.h => regDomainPairs struct.
> >>
> >> this would be easy to fix [see attached patch], however I'm
> >> not quite sure what to do about the 5GHz band in this case,
> >> since the CTL_FCC is more restrictive than it should be.
> >>
> >> Regards,
> >> ? ? ? ?Chr
> >>
> >> ---
> >> diff --git a/drivers/net/wireless/ath/regd_common.h b/drivers/net/wireless/ath/regd_common.h
> >> index 248c670..5c2cfe6 100644
> >> --- a/drivers/net/wireless/ath/regd_common.h
> >> +++ b/drivers/net/wireless/ath/regd_common.h
> >> @@ -195,6 +195,7 @@ static struct reg_dmn_pair_mapping regDomainPairs[] = {
> >> ? ? ? ?{APL9_WORLD, CTL_ETSI, CTL_ETSI},
> >>
> >> ? ? ? ?{APL3_FCCA, CTL_FCC, CTL_FCC},
> >> + ? ? ? {APL7_FCCA, CTL_FCC, CTL_FCC},
> >> ? ? ? ?{APL1_ETSIC, CTL_FCC, CTL_ETSI},
> >> ? ? ? ?{APL2_ETSIC, CTL_FCC, CTL_ETSI},
> >> ? ? ? ?{APL2_APLD, CTL_FCC, NO_CTL},
> >
> > I verified internally with our other code and this is correct, APL7
> > maps to FCC CTL and FCCA maps to FCC CTL as well. For an upstream
> > patch:
> >
> > Acked-by: Luis R. Rodriguez <[email protected]>
>
> Oh and please Cc [email protected], thanks a lot!

...and don't forget the Signed-off-by...

--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.

2011-04-06 17:17:33

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: invalid regdomain: 0x5c (was: problem with D-Link DWA-160)

On Wed, Apr 6, 2011 at 5:23 AM, Christian Lamparter
<[email protected]> wrote:
> On Wednesday 06 April 2011 05:26:28 Joe Culler wrote:
>> [...]
>> I have a problem with carl9170 driver with my d-link dwa-160 under
>> linux-2.6.39-rc1.
>> Here's the dmesg:
>
>> [ 3114.257063] ath: EEPROM regdomain: 0x5c
>> [ 3114.257066] ath: EEPROM indicates we should expect a direct regpair map
>> [ 3114.257069] ath: invalid regulatory domain/country code 0x5c
>> [ 3114.257071] ath: Invalid EEPROM contents
> clearly, the regdomain code 0x5c is not defined in the
> drivers/net/wireless/ath/regd_common.h => regDomainPairs struct.
>
> this would be easy to fix [see attached patch], however I'm
> not quite sure what to do about the 5GHz band in this case,
> since the CTL_FCC is more restrictive than it should be.
>
> Regards,
>        Chr
>
> ---
> diff --git a/drivers/net/wireless/ath/regd_common.h b/drivers/net/wireless/ath/regd_common.h
> index 248c670..5c2cfe6 100644
> --- a/drivers/net/wireless/ath/regd_common.h
> +++ b/drivers/net/wireless/ath/regd_common.h
> @@ -195,6 +195,7 @@ static struct reg_dmn_pair_mapping regDomainPairs[] = {
>        {APL9_WORLD, CTL_ETSI, CTL_ETSI},
>
>        {APL3_FCCA, CTL_FCC, CTL_FCC},
> +       {APL7_FCCA, CTL_FCC, CTL_FCC},
>        {APL1_ETSIC, CTL_FCC, CTL_ETSI},
>        {APL2_ETSIC, CTL_FCC, CTL_ETSI},
>        {APL2_APLD, CTL_FCC, NO_CTL},

I verified internally with our other code and this is correct, APL7
maps to FCC CTL and FCCA maps to FCC CTL as well. For an upstream
patch:

Acked-by: Luis R. Rodriguez <[email protected]>

Luis

2011-04-06 18:40:50

by Christian Lamparter

[permalink] [raw]
Subject: [PATCH -stable] ath: add missing regdomain pair 0x5c mapping

Joe Culler reported a problem with his AR9170 device:

> ath: EEPROM regdomain: 0x5c
> ath: EEPROM indicates we should expect a direct regpair map
> ath: invalid regulatory domain/country code 0x5c
> ath: Invalid EEPROM contents

It turned out that the regdomain 'APL7_FCCA' was not mapped yet.
According to Luis R. Rodriguez [Atheros' engineer] APL7 maps to
FCC_CTL and FCCA maps to FCC_CTL as well, so the attached patch
should be correct.

Cc: <[email protected]>
Reported-by: Joe Culler <[email protected]>
Acked-by: Luis R. Rodriguez <[email protected]>
Signed-off-by: Christian Lamparter <[email protected]>
---
Joe,

does this patch fix your problem? If so, can you please
reply with a "tested-by:" tag?

Regards,
Christian
---
diff --git a/drivers/net/wireless/ath/regd_common.h b/drivers/net/wireless/ath/regd_common.h
index 248c670..5c2cfe6 100644
--- a/drivers/net/wireless/ath/regd_common.h
+++ b/drivers/net/wireless/ath/regd_common.h
@@ -195,6 +195,7 @@ static struct reg_dmn_pair_mapping regDomainPairs[] = {
{APL9_WORLD, CTL_ETSI, CTL_ETSI},

{APL3_FCCA, CTL_FCC, CTL_FCC},
+ {APL7_FCCA, CTL_FCC, CTL_FCC},
{APL1_ETSIC, CTL_FCC, CTL_ETSI},
{APL2_ETSIC, CTL_FCC, CTL_ETSI},
{APL2_APLD, CTL_FCC, NO_CTL},

2011-04-08 00:41:30

by Joe Culler

[permalink] [raw]
Subject: Re: invalid regdomain: 0x5c (was: problem with D-Link DWA-160)

Hello Christian,

Your patch works for me, thanks.
Tested-by: Joe Culler

On Wed, Apr 6, 2011 at 8:23 PM, Christian Lamparter wrote:
> On Wednesday 06 April 2011 05:26:28 Joe Culler wrote:
>> [...]
>> I have a problem with carl9170 driver with my d-link dwa-160 under
>> linux-2.6.39-rc1.
>> Here's the dmesg:
>
>> [ 3114.257063] ath: EEPROM regdomain: 0x5c
>> [ 3114.257066] ath: EEPROM indicates we should expect a direct regpair map
>> [ 3114.257069] ath: invalid regulatory domain/country code 0x5c
>> [ 3114.257071] ath: Invalid EEPROM contents
> clearly, the regdomain code 0x5c is not defined in the
> drivers/net/wireless/ath/regd_common.h => regDomainPairs struct.
>
> this would be easy to fix [see attached patch], however I'm
> not quite sure what to do about the 5GHz band in this case,
> since the CTL_FCC is more restrictive than it should be.
>
> Regards,
> ? ? ? ?Chr
>
> ---
> diff --git a/drivers/net/wireless/ath/regd_common.h b/drivers/net/wireless/ath/regd_common.h
> index 248c670..5c2cfe6 100644
> --- a/drivers/net/wireless/ath/regd_common.h
> +++ b/drivers/net/wireless/ath/regd_common.h
> @@ -195,6 +195,7 @@ static struct reg_dmn_pair_mapping regDomainPairs[] = {
> ? ? ? ?{APL9_WORLD, CTL_ETSI, CTL_ETSI},
>
> ? ? ? ?{APL3_FCCA, CTL_FCC, CTL_FCC},
> + ? ? ? {APL7_FCCA, CTL_FCC, CTL_FCC},
> ? ? ? ?{APL1_ETSIC, CTL_FCC, CTL_ETSI},
> ? ? ? ?{APL2_ETSIC, CTL_FCC, CTL_ETSI},
> ? ? ? ?{APL2_APLD, CTL_FCC, NO_CTL},
>
>
>