Hi, I have a problem with the ath10k driver when using a board data with the World Wide regdomain. The problem I see is that the country code is not reflected in the FW. When I load the driver with the regdomain in the EEPROM to 0x60, the regulatory domain of the system is set to 00 (this is correct) # driver load relevant messages [ 30.609243] ath10k_pci 0000:01:00.0: htt-ver 3.53 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1 [ 30.688608] ath: EEPROM regdomain: 0x60 [ 30.688616] ath: EEPROM indicates we should expect a direct regpair map [ 30.688629] ath: Country alpha2 being used: 00 [ 30.692688] ath: Regpair used: 0x60 # ifconfig wlan0 up [ 35.793804] ath10k_pci 0000:01:00.0: Unknown eventid: 3 [ 35.819288] ath10k_pci 0000:01:00.0: Unknown eventid: 118809 [ 35.822234] ath10k_pci 0000:01:00.0: Unknown eventid: 90118 [ 35.845798] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready # iw reg get global country 00: DFS-UNSET (2402 - 2472 @ 40), (N/A, 20), (N/A) (2457 - 2482 @ 20), (N/A, 20), (N/A), AUTO-BW, NO-IR (2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM, NO-IR (5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW, NO-IR (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW, NO-IR (5490 - 5730 @ 160), (N/A, 20), (0 ms), DFS, NO-IR (5735 - 5835 @ 80), (N/A, 20), (N/A), NO-IR (57240 - 63720 @ 2160), (N/A, 0), (N/A) Just at this point, checking the available channels, it shows that channels 40 and 44 can be used (first thing wrong) # iw list | grep -E " MHz " | grep -Ev "disabled|radar" * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (20.0 dBm) (no IR) * 2472 MHz [13] (20.0 dBm) (no IR) * 2484 MHz [14] (20.0 dBm) (no IR) * 5180 MHz [36] (30.0 dBm) (no IR) * 5200 MHz [40] (30.0 dBm) * 5220 MHz [44] (30.0 dBm) * 5240 MHz [48] (30.0 dBm) (no IR) * 5720 MHz [144] (30.0 dBm) (no IR) * 5745 MHz [149] (30.0 dBm) (no IR) * 5765 MHz [153] (30.0 dBm) (no IR) * 5785 MHz [157] (30.0 dBm) (no IR) * 5805 MHz [161] (30.0 dBm) (no IR) * 5825 MHz [165] (30.0 dBm) (no IR) * 5845 MHz [169] (30.0 dBm) (no IR) Apart of that, if I set a country manually, the system is reconfigured to that domain and I see the next messages. # iw reg set DE [ 163.571806] ath: EEPROM regdomain: 0x8114 [ 163.576283] ath: EEPROM indicates we should expect a country code [ 163.576287] ath: doing EEPROM country->regdmn map search [ 163.576290] ath: country maps to regdmn code: 0x37 [ 163.576293] ath: Country alpha2 being used: DE [ 163.576296] ath: Regpair used: 0x37 [ 163.576301] ath: regdomain 0x8114 dynamically updated by user And this is how the regulatory is set. # iw reg get global country DE: DFS-ETSI (2400 - 2483 @ 40), (N/A, 20), (N/A) (5150 - 5250 @ 80), (N/A, 23), (N/A), NO-OUTDOOR, AUTO-BW (5250 - 5350 @ 80), (N/A, 20), (0 ms), NO-OUTDOOR, DFS, AUTO-BW (5470 - 5725 @ 160), (N/A, 26), (0 ms), DFS (5725 - 5875 @ 80), (N/A, 13), (N/A) (57000 - 66000 @ 2160), (N/A, 40), (N/A) And checking again, the channels are incorrect (see the NO-IR), so I can not use those channels (I want to use them as access point) # iw list | grep -E " MHz " | grep -Ev "disabled|radar" * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (20.0 dBm) (no IR) * 2472 MHz [13] (20.0 dBm) (no IR) * 5180 MHz [36] (23.0 dBm) (no IR) * 5200 MHz [40] (23.0 dBm) * 5220 MHz [44] (23.0 dBm) * 5240 MHz [48] (23.0 dBm) (no IR) * 5745 MHz [149] (13.0 dBm) (no IR) * 5765 MHz [153] (13.0 dBm) (no IR) * 5785 MHz [157] (13.0 dBm) (no IR) * 5805 MHz [161] (13.0 dBm) (no IR) * 5825 MHz [165] (13.0 dBm) (no IR) * 5845 MHz [169] (13.0 dBm) (no IR) On the other hand, if I use a fixed country, everything works fine. [ 22.820336] ath: EEPROM regdomain: 0x8348 [ 22.820343] ath: EEPROM indicates we should expect a country code [ 22.820349] ath: doing EEPROM country->regdmn map search [ 22.820353] ath: country maps to regdmn code: 0x3a [ 22.820357] ath: Country alpha2 being used: US [ 22.820360] ath: Regpair used: 0x3a # iw reg get global country US: DFS-FCC (2402 - 2472 @ 40), (N/A, 30), (N/A) (5170 - 5250 @ 80), (N/A, 23), (N/A), AUTO-BW (5250 - 5330 @ 80), (N/A, 23), (0 ms), DFS, AUTO-BW (5490 - 5730 @ 160), (N/A, 23), (0 ms), DFS (5735 - 5835 @ 80), (N/A, 30), (N/A) (57240 - 63720 @ 2160), (N/A, 40), (N/A) phy#0 country US: DFS-FCC (2402 - 2472 @ 40), (N/A, 30), (N/A) (5170 - 5250 @ 80), (N/A, 23), (N/A), AUTO-BW (5250 - 5330 @ 80), (N/A, 23), (0 ms), DFS, AUTO-BW (5490 - 5730 @ 160), (N/A, 23), (0 ms), DFS (5735 - 5835 @ 80), (N/A, 30), (N/A) (57240 - 63720 @ 2160), (N/A, 40), (N/A) # iw list | grep -E " MHz " | grep -Ev "disabled|radar" * 2412 MHz [1] (30.0 dBm) * 2417 MHz [2] (30.0 dBm) * 2422 MHz [3] (30.0 dBm) * 2427 MHz [4] (30.0 dBm) * 2432 MHz [5] (30.0 dBm) * 2437 MHz [6] (30.0 dBm) * 2442 MHz [7] (30.0 dBm) * 2447 MHz [8] (30.0 dBm) * 2452 MHz [9] (30.0 dBm) * 2457 MHz [10] (30.0 dBm) * 2462 MHz [11] (30.0 dBm) * 5180 MHz [36] (23.0 dBm) * 5200 MHz [40] (23.0 dBm) * 5220 MHz [44] (23.0 dBm) * 5240 MHz [48] (23.0 dBm) * 5745 MHz [149] (30.0 dBm) * 5765 MHz [153] (30.0 dBm) * 5785 MHz [157] (30.0 dBm) * 5805 MHz [161] (30.0 dBm) * 5825 MHz [165] (30.0 dBm) Is this a bug? any fix on that? Also notice, that for the World Wide case, there is not phy#0, only a global entry, just in case it can give more light on the problem