Direct firmware load for ath10k/pre-cal-pci-0000:02:00.0.bin failed with error -2

Hi, After rebooting, I have the following messages in system log, Everything seem to work but I never had things like that before …

Direct firmware load for ath10k/pre-cal-pci-0000:02:00.0.bin failed with error -2Dec 17 21:30:44 turris kernel: [   14.825744] pci 0000:00:02.0: enabling device (0140 -> 0142)
Dec 17 21:30:44 turris kernel: [   14.831712] ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
Dec 17 21:30:44 turris kernel: [   15.064831] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:02:00.0.bin failed with error -2
Dec 17 21:30:44 turris kernel: [   15.075588] ath10k_pci 0000:02:00.0: Falling back to user helper
Dec 17 21:30:44 turris kernel: [   15.391986] firmware ath10k!pre-cal-pci-0000:02:00.0.bin: firmware_loading_store: map pages failed
Dec 17 21:30:44 turris kernel: [   15.401084] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/cal-pci-0000:02:00.0.bin failed with error -2
Dec 17 21:30:44 turris kernel: [   15.411474] ath10k_pci 0000:02:00.0: Falling back to user helper
Dec 17 21:30:44 turris kernel: [   15.422048] firmware ath10k!cal-pci-0000:02:00.0.bin: firmware_loading_store: map pages failed
Dec 17 21:30:44 turris kernel: [   15.430880] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/firmware-6.bin failed with error -2
Dec 17 21:30:44 turris kernel: [   15.441619] ath10k_pci 0000:02:00.0: Falling back to user helper
Dec 17 21:30:44 turris kernel: [   15.452365] firmware ath10k!QCA988X!hw2.0!firmware-6.bin: firmware_loading_store: map pages failed
Dec 17 21:30:44 turris kernel: [   15.470371] ath10k_pci 0000:02:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
Dec 17 21:30:44 turris kernel: [   15.479647] ath10k_pci 0000:02:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
Dec 17 21:30:44 turris kernel: [   15.489176] ath10k_pci 0000:02:00.0: firmware ver 10.2.4-1.0-00047 api 5 features no-p2p,raw-mode,mfp,allows-mesh-bcast crc32 35bd9258
Dec 17 21:30:44 turris kernel: [   15.533956] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/board-2.bin failed with error -2
Dec 17 21:30:44 turris kernel: [   15.544430] ath10k_pci 0000:02:00.0: Falling back to user helper
Dec 17 21:30:44 turris kernel: [   15.555177] firmware ath10k!QCA988X!hw2.0!board-2.bin: firmware_loading_store: map pages failed
Dec 17 21:30:44 turris kernel: [   15.564875] ath10k_pci 0000:02:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
Dec 17 21:30:44 turris kernel: [   16.703251] ath10k_pci 0000:02:00.0: htt-ver 2.1 wmi-op 5 htt-op 2 cal otp max-sta 128 raw 0 hwcrypto 1

As far as I rememer I am having the same whole 5.1.x age and I do not remember if even before,

I cannot tell you the reason for this (maybe a partly standardized firmware layout where firmware parts are are anticipated but not necessary for this particular WiFi-card), but it is absolutely OK and has been there since I can imagine (first time seen in early 2017).

1 Like

same here - message appears, but wi-fi workd w/o problems.
technically, I have two firmware files:

# find / -xdev -path \*firmware\*bin
/lib/firmware/ath10k/QCA988X/hw2.0/board.bin
/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin

which belong to one package:

# opkg search /lib/firmware/ath10k/QCA988X/hw2.0/board.bin /lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
ath10k-firmware-qca988x - 2019-10-03-d622d160-1

there are other firmware packages available:

ath10k-firmware-qca9887 - 2019-10-03-d622d160-1 - ath10k firmware for QCA9887 devices
ath10k-firmware-qca9888 - 20190416-1 - ath10k qca9888 firmware
ath10k-firmware-qca9984 - 20190416-1 - ath10k qca9984 firmware

but none seems to include ath10k/QCA988X/hw2.0/firmware-6.bin
(maybe it would be different with -ct driver)
however, as I say, wi-fi works without problems.

if you see such messages in your syslog before you see something like emerg turris[]: Router Turris successfully started. you can kind of ignore such messages (if you do not have any issues with wifi).

During boot/init there is process detecting phy0/phy1 and trying to load firmware/drivers. During first stage it somehow complains about missing country code and autodetect country “US” and fails. It tries to dispatch “helper” to fix it and there are several iteration (some will fail) until it correctly detect your country/region and loads the firmware.

Ok, thanks every one for your feedback

These messages are harmless and do not have any impact. So nothing to worry about.
You might take a look at forum OpenWrt: https://forum.openwrt.org/t/ath10k-failing-with-error-2/15113/2?u=pepe and you will see that ath10k drivers try to load plenty firmware files until it found a correct one.
Also, you can try to search this issue on OpenWrt forum and you will see that there are many people, who has this spam in their logs.

@neheb there posted a link to this commit: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/net/wireless/ath/ath10k?id=c8e028026387ea2d520a502971cfa21f8cc8212d and I see that it is included in kernel 4.19, but it didn’t get into kernel 4.14., but OpenWrt uses for mac80211 backports from 4.19 in OpenWrt 19.07, so the fix is included there.

1 Like