Search Linux Wireless

ath10k with EEPROM regdomain 0x60

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux