Archer C7 ath10k firmware loading failed LEDE 17.01.4

Hello

I just installed LEDE 17.01.4 on a TP-Link archer C7 v2.
It seems to be working fine, but I get firmware loading error messages:

[ 10.720355] PCI: Enabling device 0000:01:00.0 (0000 -> 0002)
[ 10.726293] ath10k_pci 0000:01:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[ 10.947243] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:01:00.0.binfailed with error -2
[ 10.958126] ath10k_pci 0000:01:00.0: Falling back to user helper
[ 11.147949] firmware ath10k!pre-cal-pci-0000:01:00.0.bin: firmware_loading_store: map pages failed
[ 11.358816] ath10k_pci 0000:01:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
[ 11.368221] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1
[ 11.381252] ath10k_pci 0000:01:00.0: firmware ver 10.2.4-1.0-00016 api 5 features no-p2p,raw-mode,mfp crc32 0c5668f8
[ 11.392038] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/board-2.bin failed with error -2
[ 11.402645] ath10k_pci 0000:01:00.0: Falling back to user helper
[ 11.482235] firmware ath10k!QCA988X!hw2.0!board-2.bin: firmware_loading_store: map pages failed
[ 11.504087] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[ 12.629662] ath10k_pci 0000:01:00.0: htt-ver 2.1 wmi-op 5 htt-op 2 cal file max-sta 128 raw 0 hwcrypto 1
[ 12.736561] ath: EEPROM regdomain: 0x0
[ 12.736575] ath: EEPROM indicates default country code should be used
[ 12.736583] ath: doing EEPROM country->regdmn map search
[ 12.736599] ath: country maps to regdmn code: 0x3a
[ 12.736608] ath: Country alpha2 being used: US
[ 12.736616] ath: Regpair used: 0x3a

Why is it trying to load firmware-2.bin while the installed file is called firmware-5.bin?

root@archerC7:~# find /lib/firmware/
/lib/firmware/
/lib/firmware/ath10k
/lib/firmware/ath10k/QCA988X
/lib/firmware/ath10k/QCA988X/hw2.0
/lib/firmware/ath10k/QCA988X/hw2.0/board.bin
/lib/firmware/ath10k/QCA988X/hw2.0/firmware-5.bin
/lib/firmware/ath10k/cal-pci-0000:01:00.0.bin

I see the same kinds of messages in my Archer C7s' logs. I looked into this some time ago and my recollection is that the driver reports failures, but not successes. Unconfirmed, but what I believe is happening is that the driver is trying a generic list of potential bits of firmware to load, some of which are "appropriate" for the config, some are not.

See build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.9.96/drivers/net/wireless/ath/ath10k/hw.h

From build_dir/target-mips_24kc_musl/linux-ar71xx_generic/linux-4.9.96/drivers/base/firmware_class.c

   1173         ret = fw_get_filesystem_firmware(device, fw->priv);
   1174         if (ret) {
   1175                 if (!(opt_flags & FW_OPT_NO_WARN))
   1176                         dev_warn(device,
   1177                                  "Direct firmware load for %s failed with error %d\n",
   1178                                  name, ret);
   1179                 if (opt_flags & FW_OPT_USERHELPER) {
   1180                         dev_warn(device, "Falling back to user helper\n");
   1181                         ret = fw_load_from_user_helper(fw, name, device,
   1182                                                        opt_flags, timeout);
   1183                 }
   1184         }
   1185 
   1186         if (!ret)
   1187                 ret = assign_firmware_buf(fw, device, opt_flags);
   1188 
   1189         usermodehelper_read_unlock();
   1190 
   1191  out:
   1192         if (ret < 0) {
   1193                 release_firmware(fw);
   1194                 fw = NULL;
   1195         }
   1196 
   1197         *firmware_p = fw;
   1198         return ret;
   1199 }

OK so maybe there is nothing to worry about.

Is it normal that 160 MHz channels are not supported?

I've never even considered 160-MHz channels, as at least here in the US there aren't any "usable" 160-MHz channels due to DFS