linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ath/regd.c: regdomain 0x8000 fails to retrieve a regulatory domain pair
@ 2009-05-11 10:49 Joerg Albert
  2009-05-11 19:06 ` Luis R. Rodriguez
  0 siblings, 1 reply; 9+ messages in thread
From: Joerg Albert @ 2009-05-11 10:49 UTC (permalink / raw)
  To: linux-wireless; +Cc: Christian Lamparter, Luis R. Rodriguez

Plugging in a WNDA3100 (ar9170usb) I get the error

ath: No regulatory domain pair found, cannot continue

Seems like the EEPROM of the stick initializes regulatory.current_rd 
to 0x8000, current_rd_ext to 0. Is this a valid setting?

Looked into ath/regd.c, ath_regd_init():

ath_get_regpair(regdmn)

is called with regdmn == 0x8000 and returns NULL.

Shall that regdmn value be dealt with by

         if (reg->country_code == CTRY_DEFAULT &&
             regdmn == CTRY_DEFAULT)
                 reg->country_code = CTRY_UNITED_STATES;
?

wireless-testing is git v2.6.30-rc4-22735-gbd48c47, I run 
compat-wireless with a 2.6.29.2 kernel.

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: ath/regd.c: regdomain 0x8000 fails to retrieve a regulatory domain pair
  2009-05-11 10:49 ath/regd.c: regdomain 0x8000 fails to retrieve a regulatory domain pair Joerg Albert
@ 2009-05-11 19:06 ` Luis R. Rodriguez
       [not found]   ` <618D4DE9D5223A45A46C48063FD640451098774889@TAEXMB-01.global.atheros.com>
  0 siblings, 1 reply; 9+ messages in thread
From: Luis R. Rodriguez @ 2009-05-11 19:06 UTC (permalink / raw)
  To: Joerg Albert
  Cc: linux-wireless@vger.kernel.org, Christian Lamparter,
	Luis Rodriguez, Stephen.Chen

On Mon, May 11, 2009 at 03:49:20AM -0700, Joerg Albert wrote:
> Plugging in a WNDA3100 (ar9170usb) I get the error
> 
> ath: No regulatory domain pair found, cannot continue
> 
> Seems like the EEPROM of the stick initializes regulatory.current_rd
> to 0x8000, current_rd_ext to 0. Is this a valid setting?
> 
> Looked into ath/regd.c, ath_regd_init():
> 
> ath_get_regpair(regdmn)
> 
> is called with regdmn == 0x8000 and returns NULL.
> 
> Shall that regdmn value be dealt with by
> 
>          if (reg->country_code == CTRY_DEFAULT &&
>              regdmn == CTRY_DEFAULT)
>                  reg->country_code = CTRY_UNITED_STATES;
> ?
> 
> wireless-testing is git v2.6.30-rc4-22735-gbd48c47, I run
> compat-wireless with a 2.6.29.2 kernel.

Thanks for reporting this.

Stephen do ar9170 cards get sold with a regulatory domain set to 0x8000?
If so we need to deal with this in the common ath.ko module and set the regulatory
domain as intended.

If we are not sure we can simply default to one of the world regulatory domains for
this specific case, 0x64, for example.

Thanks,

  Luis

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: ath/regd.c: regdomain 0x8000 fails to retrieve a regulatory domain pair
       [not found]   ` <618D4DE9D5223A45A46C48063FD640451098774889@TAEXMB-01.global.atheros.com>
@ 2009-05-21 17:16     ` Luis R. Rodriguez
  2009-05-21 18:19       ` Gábor Stefanik
  2009-05-21 23:22       ` Joerg Albert
  0 siblings, 2 replies; 9+ messages in thread
From: Luis R. Rodriguez @ 2009-05-21 17:16 UTC (permalink / raw)
  To: Stephen Chen
  Cc: Luis Rodriguez, Joerg Albert, linux-wireless@vger.kernel.org,
	Christian Lamparter

> On Mon, May 11, 2009 at 03:49:20AM -0700, Joerg Albert wrote:
> > Plugging in a WNDA3100 (ar9170usb) I get the error
> >
> > ath: No regulatory domain pair found, cannot continue
> >
> > Seems like the EEPROM of the stick initializes regulatory.current_rd
> > to 0x8000, current_rd_ext to 0. Is this a valid setting?
> >
> > Looked into ath/regd.c, ath_regd_init():
> >
> > ath_get_regpair(regdmn)
> >
> > is called with regdmn == 0x8000 and returns NULL.
> >
> > Shall that regdmn value be dealt with by
> >
> >          if (reg->country_code == CTRY_DEFAULT &&
> >              regdmn == CTRY_DEFAULT)
> >                  reg->country_code = CTRY_UNITED_STATES;
> > ?
> >
> > wireless-testing is git v2.6.30-rc4-22735-gbd48c47, I run
> > compat-wireless with a 2.6.29.2 kernel.
> 
> Thanks for reporting this.
> 
> Stephen do ar9170 cards get sold with a regulatory domain set to 0x8000?
> If so we need to deal with this in the common ath.ko module and set the regulatory
> domain as intended.
> 
> If we are not sure we can simply default to one of the world regulatory domains for
> this specific case, 0x64, for example.

Joerg, can you please try this patch, its just informative and I would
like to see the output. A regulatory domain in the EEPROM set to 0x8000 
should be cought, as you indicated, in this code:

        if (reg->country_code == CTRY_DEFAULT &&
            regdmn == CTRY_DEFAULT)
                reg->country_code = CTRY_UNITED_STATES;

The debug prints should help.

  Luis

From: Luis R. Rodriguez <lrodriguez@atheros.com>
Subject: [PATCH] ath: make regulatory initialization more informative

This should help debugging. This has no functional change.

Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
---
 drivers/net/wireless/ath/regd.c |   22 +++++++++++++++++++---
 1 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/drivers/net/wireless/ath/regd.c b/drivers/net/wireless/ath/regd.c
index 7a89f9f..556e252 100644
--- a/drivers/net/wireless/ath/regd.c
+++ b/drivers/net/wireless/ath/regd.c
@@ -366,11 +366,17 @@ static bool ath_regd_is_eeprom_valid(struct ath_regulatory *reg)
 	if (rd & COUNTRY_ERD_FLAG) {
 		/* EEPROM value is a country code */
 		u16 cc = rd & ~COUNTRY_ERD_FLAG;
+		printk(KERN_DEBUG
+		       "ath: EEPROM indicates we should expect "
+			"a country code\n");
 		for (i = 0; i < ARRAY_SIZE(allCountries); i++)
 			if (allCountries[i].countryCode == cc)
 				return true;
 	} else {
 		/* EEPROM value is a regpair value */
+		if (rd != CTRY_DEFAULT)
+			printk(KERN_DEBUG "ath: EEPROM indicates we "
+			       "should expect a direct regpair map\n");
 		for (i = 0; i < ARRAY_SIZE(regDomainPairs); i++)
 			if (regDomainPairs[i].regDmnEnum == rd)
 				return true;
@@ -486,20 +492,30 @@ ath_regd_init(struct ath_regulatory *reg,
 	reg->country_code = ath_regd_get_default_country(regdmn);
 
 	if (reg->country_code == CTRY_DEFAULT &&
-	    regdmn == CTRY_DEFAULT)
+	    regdmn == CTRY_DEFAULT) {
+		printk(KERN_DEBUG "ath: EEPROM indicates default "
+		       "country code should be used\n");
 		reg->country_code = CTRY_UNITED_STATES;
+	}
 
 	if (reg->country_code == CTRY_DEFAULT) {
 		country = NULL;
 	} else {
+		printk(KERN_DEBUG "ath: doing EEPROM country->regdmn "
+		       "map search\n");
 		country = ath_regd_find_country(reg->country_code);
 		if (country == NULL) {
 			printk(KERN_DEBUG
-				"ath: Country is NULL!!!!, cc= %d\n",
+				"ath: no valid country maps found for "
+				"country code: 0x%0x\n",
 				reg->country_code);
 			return -EINVAL;
-		} else
+		} else {
 			regdmn = country->regDmnEnum;
+			printk(KERN_DEBUG "ath: country maps to "
+			       "regdmn code: 0x%0x\n",
+			       regdmn);
+		}
 	}
 
 	reg->regpair = ath_get_regpair(regdmn);
-- 
1.5.6.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: ath/regd.c: regdomain 0x8000 fails to retrieve a regulatory domain pair
  2009-05-21 17:16     ` Luis R. Rodriguez
@ 2009-05-21 18:19       ` Gábor Stefanik
  2009-05-21 19:03         ` Luis R. Rodriguez
  2009-05-21 23:22       ` Joerg Albert
  1 sibling, 1 reply; 9+ messages in thread
From: Gábor Stefanik @ 2009-05-21 18:19 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Stephen Chen, Luis Rodriguez, Joerg Albert,
	linux-wireless@vger.kernel.org, Christian Lamparter

On Thu, May 21, 2009 at 7:16 PM, Luis R. Rodriguez
<lrodriguez@atheros.com> wrote:
>> On Mon, May 11, 2009 at 03:49:20AM -0700, Joerg Albert wrote:
>> > Plugging in a WNDA3100 (ar9170usb) I get the error
>> >
>> > ath: No regulatory domain pair found, cannot continue
>> >
>> > Seems like the EEPROM of the stick initializes regulatory.current_rd
>> > to 0x8000, current_rd_ext to 0. Is this a valid setting?
>> >
>> > Looked into ath/regd.c, ath_regd_init():
>> >
>> > ath_get_regpair(regdmn)
>> >
>> > is called with regdmn == 0x8000 and returns NULL.
>> >
>> > Shall that regdmn value be dealt with by
>> >
>> >          if (reg->country_code == CTRY_DEFAULT &&
>> >              regdmn == CTRY_DEFAULT)
>> >                  reg->country_code = CTRY_UNITED_STATES;
>> > ?

Why CTRY_UNITED_STATES? Is there no CTRY_WORLD? Or is 0x8000 US-specific?

>> >
>> > wireless-testing is git v2.6.30-rc4-22735-gbd48c47, I run
>> > compat-wireless with a 2.6.29.2 kernel.
>>
>> Thanks for reporting this.
>>
>> Stephen do ar9170 cards get sold with a regulatory domain set to 0x8000?
>> If so we need to deal with this in the common ath.ko module and set the regulatory
>> domain as intended.
>>
>> If we are not sure we can simply default to one of the world regulatory domains for
>> this specific case, 0x64, for example.
>
> Joerg, can you please try this patch, its just informative and I would
> like to see the output. A regulatory domain in the EEPROM set to 0x8000
> should be cought, as you indicated, in this code:
>
>        if (reg->country_code == CTRY_DEFAULT &&
>            regdmn == CTRY_DEFAULT)
>                reg->country_code = CTRY_UNITED_STATES;
>
> The debug prints should help.
>
>  Luis
>
> From: Luis R. Rodriguez <lrodriguez@atheros.com>
> Subject: [PATCH] ath: make regulatory initialization more informative
>
> This should help debugging. This has no functional change.
>
> Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
> ---
>  drivers/net/wireless/ath/regd.c |   22 +++++++++++++++++++---
>  1 files changed, 19 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/regd.c b/drivers/net/wireless/ath/regd.c
> index 7a89f9f..556e252 100644
> --- a/drivers/net/wireless/ath/regd.c
> +++ b/drivers/net/wireless/ath/regd.c
> @@ -366,11 +366,17 @@ static bool ath_regd_is_eeprom_valid(struct ath_regulatory *reg)
>        if (rd & COUNTRY_ERD_FLAG) {
>                /* EEPROM value is a country code */
>                u16 cc = rd & ~COUNTRY_ERD_FLAG;
> +               printk(KERN_DEBUG
> +                      "ath: EEPROM indicates we should expect "
> +                       "a country code\n");
>                for (i = 0; i < ARRAY_SIZE(allCountries); i++)
>                        if (allCountries[i].countryCode == cc)
>                                return true;
>        } else {
>                /* EEPROM value is a regpair value */
> +               if (rd != CTRY_DEFAULT)
> +                       printk(KERN_DEBUG "ath: EEPROM indicates we "
> +                              "should expect a direct regpair map\n");
>                for (i = 0; i < ARRAY_SIZE(regDomainPairs); i++)
>                        if (regDomainPairs[i].regDmnEnum == rd)
>                                return true;
> @@ -486,20 +492,30 @@ ath_regd_init(struct ath_regulatory *reg,
>        reg->country_code = ath_regd_get_default_country(regdmn);
>
>        if (reg->country_code == CTRY_DEFAULT &&
> -           regdmn == CTRY_DEFAULT)
> +           regdmn == CTRY_DEFAULT) {
> +               printk(KERN_DEBUG "ath: EEPROM indicates default "
> +                      "country code should be used\n");
>                reg->country_code = CTRY_UNITED_STATES;
> +       }
>
>        if (reg->country_code == CTRY_DEFAULT) {
>                country = NULL;
>        } else {
> +               printk(KERN_DEBUG "ath: doing EEPROM country->regdmn "
> +                      "map search\n");
>                country = ath_regd_find_country(reg->country_code);
>                if (country == NULL) {
>                        printk(KERN_DEBUG
> -                               "ath: Country is NULL!!!!, cc= %d\n",
> +                               "ath: no valid country maps found for "
> +                               "country code: 0x%0x\n",
>                                reg->country_code);
>                        return -EINVAL;
> -               } else
> +               } else {
>                        regdmn = country->regDmnEnum;
> +                       printk(KERN_DEBUG "ath: country maps to "
> +                              "regdmn code: 0x%0x\n",
> +                              regdmn);
> +               }
>        }
>
>        reg->regpair = ath_get_regpair(regdmn);
> --
> 1.5.6.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>



-- 
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: ath/regd.c: regdomain 0x8000 fails to retrieve a regulatory domain pair
  2009-05-21 18:19       ` Gábor Stefanik
@ 2009-05-21 19:03         ` Luis R. Rodriguez
  0 siblings, 0 replies; 9+ messages in thread
From: Luis R. Rodriguez @ 2009-05-21 19:03 UTC (permalink / raw)
  To: Gábor Stefanik
  Cc: Luis Rodriguez, Stephen Chen, Joerg Albert,
	linux-wireless@vger.kernel.org, Christian Lamparter

On Thu, May 21, 2009 at 11:19:02AM -0700, Gábor Stefanik wrote:
> On Thu, May 21, 2009 at 7:16 PM, Luis R. Rodriguez
> <lrodriguez@atheros.com> wrote:
> >> On Mon, May 11, 2009 at 03:49:20AM -0700, Joerg Albert wrote:
> >> > Plugging in a WNDA3100 (ar9170usb) I get the error
> >> >
> >> > ath: No regulatory domain pair found, cannot continue
> >> >
> >> > Seems like the EEPROM of the stick initializes regulatory.current_rd
> >> > to 0x8000, current_rd_ext to 0. Is this a valid setting?
> >> >
> >> > Looked into ath/regd.c, ath_regd_init():
> >> >
> >> > ath_get_regpair(regdmn)
> >> >
> >> > is called with regdmn == 0x8000 and returns NULL.
> >> >
> >> > Shall that regdmn value be dealt with by
> >> >
> >> >          if (reg->country_code == CTRY_DEFAULT &&
> >> >              regdmn == CTRY_DEFAULT)
> >> >                  reg->country_code = CTRY_UNITED_STATES;
> >> > ?
> 
> Why CTRY_UNITED_STATES?

Well, that's just the way the regulatory infrastructure is designed, I suppose
that we inform vendors they can program their EEPROM with with 0x8000 as an
option to use CTRY_UNITED_STATES.

> Is there no CTRY_WORLD?

If (regdm & 0x60) then you have a world regualtory domain. Atheros devices
have 12 world regulatory domains today. They are all built-in to ath.ko.

> Or is 0x8000 US-specific?

That's what I believe.

  Luis

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: ath/regd.c: regdomain 0x8000 fails to retrieve a regulatory domain pair
  2009-05-21 17:16     ` Luis R. Rodriguez
  2009-05-21 18:19       ` Gábor Stefanik
@ 2009-05-21 23:22       ` Joerg Albert
  2009-05-21 23:57         ` Luis R. Rodriguez
  1 sibling, 1 reply; 9+ messages in thread
From: Joerg Albert @ 2009-05-21 23:22 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Stephen Chen, linux-wireless@vger.kernel.org, Christian Lamparter

On 05/21/2009 07:16 PM, Luis R. Rodriguez wrote:

> Joerg, can you please try this patch, its just informative and I would
> like to see the output. A regulatory domain in the EEPROM set to 0x8000 
> should be cought, as you indicated, in this code:
> 
>         if (reg->country_code == CTRY_DEFAULT &&
>             regdmn == CTRY_DEFAULT)
>                 reg->country_code = CTRY_UNITED_STATES;
> 
> The debug prints should help.
 > ...
With the patch I get:

usb 1-5: firmware: requesting ar9170-2.fw
ath: EEPROM indicates we should expect a country code
ath: No regulatory domain pair found, cannot continue
ar9170usb: probe of 1-5:1.0 failed with error -22

IMHO the in the above if-statement regdmn == 0x8000 (as read from 
the EEPROM by ath_regd_get_eepromRD), but CTRY_DEFAULT is defined as 
zero, so reg->country_code isn't set.
Shouldn't we say "regdmn == (CTRY_DEFAULT|COUNTRY_ERD_FLAG)",because 
without the ERD flag set we cannot compare a regdomain with a 
country code?

/Joerg

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: ath/regd.c: regdomain 0x8000 fails to retrieve a regulatory domain pair
  2009-05-21 23:22       ` Joerg Albert
@ 2009-05-21 23:57         ` Luis R. Rodriguez
  2009-05-22  0:11           ` Luis R. Rodriguez
  0 siblings, 1 reply; 9+ messages in thread
From: Luis R. Rodriguez @ 2009-05-21 23:57 UTC (permalink / raw)
  To: Joerg Albert
  Cc: Luis Rodriguez, Stephen Chen, linux-wireless@vger.kernel.org,
	Christian Lamparter, David.Quan, Tony Yang

On Thu, May 21, 2009 at 04:22:01PM -0700, Joerg Albert wrote:
> On 05/21/2009 07:16 PM, Luis R. Rodriguez wrote:
> 
> > Joerg, can you please try this patch, its just informative and I would
> > like to see the output. A regulatory domain in the EEPROM set to 0x8000
> > should be cought, as you indicated, in this code:
> >
> >         if (reg->country_code == CTRY_DEFAULT &&
> >             regdmn == CTRY_DEFAULT)
> >                 reg->country_code = CTRY_UNITED_STATES;
> >
> > The debug prints should help.
>  > ...
> With the patch I get:
> 
> usb 1-5: firmware: requesting ar9170-2.fw
> ath: EEPROM indicates we should expect a country code
> ath: No regulatory domain pair found, cannot continue
> ar9170usb: probe of 1-5:1.0 failed with error -22
> 
> IMHO the in the above if-statement regdmn == 0x8000 (as read from
> the EEPROM by ath_regd_get_eepromRD), but CTRY_DEFAULT is defined as
> zero, so reg->country_code isn't set.
> Shouldn't we say "regdmn == (CTRY_DEFAULT|COUNTRY_ERD_FLAG)",because
> without the ERD flag set we cannot compare a regdomain with a
> country code?

I agree, regdmn is set from calling ath_regd_get_eepromRD() which
returns:

	reg->current_rd & ~WORLDWIDE_ROAMING_FLAG

This is:

	reg->current_rd & ~0x4000

And _not_ 

	reg->current_rd & ~COUNTRY_ERD_FLAG

which would be:

	reg->current_rd & ~0x8000

This _does_ explain why you end up where you do, and we don't
let the driver continue. However, it does seem that 0x8000 is in fact
not a valid regulatory domain code which should be used. Problem
with using CTRY_UNITED_STATES or 0x64 (or another custom atheros
world regulatory domain) for this case is non properly calibrated
data may be used, specifically for the CTL indexes. We'll check on
this internally, regardless we need a solution for you.

  Luis

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: ath/regd.c: regdomain 0x8000 fails to retrieve a regulatory domain pair
  2009-05-21 23:57         ` Luis R. Rodriguez
@ 2009-05-22  0:11           ` Luis R. Rodriguez
  2009-05-22 13:12             ` Joerg Albert
  0 siblings, 1 reply; 9+ messages in thread
From: Luis R. Rodriguez @ 2009-05-22  0:11 UTC (permalink / raw)
  To: Joerg Albert
  Cc: Luis Rodriguez, Stephen Chen, linux-wireless@vger.kernel.org,
	Christian Lamparter, David.Quan, Tony Yang

On Thu, May 21, 2009 at 4:57 PM, Luis R. Rodriguez
<lrodriguez@atheros.com> wrote:
> On Thu, May 21, 2009 at 04:22:01PM -0700, Joerg Albert wrote:
>> On 05/21/2009 07:16 PM, Luis R. Rodriguez wrote:
>>
>> > Joerg, can you please try this patch, its just informative and I would
>> > like to see the output. A regulatory domain in the EEPROM set to 0x8000
>> > should be cought, as you indicated, in this code:
>> >
>> >         if (reg->country_code == CTRY_DEFAULT &&
>> >             regdmn == CTRY_DEFAULT)
>> >                 reg->country_code = CTRY_UNITED_STATES;
>> >
>> > The debug prints should help.
>>  > ...
>> With the patch I get:
>>
>> usb 1-5: firmware: requesting ar9170-2.fw
>> ath: EEPROM indicates we should expect a country code
>> ath: No regulatory domain pair found, cannot continue
>> ar9170usb: probe of 1-5:1.0 failed with error -22
>>
>> IMHO the in the above if-statement regdmn == 0x8000 (as read from
>> the EEPROM by ath_regd_get_eepromRD), but CTRY_DEFAULT is defined as
>> zero, so reg->country_code isn't set.
>> Shouldn't we say "regdmn == (CTRY_DEFAULT|COUNTRY_ERD_FLAG)",because
>> without the ERD flag set we cannot compare a regdomain with a
>> country code?
>
> I agree, regdmn is set from calling ath_regd_get_eepromRD() which
> returns:
>
>        reg->current_rd & ~WORLDWIDE_ROAMING_FLAG
>
> This is:
>
>        reg->current_rd & ~0x4000
>
> And _not_
>
>        reg->current_rd & ~COUNTRY_ERD_FLAG
>
> which would be:
>
>        reg->current_rd & ~0x8000
>
> This _does_ explain why you end up where you do, and we don't
> let the driver continue. However, it does seem that 0x8000 is in fact
> not a valid regulatory domain code which should be used. Problem
> with using CTRY_UNITED_STATES or 0x64 (or another custom atheros
> world regulatory domain) for this case is non properly calibrated
> data may be used, specifically for the CTL indexes. We'll check on
> this internally, regardless we need a solution for you.

BTW is this a dual band (2.4 GHz and 5 GHz) device or a single band (2.4 GHz) ?

  Luis

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: ath/regd.c: regdomain 0x8000 fails to retrieve a regulatory domain pair
  2009-05-22  0:11           ` Luis R. Rodriguez
@ 2009-05-22 13:12             ` Joerg Albert
  0 siblings, 0 replies; 9+ messages in thread
From: Joerg Albert @ 2009-05-22 13:12 UTC (permalink / raw)
  To: Luis R. Rodriguez
  Cc: Luis Rodriguez, Stephen Chen, linux-wireless@vger.kernel.org,
	Christian Lamparter, David.Quan, Tony Yang

On 05/22/2009 02:11 AM, Luis R. Rodriguez wrote:

> BTW is this a dual band (2.4 GHz and 5 GHz) device or a single band (2.4 GHz) ?

It's a dual band device - Netgear WNDA3100, FCC id PY307300073,
S/N 1TN1824802859.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-05-22 13:12 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-11 10:49 ath/regd.c: regdomain 0x8000 fails to retrieve a regulatory domain pair Joerg Albert
2009-05-11 19:06 ` Luis R. Rodriguez
     [not found]   ` <618D4DE9D5223A45A46C48063FD640451098774889@TAEXMB-01.global.atheros.com>
2009-05-21 17:16     ` Luis R. Rodriguez
2009-05-21 18:19       ` Gábor Stefanik
2009-05-21 19:03         ` Luis R. Rodriguez
2009-05-21 23:22       ` Joerg Albert
2009-05-21 23:57         ` Luis R. Rodriguez
2009-05-22  0:11           ` Luis R. Rodriguez
2009-05-22 13:12             ` Joerg Albert

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).