Issue with QCA9980 initialization

Josh Bendavid joshbendavid at gmail.com
Thu Dec 17 04:10:33 PST 2015


I have a problem with QCA9980 initialization.

Hardware/software environment is a TP-Link Archer C2600 with Openwrt
trunk + patches for the c2600.  (This device has two QCA9980
controllers for simultaneous dual band operation)

Openwrt is currently populating the firmware files as follows

https://github.com/kvalo/ath10k-firmware/blob/69f955c3dd95d97c7c30960aa5c9852c80b85cc3/QCA99X0/hw2.0/boardData_AR900B_CUS239_5G_v2_001.bin
-> /lib/firmware/ath10k/QCA99X0/hw2.0/board.bin

https://github.com/kvalo/ath10k-firmware/blob/69f955c3dd95d97c7c30960aa5c9852c80b85cc3/QCA99X0/hw2.0/firmware-5.bin_10.4.1.00030-1
-> /lib/firmware/ath10k/QCA99X0/hw2.0/firmware-5.bin

https://www.codeaurora.org/cgit/quic/qsdk/oss/firmware/ath10k-firmware/plain/ath10k/QCA99X0/hw2.0/board-2.bin?id=ddcec9efd245da9365c474f513a855a55f3ac7fe
-> /lib/firmware/ath10k/QCA99X0/hw2.0/board-2.bin

Then I am extracting (at hardware initialization time) the appropriate
calibration data from the ART partition on the router flash

offset/count 4096/12064 -> /lib/firmware/ath10k/cal-pci-0000:01:00.0.bin
offset/count 20480/12064 -> /lib/firmware/ath10k/cal-pci-0001:01:00.0.bin

Using ath10k as shipped with compat-wireless in openwrt trunk out of
the box I get the output in attached nopatch.txt (and wireless is not
functioning clearly)

Using instead the patch from
http://lists.infradead.org/pipermail/ath10k/2015-November/006489.html

Then I get the output in attached patch.txt, and wireless is working
correctly with both radios.

Is it a known problem?  Is there a mistake somewhere in how I am
populating /lib/firmware, or is the applied patch the correct fix for
the time being?

Thanks,
Josh
-------------- next part --------------
[   10.163756] cfg80211: World regulatory domain updated:
[   10.163784] cfg80211:  DFS Master region: unset
[   10.167787] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[   10.172511] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   10.181945] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   10.189846] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[   10.197810] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[   10.205808] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[   10.215519] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[   10.224984] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[   10.233030] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[   10.262439] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142)
[   10.263267] ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
[   10.394488] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[   10.394519] ath10k_pci 0000:01:00.0: Falling back to user helper
[   16.935467] ath10k_pci 0000:01:00.0: qca99x0 hw2.0 target 0x01000000 chip_id 0x003b01ff sub 168c:0002
[   16.935504] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[   16.945180] ath10k_pci 0000:01:00.0: firmware ver 10.4.1.00030-1 api 5 features no-p2p crc32 d2901e01
[   18.992515] ath10k_pci 0000:01:00.0: unable to read from the device
[   18.992541] ath10k_pci 0000:01:00.0: could not execute otp for board id check: -110
[   18.997581] ath10k_pci 0000:01:00.0: failed to get board id from otp: -110, ignoring
[   19.005579] ath10k_pci 0000:01:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0040,subsystem-vendor=168c,subsystem-device=0002 from ath10k/QCA99X0/hw2.0/board-2.bin
[   19.013486] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 7e56fd07
[   20.480266] ath10k_pci 0000:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal file max-sta 512 raw 0 hwcrypto 1
[   20.536215] ath: EEPROM regdomain: 0x0
[   20.536224] ath: EEPROM indicates default country code should be used
[   20.536229] ath: doing EEPROM country->regdmn map search
[   20.536239] ath: country maps to regdmn code: 0x3a
[   20.536246] ath: Country alpha2 being used: US
[   20.536253] ath: Regpair used: 0x3a
[   20.539860] cfg80211: Regulatory domain changed to country: US
[   20.539887] cfg80211:  DFS Master region: FCC
[   20.544838] ath10k_pci 0001:01:00.0: enabling device (0140 -> 0142)
[   20.549765] ath10k_pci 0001:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
[   20.555181] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[   20.563135] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 3000 mBm), (N/A)
[   20.572695] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2300 mBm), (N/A)
[   20.580439] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2300 mBm), (0 s)
[   20.590220] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2300 mBm), (0 s)
[   20.599683] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 3000 mBm), (N/A)
[   20.607771] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 4000 mBm), (N/A)
[   20.694411] ath10k_pci 0001:01:00.0: Direct firmware load for ath10k/cal-pci-0001:01:00.0.bin failed with error -2
[   20.694441] ath10k_pci 0001:01:00.0: Falling back to user helper
[   26.684738] ath10k_pci 0001:01:00.0: qca99x0 hw2.0 target 0x01000000 chip_id 0x003b01ff sub 168c:0002
[   26.684775] ath10k_pci 0001:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[   26.695033] ath10k_pci 0001:01:00.0: firmware ver 10.4.1.00030-1 api 5 features no-p2p crc32 d2901e01
[   28.742517] ath10k_pci 0001:01:00.0: unable to read from the device
[   28.742547] ath10k_pci 0001:01:00.0: could not execute otp for board id check: -110
[   28.747589] ath10k_pci 0001:01:00.0: failed to get board id from otp: -110, ignoring
[   28.755422] ath10k_pci 0001:01:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0040,subsystem-vendor=168c,subsystem-device=0002 from ath10k/QCA99X0/hw2.0/board-2.bin
[   28.763385] ath10k_pci 0001:01:00.0: board_file api 1 bmi_id N/A crc32 7e56fd07
[   30.162038] ath10k_pci 0001:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal file max-sta 512 raw 0 hwcrypto 1
[   30.226228] ath: EEPROM regdomain: 0x0
[   30.226238] ath: EEPROM indicates default country code should be used
[   30.226244] ath: doing EEPROM country->regdmn map search
[   30.226252] ath: country maps to regdmn code: 0x3a
[   30.226260] ath: Country alpha2 being used: US
[   30.226266] ath: Regpair used: 0x3a

-------------- next part --------------
[   11.208944] cfg80211: World regulatory domain updated:
[   11.208972] cfg80211:  DFS Master region: unset
[   11.213096] cfg80211:   (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time)
[   11.217672] cfg80211:   (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   11.227273] cfg80211:   (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A)
[   11.235053] cfg80211:   (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A)
[   11.242991] cfg80211:   (5170000 KHz - 5250000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (N/A)
[   11.250915] cfg80211:   (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s)
[   11.260720] cfg80211:   (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s)
[   11.270167] cfg80211:   (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A)
[   11.278227] cfg80211:   (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A)
[   11.313595] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142)
[   11.314337] ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
[   11.444494] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[   11.444523] ath10k_pci 0000:01:00.0: Falling back to user helper
[   14.252564] ath10k_pci 0000:01:00.0: qca99x0 hw2.0 target 0x01000000 chip_id 0x003b01ff sub 168c:0002
[   14.252600] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[   14.262162] ath10k_pci 0000:01:00.0: firmware ver 10.4.1.00030-1 api 5 features no-p2p crc32 d2901e01
[   16.302530] ath10k_pci 0000:01:00.0: unable to read from the device
[   16.302556] ath10k_pci 0000:01:00.0: could not execute otp for board id check: -110
[   16.307598] ath10k_pci 0000:01:00.0: failed to get board id from otp: -110
[   16.315304] ath10k_pci 0000:01:00.0: could not probe fw (-110)
[   16.322686] ath10k_pci 0001:01:00.0: enabling device (0140 -> 0142)
[   16.328728] ath10k_pci 0001:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
[   16.464418] ath10k_pci 0001:01:00.0: Direct firmware load for ath10k/cal-pci-0001:01:00.0.bin failed with error -2
[   16.464448] ath10k_pci 0001:01:00.0: Falling back to user helper
[   18.452481] ath10k_pci 0001:01:00.0: qca99x0 hw2.0 target 0x01000000 chip_id 0x003b01ff sub 168c:0002
[   18.452518] ath10k_pci 0001:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[   18.462292] ath10k_pci 0001:01:00.0: firmware ver 10.4.1.00030-1 api 5 features no-p2p crc32 d2901e01
[   20.502532] ath10k_pci 0001:01:00.0: unable to read from the device
[   20.502562] ath10k_pci 0001:01:00.0: could not execute otp for board id check: -110
[   20.507602] ath10k_pci 0001:01:00.0: failed to get board id from otp: -110
[   20.515303] ath10k_pci 0001:01:00.0: could not probe fw (-110)



More information about the ath10k mailing list