Ath10k-ct firwmare

Hi

I managed to get a ath79 booting, however, the ath10k firmware is not loading (error below)
(firmware is properly selected at compiltaion time)

What am I doing wrong ?

Thank you

[   11.558732] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x3c.
[   11.567805] PCI: Enabling device 0000:00:00.0 (0000 -> 0002)
[   11.575844] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[   11.856152] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/fwcfg-pci-0000:00:00.0.txt failed with error -2
[   11.866866] ath10k_pci 0000:00:00.0: Falling back to user helper
[   11.959771] firmware ath10k!fwcfg-pci-0000:00:00.0.txt: firmware_loading_store: map pages failed
[   11.968963] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:00:00.0.bin failed with error -2
[   11.979847] ath10k_pci 0000:00:00.0: Falling back to user helper
[   12.197823] firmware ath10k!pre-cal-pci-0000:00:00.0.bin: firmware_loading_store: map pages failed
[   12.207183] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/cal-pci-0000:00:00.0.bin failed with error -2
[   12.217711] ath10k_pci 0000:00:00.0: Falling back to user helper
[   12.415418] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/ct-firmware-5.bin failed with error -2
[   12.426568] ath10k_pci 0000:00:00.0: Falling back to user helper
[   12.562617] firmware ath10k!QCA988X!hw2.0!ct-firmware-5.bin: firmware_loading_store: map pages failed
[   12.572269] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/ct-firmware-2.bin failed with error -2
[   12.583415] ath10k_pci 0000:00:00.0: Falling back to user helper
[   12.759939] firmware ath10k!QCA988X!hw2.0!ct-firmware-2.bin: firmware_loading_store: map pages failed
[   12.769570] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/firmware-6.bin failed with error -2
[   12.780454] ath10k_pci 0000:00:00.0: Falling back to user helper
[   12.957408] firmware ath10k!QCA988X!hw2.0!firmware-6.bin: firmware_loading_store: map pages failed
[   12.966779] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/firmware-5.bin failed with error -2
[   12.977663] ath10k_pci 0000:00:00.0: Falling back to user helper
[   13.154870] firmware ath10k!QCA988X!hw2.0!firmware-5.bin: firmware_loading_store: map pages failed
[   13.164234] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/firmware-4.bin failed with error -2
[   13.175117] ath10k_pci 0000:00:00.0: Falling back to user helper
[   13.352348] firmware ath10k!QCA988X!hw2.0!firmware-4.bin: firmware_loading_store: map pages failed
[   13.361713] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/firmware-3.bin failed with error -2
[   13.372598] ath10k_pci 0000:00:00.0: Falling back to user helper
[   13.549174] firmware ath10k!QCA988X!hw2.0!firmware-3.bin: firmware_loading_store: map pages failed
[   13.562177] ath10k_pci 0000:00:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
[   13.571579] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   13.584015] ath10k_pci 0000:00:00.0: firmware ver 10.1-ct-8x-__fW-022-0d50fe92 api 2 features wmi-10.x,has-wmi-mgmt-tx,mfp,txstatus-noack,wmi-10.x-CT,ratemask-CT,txrate-CT,get-temp-CT,tx-rc-CT,cust-stats-CT,retry-gt2-CT,txrate2-CT,beacon-cb-CT crc32 52441817
[   13.703428] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/board-2.bin failed with error -2
[   13.714046] ath10k_pci 0000:00:00.0: Falling back to user helper
[   13.817136] firmware ath10k!QCA988X!hw2.0!board-2.bin: firmware_loading_store: map pages failed
[   13.826399] ath10k_pci 0000:00:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[   14.796631] ath10k_pci 0000:00:00.0: 10.1 wmi init: vdevs: 16  peers: 127  tid: 256
[   14.813407] ath10k_pci 0000:00:00.0: wmi print 'P 128 V 8 T 410'
[   14.819694] ath10k_pci 0000:00:00.0: wmi print 'msdu-desc: 1424  sw-crypt: 0 ct-sta: 0'
[   14.827842] ath10k_pci 0000:00:00.0: wmi print 'alloc rem: 24680 iram: 26312'
[   14.890610] ath10k_pci 0000:00:00.0: htt-ver 2.1 wmi-op 2 htt-op 2 cal file max-sta 128 raw 0 hwcrypto 1
[   14.903423] ath10k_pci 0000:00:00.0: NOTE:  Firmware DBGLOG output disabled in debug_mask: 0x10000000

Have you added your board to target/linux/ath79/base-files/etc/hotplug.d/firmware/11-ath10k-caldata to properly extract the pre-cal data?

Does your board need a board-specific version of board-2.bin?

See also the seemingly timely patch at

PR is https://github.com/openwrt/openwrt/pull/1957/files

Yes I updated 11-ath10k-caldata

I don't really understand why the kernel does not look for compiled firmware ?

It looks for the pre-cal data, board file, and firmware from a list of alternatives. It only logs one of the files doesn't exist (Linux code). It may well be that the cal data and firmware is being loaded.

Did the driver bring the device up?

Actually, testing it now, the device works fine, just it complains in the DMESG about those missing files

I am seeing exactly the same errors in the logs with
-b openwrt-19.07 --single-branch on 4.14.125 (model is r7800)
Is this something to worry about?
Everything works fine as far as I can see.

 [   27.338179] ath10k_pci 0001:01:00.0: assign IRQ: got 100
[   27.338216] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x46.
[   27.339166] ath10k_pci 0001:01:00.0: enabling device (0140 -> 0142)
 [   27.345236] ath10k_pci 0001:01:00.0: enabling bus mastering
[   27.345868] ath10k_pci 0001:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[   27.516409] ath10k_pci 0001:01:00.0: Direct firmware load for ath10k/fwcfg-pci-0001:01:00.0.txt failed with error -2
[   27.516444] ath10k_pci 0001:01:00.0: Falling back to user helper
   27.823519] firmware ath10k!fwcfg-pci-0001:01:00.0.txt: firmware_loading_store: map pages failed
[   27.823856] ath10k_pci 0001:01:00.0: Direct firmware load for ath10k/pre-cal-pci-0001:01:00.0.bin failed with error -2
[   27.831492] ath10k_pci 0001:01:00.0: Falling back to user helper
[   28.233497] ath10k_pci 0001:01:00.0: Direct firmware load for ath10k/QCA9984/hw1.0/ct-firmware-5.bin failed with error -2
[   28.233534] ath10k_pci 0001:01:00.0: Falling back to user helper
   28.273605] firmware ath10k!QCA9984!hw1.0!ct-firmware-5.bin: firmware_loading_store: map pages failed
[   28.273876] ath10k_pci 0001:01:00.0: Direct firmware load for ath10k/QCA9984/hw1.0/ct-firmware-2.bin failed with error -2
[   28.281937] ath10k_pci 0001:01:00.0: Falling back to user helper
 [  28.322223] firmware ath10k!QCA9984!hw1.0!ct-firmware-2.bin: firmware_loading_store: map pages failed
[   28.322506] ath10k_pci 0001:01:00.0: Direct firmware load for ath10k/QCA9984/hw1.0/firmware-6.bin failed with error -2
[   28.330548] ath10k_pci 0001:01:00.0: Falling back to user helper
[   28.375133] firmware ath10k!QCA9984!hw1.0!firmware-6.bin: firmware_loading_store: map pages failed
[   28.375357] ath10k_pci 0001:01:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe
[   28.382998] ath10k_pci 0001:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   28.395783] ath10k_pci 0001:01:00.0: firmware ver 10.4b-ct-9984-fW-012-4a059b9a8 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 f090cc6e
[   30.721298] ath10k_pci 0001:01:00.0: board_file api 2 bmi_id 0:2 crc32 cf58c3bc
[   36.565843] ath10k_pci 0001:01:00.0: 10.4 wmi init: vdevs: 16  peers: 48  tid: 96
[   36.565874] ath10k_pci 0001:01:00.0: msdu-desc: 2500  skid: 32
[   36.649714] ath10k_pci 0001:01:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186  msdu-desc: 2500  sw-crypt: 0 ct-sta: 0'
[   36.650580] ath10k_pci 0001:01:00.0: wmi print 'free: 81832 iram: 23092 sram: 17872'
[   36.960140] ath10k_pci 0001:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1

The driver looks for what it needs in an ordered list of places. It unfortunately reports when it didn't find one (error -2), but doesn't clearly indicate when it does. "Falling back to user helper" is also "normal".

I have vague memories that this was going to be "quieter" about "normal failures" in the future, but can't find the reference right now.

Edit: In Linux 4.19

1 Like

ok, so everything does work fine. It is just an irritating error in the logs...

1 Like