Ath10k failing with error -2

Hello everyone. I am trying to setup an adhoc network with meshing on a Turris Omnia and noticed that ath10k fails to load its firmware. I have the kernel log pasted below. Does anyone know why this might be?

[    9.247317] ath10k_pci 0000:02:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[    9.483204] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:02:00.0.bin failed with error -2
[    9.493936] ath10k_pci 0000:02:00.0: Falling back to user helper
[    9.520946] firmware ath10k!pre-cal-pci-0000:02:00.0.bin: firmware_loading_store: map pages failed
[    9.530025] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/cal-pci-0000:02:00.0.bin failed with error -2
[    9.540418] ath10k_pci 0000:02:00.0: Falling back to user helper
[    9.550420] firmware ath10k!cal-pci-0000:02:00.0.bin: firmware_loading_store: map pages failed
[    9.559737] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/firmware-6.bin failed with error -2
[    9.570479] ath10k_pci 0000:02:00.0: Falling back to user helper
[    9.580423] firmware ath10k!QCA988X!hw2.0!firmware-6.bin: firmware_loading_store: map pages failed
[    9.590296] ath10k_pci 0000:02:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
[    9.599562] ath10k_pci 0000:02:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[    9.609082] ath10k_pci 0000:02:00.0: firmware ver 10.2.4-1.0-00037 api 5 features no-p2p,raw-mode,mfp,allows-mesh-bcast crc32 a4a52adb
[    9.653858] ath10k_pci 0000:02:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/board-2.bin failed with error -2
[    9.664327] ath10k_pci 0000:02:00.0: Falling back to user helper
[    9.674588] firmware ath10k!QCA988X!hw2.0!board-2.bin: firmware_loading_store: map pages failed
[    9.709276] ath10k_pci 0000:02:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[   10.845287] 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
[   10.961123] ath: EEPROM regdomain: 0x0
[   10.961126] ath: EEPROM indicates default country code should be used
[   10.961128] ath: doing EEPROM country->regdmn map search
[   10.961131] ath: country maps to regdmn code: 0x3a
[   10.961133] ath: Country alpha2 being used: US
[   10.961135] ath: Regpair used: 0x3a
[   11.063463] ath: EEPROM regdomain: 0x0
[   11.063467] ath: EEPROM indicates default country code should be used
[   11.063469] ath: doing EEPROM country->regdmn map search
[   11.063473] ath: country maps to regdmn code: 0x3a
[   11.063475] ath: Country alpha2 being used: US
[   11.063476] ath: Regpair used: 0x3a

I also read through the other thread on ath10k crashing. Its a similar yet different problem I think. Here ath10k never completely crashes and the only error codes I get are -2.

I believe that this is not really an "error". From what I have looked into, the ath10k driver tries a list of various files to load and reports when it doesn't find one of the various options, but doesn't log the successes.

#define ENOENT           2      /* No such file or directory */

I can confirm that the "-2" errors is usual on HH5a flashed with LEDE 17.01.4 and does not indicate any real error — despite the error code and dmesg message, the wifi works just fine.

1 Like

These errors were demoted to debug output in future versions of the driver. May make sense to backport.

2 Likes

Clearer log messages certainly would have saved me a bunch of time in wondering if there was anything "wrong" and chasing it down. Especially if the driver now logs success, that would be a great improvement, in my opinion.

Found it: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/drivers/net/wireless/ath/ath10k?h=next-20180601&id=c8e028026387ea2d520a502971cfa21f8cc8212d

And yes I agree. These firmware messages are pointless.

Patch up at: https://github.com/neheb/source/commit/c474361f5d3159f76ba56b23caac67a0428251a9

1 Like

Anyone wanna test kernel 4.9 for me?