--- madwifi-r4182/ath_hal/ah_regdomain.c.orig +++ madwifi-r4182/ath_hal/ah_regdomain.c @@ -277,7 +277,7 @@ ETSI6_WORLD = 0x34, /* Bulgaria */ ETSI_RESERVED = 0x33, /* Reserved (Do not used) */ - MKK1_MKKA = 0x40, /* Japan (JP1) */ + MKK7_MKKA2 = 0x40, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA2 */ MKK1_MKKB = 0x41, /* Japan (JP0) */ APL4_WORLD = 0x42, /* Singapore */ MKK2_MKKA = 0x43, /* Japan with 4.9G channels */ @@ -337,7 +337,7 @@ MKK6_MKKC = 0x8B, /* Japan UNI-1 even + UNI-1 odd + MKKC */ MKK7_MKKB = 0x8C, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKB */ - MKK7_MKKA2 = 0x8D, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKA2 */ + MKK1_MKKA = 0x8D, /* Japan (JP1) */ MKK7_MKKC = 0x8E, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + MKKC */ MKK8_MKKB = 0x8F, /* Japan UNI-1 even + UNI-1 odd + UNI-2 + mid-band + MKKB */ --- madwifi-r4182/tools/ath_info/ath_info.c.orig +++ madwifi-r4182/tools/ath_info/ath_info.c @@ -1559,6 +1559,8 @@ } #endif + printf("EEPROM header: 0x%x\n", ee->ee_header); + AR5K_EEPROM_READ(AR5K_EEPROM_ANT_GAIN(ee->ee_version), ee->ee_ant_gain); if (ee->ee_version >= AR5K_EEPROM_VERSION_4_0) { @@ -1573,6 +1575,16 @@ AR5K_EEPROM_READ(AR5K_EEPROM_MISC5, ee->ee_misc5); AR5K_EEPROM_READ(AR5K_EEPROM_MISC6, ee->ee_misc6); } + /* Check for valid Amode in upgraded h/w */ + if(!(ee->ee_header & 0x1)) { + AR5K_EEPROM_READ(0xca, val); + ee->ee_header |= ( (val & 0x0800) ? 1 : 0 ); + } + } else { + if(!(ee->ee_header & 0x1)) { + AR5K_EEPROM_READ(0xcf, val); + ee->ee_header |= ( (val & 0x8000) ? 1 : 0 ); + } } if (ee->ee_version < AR5K_EEPROM_VERSION_3_3) {