linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* otus: conformance test limits implementation for MKK and ETSI
@ 2009-09-05 12:23 Joerg Albert
  2009-09-05 19:37 ` Luis R. Rodriguez
  0 siblings, 1 reply; 2+ messages in thread
From: Joerg Albert @ 2009-09-05 12:23 UTC (permalink / raw)
  To: Luis R. Rodriguez, Christian Lamparter
  Cc: linux-wireless@vger.kernel.org,
	otus-devel@lists.madwifi-project.org

[-- Attachment #1: Type: text/plain, Size: 455 bytes --]

Hi,

I've read [1] about the ctl groups, looked into otus' hal/hpmain.c (lines 3700 ff.) 
and dumped the ctl index and data in the eeprom of my WNDA3100

It seems like the otus driver skips ctl (and heavy clip) application for the groups CTL_MKK and
CTL_ETSI. On the other hand I've found ctl data for these groups in the eeprom (see attachment).
Is this intended behaviour or a bug in the otus driver?


[1] http://linuxwireless.org/en/users/Drivers/ath

[-- Attachment #2: ar9170_ctl_dump_eeprom.txt --]
[-- Type: text/plain, Size: 5632 bytes --]

WNDA3100
========

 ar9170_calc_ctl: ctl_grp 0x10 freq 2412
 ar9170_calc_ctl: eeprom ctl_index: 0x10
   chain 0: 76(0x1a) 80(0x5a) 104(0x1e) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
   chain 1: 76(0x1a) 80(0x5a) 104(0x1e) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
 ar9170_calc_ctl: eeprom ctl_index: 0x16
   chain 0: 76(0x19) 80(0x5a) 104(0x1e) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
   chain 1: 76(0x19) 80(0x5a) 104(0x1e) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
 ar9170_calc_ctl: eeprom ctl_index: 0x18
   chain 0: 78(0x18) 86(0x59) 102(0x1e) 142(0x62) 158(0x62) 178(0x22) 191(0x62) 199(0x62)
   chain 1: 78(0x18) 86(0x59) 102(0x1e) 142(0x62) 158(0x62) 178(0x22) 191(0x62) 199(0x62)
 ar9170_calc_ctl: eeprom ctl_index: 0x11
   chain 0: 112(0x26) 117(0x66) 162(0x26) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 112(0x26) 117(0x66) 162(0x26) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x12
   chain 0: 112(0x24) 117(0x64) 162(0x22) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 112(0x24) 117(0x64) 162(0x22) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x15
   chain 0: 112(0x23) 117(0x64) 162(0x21) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 112(0x23) 117(0x64) 162(0x21) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x17
   chain 0: 122(0x1d) 127(0x64) 147(0x64) 152(0x1b) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 122(0x1d) 127(0x64) 147(0x64) 152(0x1b) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x40
   chain 0: 74(0x62) 80(0x62) 92(0x62) 104(0x62) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 74(0x62) 80(0x62) 92(0x62) 104(0x62) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x46
   chain 0: 74(0x62) 80(0x62) 92(0x62) 104(0x62) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 74(0x62) 80(0x62) 92(0x62) 104(0x62) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x41
   chain 0: 112(0x24) 117(0x64) 172(0x24) 184(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 112(0x24) 117(0x64) 172(0x24) 184(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x42
   chain 0: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x45
   chain 0: 112(0x22) 117(0x62) 152(0x22) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 112(0x22) 117(0x62) 152(0x22) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x30
   chain 0: 76(0x22) 92(0x62) 104(0x22) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
   chain 1: 76(0x22) 92(0x62) 104(0x22) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
 ar9170_calc_ctl: eeprom ctl_index: 0x36
   chain 0: 76(0x22) 80(0x62) 104(0x22) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
   chain 1: 76(0x22) 80(0x62) 104(0x22) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
 ar9170_calc_ctl: eeprom ctl_index: 0x38
   chain 0: 78(0x22) 86(0x62) 102(0x22) 142(0x62) 158(0x62) 174(0x22) 0(0x00) 0(0x00)
   chain 1: 78(0x22) 86(0x62) 102(0x22) 142(0x62) 158(0x62) 174(0x22) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x31
   chain 0: 112(0x26) 117(0x66) 172(0x26) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 112(0x26) 117(0x66) 172(0x26) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x32
   chain 0: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x35
   chain 0: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x37
   chain 0: 122(0x23) 127(0x63) 147(0x63) 152(0x23) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 122(0x23) 127(0x63) 147(0x63) 152(0x23) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x00
   chain 0: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x00
   chain 0: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x00
   chain 0: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x00
   chain 0: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_calc_ctl: eeprom ctl_index: 0x00
   chain 0: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
   chain 1: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
 ar9170_get_max_edge_power: freq 2412 max_edge_power 38
 ar9170_get_max_edge_power: freq 2412 max_edge_power 36
 ar9170_get_max_edge_power: freq 2412 max_edge_power 35
 ar9170_calc_ctl: ctl_mode 5 pwr_cal[0] 24 -> 23
 ar9170_get_max_edge_power: freq 2422 max_edge_power 29
 ar9170_calc_ctl: ctl_mode 7 pwr_cal[0] 23 -> 1d
 ar9170_calc_ctl: ctl_mode 7 pwr_cal[1] 22 -> 1d
 ar9170_calc_ctl: ctl_mode 7 pwr_cal[2] 22 -> 1d
 ar9170_calc_ctl: ctl_mode 7 pwr_cal[3] 22 -> 1d
 ar9170_calc_ctl: ctl_mode 7 pwr_cal[4] 22 -> 1d
 ar9170_calc_ctl: ctl_mode 7 pwr_cal[5] 22 -> 1d
 ar9170_calc_ctl: ctl_mode 7 pwr_cal[6] 20 -> 1d

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

* Re: otus: conformance test limits implementation for MKK and ETSI
  2009-09-05 12:23 otus: conformance test limits implementation for MKK and ETSI Joerg Albert
@ 2009-09-05 19:37 ` Luis R. Rodriguez
  0 siblings, 0 replies; 2+ messages in thread
From: Luis R. Rodriguez @ 2009-09-05 19:37 UTC (permalink / raw)
  To: Joerg Albert
  Cc: Christian Lamparter, linux-wireless@vger.kernel.org,
	otus-devel@lists.madwifi-project.org, Stephen Chen

On Sat, Sep 5, 2009 at 5:23 AM, Joerg Albert<jal2@gmx.de> wrote:
> Hi,
>
> I've read [1] about the ctl groups, looked into otus' hal/hpmain.c (lines 3700 ff.)
> and dumped the ctl index and data in the eeprom of my WNDA3100
>
> It seems like the otus driver skips ctl (and heavy clip) application for the groups CTL_MKK and
> CTL_ETSI. On the other hand I've found ctl data for these groups in the eeprom (see attachment).
> Is this intended behaviour or a bug in the otus driver?

Not too sure but most likely a mistake on the driver, the CTLs should
always be read and used.

  Luis

>
> [1] http://linuxwireless.org/en/users/Drivers/ath
>
> WNDA3100
> ========
>
>  ar9170_calc_ctl: ctl_grp 0x10 freq 2412
>  ar9170_calc_ctl: eeprom ctl_index: 0x10
>   chain 0: 76(0x1a) 80(0x5a) 104(0x1e) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
>   chain 1: 76(0x1a) 80(0x5a) 104(0x1e) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
>  ar9170_calc_ctl: eeprom ctl_index: 0x16
>   chain 0: 76(0x19) 80(0x5a) 104(0x1e) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
>   chain 1: 76(0x19) 80(0x5a) 104(0x1e) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
>  ar9170_calc_ctl: eeprom ctl_index: 0x18
>   chain 0: 78(0x18) 86(0x59) 102(0x1e) 142(0x62) 158(0x62) 178(0x22) 191(0x62) 199(0x62)
>   chain 1: 78(0x18) 86(0x59) 102(0x1e) 142(0x62) 158(0x62) 178(0x22) 191(0x62) 199(0x62)
>  ar9170_calc_ctl: eeprom ctl_index: 0x11
>   chain 0: 112(0x26) 117(0x66) 162(0x26) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 112(0x26) 117(0x66) 162(0x26) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x12
>   chain 0: 112(0x24) 117(0x64) 162(0x22) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 112(0x24) 117(0x64) 162(0x22) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x15
>   chain 0: 112(0x23) 117(0x64) 162(0x21) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 112(0x23) 117(0x64) 162(0x21) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x17
>   chain 0: 122(0x1d) 127(0x64) 147(0x64) 152(0x1b) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 122(0x1d) 127(0x64) 147(0x64) 152(0x1b) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x40
>   chain 0: 74(0x62) 80(0x62) 92(0x62) 104(0x62) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 74(0x62) 80(0x62) 92(0x62) 104(0x62) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x46
>   chain 0: 74(0x62) 80(0x62) 92(0x62) 104(0x62) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 74(0x62) 80(0x62) 92(0x62) 104(0x62) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x41
>   chain 0: 112(0x24) 117(0x64) 172(0x24) 184(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 112(0x24) 117(0x64) 172(0x24) 184(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x42
>   chain 0: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x45
>   chain 0: 112(0x22) 117(0x62) 152(0x22) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 112(0x22) 117(0x62) 152(0x22) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x30
>   chain 0: 76(0x22) 92(0x62) 104(0x22) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
>   chain 1: 76(0x22) 92(0x62) 104(0x22) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
>  ar9170_calc_ctl: eeprom ctl_index: 0x36
>   chain 0: 76(0x22) 80(0x62) 104(0x22) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
>   chain 1: 76(0x22) 80(0x62) 104(0x22) 140(0x62) 160(0x62) 180(0x62) 189(0x62) 205(0x22)
>  ar9170_calc_ctl: eeprom ctl_index: 0x38
>   chain 0: 78(0x22) 86(0x62) 102(0x22) 142(0x62) 158(0x62) 174(0x22) 0(0x00) 0(0x00)
>   chain 1: 78(0x22) 86(0x62) 102(0x22) 142(0x62) 158(0x62) 174(0x22) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x31
>   chain 0: 112(0x26) 117(0x66) 172(0x26) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 112(0x26) 117(0x66) 172(0x26) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x32
>   chain 0: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x35
>   chain 0: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 112(0x24) 117(0x64) 172(0x24) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x37
>   chain 0: 122(0x23) 127(0x63) 147(0x63) 152(0x23) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 122(0x23) 127(0x63) 147(0x63) 152(0x23) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x00
>   chain 0: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x00
>   chain 0: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x00
>   chain 0: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x00
>   chain 0: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_calc_ctl: eeprom ctl_index: 0x00
>   chain 0: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>   chain 1: 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00) 0(0x00)
>  ar9170_get_max_edge_power: freq 2412 max_edge_power 38
>  ar9170_get_max_edge_power: freq 2412 max_edge_power 36
>  ar9170_get_max_edge_power: freq 2412 max_edge_power 35
>  ar9170_calc_ctl: ctl_mode 5 pwr_cal[0] 24 -> 23
>  ar9170_get_max_edge_power: freq 2422 max_edge_power 29
>  ar9170_calc_ctl: ctl_mode 7 pwr_cal[0] 23 -> 1d
>  ar9170_calc_ctl: ctl_mode 7 pwr_cal[1] 22 -> 1d
>  ar9170_calc_ctl: ctl_mode 7 pwr_cal[2] 22 -> 1d
>  ar9170_calc_ctl: ctl_mode 7 pwr_cal[3] 22 -> 1d
>  ar9170_calc_ctl: ctl_mode 7 pwr_cal[4] 22 -> 1d
>  ar9170_calc_ctl: ctl_mode 7 pwr_cal[5] 22 -> 1d
>  ar9170_calc_ctl: ctl_mode 7 pwr_cal[6] 20 -> 1d
>
>

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

end of thread, other threads:[~2009-09-05 19:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-09-05 12:23 otus: conformance test limits implementation for MKK and ETSI Joerg Albert
2009-09-05 19:37 ` Luis R. Rodriguez

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