regulatory domain updated by ATH is not recognized by driver ath10k
sparks71 at gmx.de
sparks71 at gmx.de
Fri Nov 6 17:18:48 EST 2020
Hello,
i have a small problem with my QCA9984 (QNAP QWA-AC2600) card.
-[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v6/7th Gen Core
Processor Host Bridge/DRAM Registers
+-01.0-[01-04]----00.0-[02-04]--+-03.0-[03]----00.0 Qualcomm
Atheros QCA9984 802.11ac Wave 2 Wireless Network Adapter
| \-07.0-[04]----00.0 Qualcomm
Atheros QCA9984 802.11ac Wave 2 Wireless Network Adapter
tested with kernel 5.8 ubuntu and the wireless backport driver 5.8.1
and "ath" updates the regulatory domain but this is not recognized by
ath10k
The card unfortunately has 0x0 in EEPROM and is mapped to the Atheros
world domain
Nov 06 15:49:06 sparks kernel: ath: EEPROM regdomain sanitized
Nov 06 15:49:06 sparks kernel: ath: EEPROM regdomain: 0x64
Nov 06 15:49:06 sparks kernel: ath: EEPROM indicates we should expect a
direct regpair map
Nov 06 15:49:06 sparks kernel: ath: Country alpha2 being used: 00
Nov 06 15:49:06 sparks kernel: ath: Regpair used: 0x64
if I now connect the card with an AP, the regulatory domain will be
updated accordingly
ath: EEPROM regdomain: 0x8114
Nov 06 15:51:08 sparks kernel: ath: EEPROM indicates we should expect a
country code
Nov 06 15:51:08 sparks kernel: ath: doing EEPROM country->regdmn map search
Nov 06 15:51:08 sparks kernel: ath: country maps to regdmn code: 0x37
Nov 06 15:51:08 sparks kernel: ath: Country alpha2 being used: DE
Nov 06 15:51:08 sparks kernel: ath: Regpair used: 0x37
Nov 06 15:51:08 sparks kernel: ath: regdomain 0x8114 dynamically updated
by country element
but unfortunately the capabilities of the adapter do not change "iw
list" and the complete "mid band" is missing
Frequencies:
* 5180 MHz [36] (20.0 dBm)
* 5200 MHz [40] (20.0 dBm) (no IR)
* 5220 MHz [44] (20.0 dBm)
* 5240 MHz [48] (20.0 dBm)
* 5260 MHz [52] (20.0 dBm) (no IR, radar detection)
* 5280 MHz [56] (20.0 dBm) (no IR, radar detection)
* 5300 MHz [60] (20.0 dBm) (no IR, radar detection)
* 5320 MHz [64] (20.0 dBm) (no IR, radar detection)
* 5500 MHz [100] (disabled)
* 5520 MHz [104] (disabled)
* 5540 MHz [108] (disabled)
* 5560 MHz [112] (disabled)
* 5580 MHz [116] (disabled)
* 5600 MHz [120] (disabled)
* 5620 MHz [124] (disabled)
* 5640 MHz [128] (disabled)
* 5660 MHz [132] (disabled)
* 5680 MHz [136] (disabled)
* 5700 MHz [140] (disabled)
* 5720 MHz [144] (disabled)
* 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)
* 5865 MHz [173] (disabled)
so I patched ath a little bit
if (reg->current_rd != COUNTRY_ERD_FLAG && reg->current_rd != 0)
return;
printk(KERN_DEBUG "ath: EEPROM regdomain sanitized\n");
- reg->current_rd = 0x64;
+ reg->current_rd = 0x8114;
with the result that now the correct regdomain is set
[ 6.852089] ath: EEPROM regdomain sanitized
[ 6.852090] ath: EEPROM regdomain: 0x8114
[ 6.852090] ath: EEPROM indicates we should expect a country code
[ 6.852091] ath: doing EEPROM country->regdmn map search
[ 6.852091] ath: country maps to regdmn code: 0x37
[ 6.852092] ath: Country alpha2 being used: DE
[ 6.852092] ath: Regpair used: 0x37
~$ iw reg get
global
country DE: DFS-ETSI
(2400 - 2483 @ 40), (N/A, 20), (N/A)
(5150 - 5250 @ 80), (N/A, 20), (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)
phy#1
country DE: DFS-ETSI
(2400 - 2483 @ 40), (N/A, 20), (N/A)
(5150 - 5250 @ 80), (N/A, 20), (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)
phy#0
country DE: DFS-ETSI
(2400 - 2483 @ 40), (N/A, 20), (N/A)
(5150 - 5250 @ 80), (N/A, 20), (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)
phy#2 (self-managed)
country DE: DFS-UNSET
(2402 - 2437 @ 40), (6, 22), (N/A), AUTO-BW, NO-HT40MINUS,
NO-80MHZ, NO-160MHZ
(2422 - 2462 @ 40), (6, 22), (N/A), AUTO-BW, NO-80MHZ, NO-160MHZ
(2447 - 2482 @ 40), (6, 22), (N/A), AUTO-BW, NO-HT40PLUS, NO-80MHZ,
NO-160MHZ
(5170 - 5190 @ 80), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW,
IR-CONCURRENT, NO-HT40MINUS, NO-160MHZ, PASSIVE-SCAN
(5190 - 5210 @ 80), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW,
IR-CONCURRENT, NO-HT40PLUS, NO-160MHZ, PASSIVE-SCAN
(5210 - 5230 @ 80), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW,
IR-CONCURRENT, NO-HT40MINUS, NO-160MHZ, PASSIVE-SCAN
(5230 - 5250 @ 80), (6, 22), (N/A), NO-OUTDOOR, AUTO-BW,
IR-CONCURRENT, NO-HT40PLUS, NO-160MHZ, PASSIVE-SCAN
(5250 - 5270 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS,
NO-160MHZ, PASSIVE-SCAN
(5270 - 5290 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS,
NO-160MHZ, PASSIVE-SCAN
(5290 - 5310 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS,
NO-160MHZ, PASSIVE-SCAN
(5310 - 5330 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS,
NO-160MHZ, PASSIVE-SCAN
(5490 - 5510 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS,
NO-160MHZ, PASSIVE-SCAN
(5510 - 5530 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS,
NO-160MHZ, PASSIVE-SCAN
(5530 - 5550 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS,
NO-160MHZ, PASSIVE-SCAN
(5550 - 5570 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS,
NO-160MHZ, PASSIVE-SCAN
(5570 - 5590 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS,
NO-160MHZ, PASSIVE-SCAN
(5590 - 5610 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS,
NO-160MHZ, PASSIVE-SCAN
(5610 - 5630 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS,
NO-160MHZ, PASSIVE-SCAN
(5630 - 5650 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS,
NO-160MHZ, PASSIVE-SCAN
(5650 - 5670 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS,
NO-160MHZ, PASSIVE-SCAN
(5670 - 5690 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS,
NO-160MHZ, PASSIVE-SCAN
(5690 - 5710 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40MINUS,
NO-160MHZ, PASSIVE-SCAN
(5710 - 5730 @ 80), (6, 22), (0 ms), DFS, AUTO-BW, NO-HT40PLUS,
NO-160MHZ, PASSIVE-SCAN
(5735 - 5755 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40MINUS, NO-160MHZ
(5755 - 5775 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40PLUS, NO-160MHZ
(5775 - 5795 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40MINUS, NO-160MHZ
(5795 - 5815 @ 80), (6, 22), (N/A), AUTO-BW, NO-HT40PLUS, NO-160MHZ
(5815 - 5835 @ 20), (6, 22), (N/A), AUTO-BW, NO-HT40MINUS,
NO-HT40PLUS, NO-80MHZ, NO-160MHZ
but the 5Ghz QCA9984 adapter hangs on default after a reboot and the mid
band is missing again
Wiphy phy1
Frequencies:
* 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)
* 2472 MHz [13] (20.0 dBm)
* 2484 MHz [14] (disabled)
Wiphy phy0
Frequencies:
* 5180 MHz [36] (20.0 dBm)
* 5200 MHz [40] (20.0 dBm) (no IR)
* 5220 MHz [44] (20.0 dBm)
* 5240 MHz [48] (20.0 dBm)
* 5260 MHz [52] (20.0 dBm) (no IR, radar detection)
* 5280 MHz [56] (20.0 dBm) (no IR, radar detection)
* 5300 MHz [60] (20.0 dBm) (no IR, radar detection)
* 5320 MHz [64] (20.0 dBm) (no IR, radar detection)
* 5500 MHz [100] (disabled)
* 5520 MHz [104] (disabled)
* 5540 MHz [108] (disabled)
* 5560 MHz [112] (disabled)
* 5580 MHz [116] (disabled)
* 5600 MHz [120] (disabled)
* 5620 MHz [124] (disabled)
* 5640 MHz [128] (disabled)
* 5660 MHz [132] (disabled)
* 5680 MHz [136] (disabled)
* 5700 MHz [140] (disabled)
* 5720 MHz [144] (disabled)
* 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)
* 5865 MHz [173] (disabled)
if I reload the module now then everything fits
~$ sudo modprobe -r ath10k_pci
~$ sudo modprobe ath10k_pci
Wiphy phy4
Frequencies:
* 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)
* 2472 MHz [13] (20.0 dBm)
* 2484 MHz [14] (disabled)
Wiphy phy3
Frequencies:
* 5180 MHz [36] (20.0 dBm)
* 5200 MHz [40] (20.0 dBm)
* 5220 MHz [44] (20.0 dBm)
* 5240 MHz [48] (20.0 dBm)
* 5260 MHz [52] (20.0 dBm) (no IR, radar detection)
* 5280 MHz [56] (20.0 dBm) (no IR, radar detection)
* 5300 MHz [60] (20.0 dBm) (no IR, radar detection)
* 5320 MHz [64] (20.0 dBm) (no IR, radar detection)
* 5500 MHz [100] (26.0 dBm) (no IR, radar detection)
* 5520 MHz [104] (26.0 dBm) (no IR, radar detection)
* 5540 MHz [108] (26.0 dBm) (no IR, radar detection)
* 5560 MHz [112] (26.0 dBm) (no IR, radar detection)
* 5580 MHz [116] (26.0 dBm) (no IR, radar detection)
* 5600 MHz [120] (26.0 dBm) (no IR, radar detection)
* 5620 MHz [124] (26.0 dBm) (no IR, radar detection)
* 5640 MHz [128] (26.0 dBm) (no IR, radar detection)
* 5660 MHz [132] (26.0 dBm) (no IR, radar detection)
* 5680 MHz [136] (26.0 dBm) (no IR, radar detection)
* 5700 MHz [140] (26.0 dBm) (no IR, radar detection)
* 5720 MHz [144] (disabled)
* 5745 MHz [149] (13.0 dBm)
* 5765 MHz [153] (13.0 dBm)
* 5785 MHz [157] (13.0 dBm)
* 5805 MHz [161] (13.0 dBm)
* 5825 MHz [165] (13.0 dBm)
* 5845 MHz [169] (13.0 dBm)
* 5865 MHz [173] (13.0 dBm)
that's not possible? there is something hanging and the regulatory
domain and the frequencies and the flags are not updated on all adapters
! !?
does anyone have a tip or an idea what this could be?
pretty annoying issue
best regards
More information about the ath10k
mailing list