it is incompatible with plain ath10k driver. since the support used to be available does anyone have ath10k fw binaries? these do not seem to exist in git repos or elsewhere.
tp-link fw loads but is not usable:
[ 9.940000] ath10k_pci 0000:01:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit]
[ 9.950000] PCI: Enabling device 0000:01:00.0 (0000 -> 0002)
[ 9.950000] ath10k: MSI didn't succeed (-1), trying legacy INTR
[ 9.980000] ath10k: legacy interrupt handling
[ 10.200000] ath10k: Hardware name qca988x hw1.0 version 0x4000002c
[ 11.260000] ath10k: UART prints disabled
[ 11.270000] ath10k: Unknown eventid: 32768
[ 16.270000] ath10k: wmi service ready event not received
[ 16.270000] ath10k: init htc connect failed (-145)
[ 16.280000] ath10k: could not init core (-145)
[ 16.280000] ath10k: could not probe fw (-145)
[ 16.290000] ath10k: could not register driver core (-145)
[ 16.290000] ath10k_pci: probe of 0000:01:00.0 failed with error -145
[ 18.660000] eth1: link up (1000Mbps/Full duplex)
[ 18.660000] device eth1 entered promiscuous mode
notice how it waits exactly 5 secs from 11.27 to 16.27 before it fails.
ath10k fw (for hw2.0) doesn't even start, most likely due to file format:
[ 9.940000] PCI: Enabling device 0000:01:00.0 (0000 -> 0002)
[ 9.940000] ath10k: MSI didn't succeed (-1), trying legacy INTR
[ 9.970000] ath10k: legacy interrupt handling
[ 10.320000] ath10k: Hardware name qca988x hw1.0 version 0x4000002c
[ 11.520000] ath10k: early firmware event indicated
[ 11.600000] ath10k: unable to write LZ data to the device
[ 11.600000] ath10k: could not write fw (-145)
[ 11.600000] ath10k: could not init core (-145)
[ 11.610000] ath10k: could not probe fw (-145)
[ 11.610000] ath10k: could not register driver core (-145)
[ 11.620000] ath10k_pci: probe of 0000:01:00.0 failed with error -145
[ 14.000000] eth1: link up (1000Mbps/Full duplex)
update: latest 2.0 fw starts after cutting board data out and some trailing chars
previously device would crash if used ath10k_pci_device_reset pointing to this offending line
if (!(ath10k_pci_reg_read32(mem, RTC_STATE_ADDRESS) &
of compat-wireless-2013-06-27,
after putting two warn prints here:
/* Put Target, including PCIe, into RESET. */
val = ath10k_pci_reg_read32(mem, SOC_GLOBAL_RESET_ADDRESS);
val |= 1;
ath10k_pci_reg_write32(mem, SOC_GLOBAL_RESET_ADDRESS, val);
for (i = 0; i < ATH_PCI_RESET_WAIT_MAX; i++) {
if (ath10k_pci_reg_read32(mem, RTC_STATE_ADDRESS) &
RTC_STATE_COLD_RESET_MASK)
ath10k_warn("put into reset \n");
break;
msleep(1);
}
/* Pull Target, including PCIe, out of RESET. */
val &= ~1;
ath10k_pci_reg_write32(mem, SOC_GLOBAL_RESET_ADDRESS, val);
for (i = 0; i < ATH_PCI_RESET_WAIT_MAX; i++) {
if (!(ath10k_pci_reg_read32(mem, RTC_STATE_ADDRESS) &
RTC_STATE_COLD_RESET_MASK))
ath10k_warn("pull out of reset \n");
break;
msleep(1);
}
there is no more crash, but bootlog revealed that while pcie is being pulled out of reset it was never put into reset!
[ 9.790000] ath10k_pci 0000:01:00.0: BAR 0: assigned [mem 0x12000000-0x121fffff 64bit]
[ 9.800000] PCI: Enabling device 0000:01:00.0 (0000 -> 0002)
[ 9.810000] ath10k: MSI-X didn't succeed (-1), trying MSI
[ 9.810000] ath10k: MSI didn't succeed (-1), trying legacy INTR
[ 9.840000] ath10k: legacy interrupt handling
[ 9.840000] ath10k: pull out of reset
[ 10.790000] ath10k: Hardware name qca988x hw1.0 version 0x4000002c
[ 12.020000] ath10k: UART prints disabled
[ 13.030000] ath10k: ctl_resp never came in (-145)
[ 13.030000] ath10k: could not init core (-145)
[ 13.040000] ath10k: could not probe fw (-145)
[ 13.040000] ath10k: could not register driver core (-145)
[ 13.050000] ath10k_pci: probe of 0000:01:00.0 failed with error -145
[ 14.930000] eth1: link up (1000Mbps/Full duplex)