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