ath10k driver problems with Mikrotik R11e-5HacT

Hi,

I have a Jetson tx2 (JetPack 3.3.1, L4T28.3.1, kernel 4.4.159-tegra) with a custom carrier board and I am having problems getting the ath10k driver to work reliably - sometimes it works.

The card (https://mikrotik.com/product/R11e-5HacT) uses QCA9880 which is well supported with ath10k.

I have tried disabling the SMMU (verified that it is actually disabled, no smmu errors shown) but that didn’t seem to fix anything.

Also when it actually loads and doing a soft-reboot (sudo reboot) the cpu will get stuck and the watchdog will say there is a cpu stall for 22s.

It seems to be similar to this:
https://devtalk.nvidia.com/default/topic/1032074/jetson-tx1/ath10k-driver-failing-with-wireless-pcie-card-on-tx1/

I think there is a general problem with PCIe drivers and the way the Jetson DMA/SMMU is configured.

Some information

Using latest firmware (firmware-5.bin_10.2.4-1.0-00047) from kvalo’s ath10k repo: https://github.com/kvalo/ath10k-firmware

Detected via lspci:

nvidia@jetson-0422018036879:~$ lspci -vvv
00:03.0 PCI bridge: NVIDIA Corporation Device 10e6 (rev a1) (prog-if 00 [Normal decode])
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 388
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 0000f000-00000fff
	Memory behind bridge: 50100000-503fffff
	Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport

01:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter
	Subsystem: Device 19b6:d03c
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 450
	Region 0: Memory at 50200000 (64-bit, non-prefetchable) 
	[virtual] Expansion ROM at 50100000 [disabled] 
	Capabilities: <access denied>
	Kernel driver in use: ath10k_pci
	Kernel modules: ath10k_pci

Sometimes I managed to get it running:

[    9.720683] ath10k_pci 0000:01:00.0: enabling device (0000 -> 0002)
[    9.727528] ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
[    9.888577] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[    9.899081] ath10k_pci 0000:01:00.0: Falling back to user helper
[    9.932855] usbcore: registered new interface driver btusb
[    9.943262] usb 1-3.1: Direct firmware load for ar3k/AthrBT_0x41020000.dfu failed with error -2
[    9.952100] usb 1-3.1: Falling back to user helper
[    9.954484] ath10k_pci 0000:01:00.0: board id is not exist in otp, ignore it
[    9.954522] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/board-2.bin failed with error -2
[    9.954523] ath10k_pci 0000:01:00.0: Falling back to user helper
[    9.981086] Bluetooth: Patch file not found ar3k/AthrBT_0x41020000.dfu
[    9.987676] Bluetooth: Loading patch file failed
[    9.992388] ath3k: probe of 1-3.1:1.0 failed with error -11
[    9.998069] usbcore: registered new interface driver ath3k
[   10.014221] mmc1: queuing unknown CIS tuple 0x80 (5 bytes)
[   10.088197] sdhci-tegra 3440000.sdhci: Tuning already done, restoring the best tap value : 20
[   10.097641] F1 signature read @0x18000000=0x17214354
[   10.108045] F1 signature OK, socitype:0x1 chip:0x4354 rev:0x1 pkg:0x2
[   10.115343] DHD: dongle ram size is set to 786432(orig 786432) at 0x180000
[   10.188998] dhdsdio_write_vars: Download, Upload and compare of NVRAM succeeded.
[   10.258533] dhd_bus_init: enable 0x06, ready 0x06 (waited 0us)
[   10.260635] tegra-i2c 3190000.i2c: rx dma timeout txlen:28 rxlen:128
[   10.260639] tegra-i2c 3190000.i2c: --- register dump for debugging ----
[   10.260644] tegra-i2c 3190000.i2c: I2C_CNFG - 0x22c00
[   10.260647] tegra-i2c 3190000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[   10.260650] tegra-i2c 3190000.i2c: I2C_FIFO_CONTROL - 0x1c
[   10.260654] tegra-i2c 3190000.i2c: I2C_FIFO_STATUS - 0x800040
[   10.260681] tegra-i2c 3190000.i2c: I2C_INT_MASK - 0x6c
[   10.260684] tegra-i2c 3190000.i2c: I2C_INT_STATUS - 0x2
[   10.260720] tegra-i2c 3190000.i2c: i2c transfer timed out addr: 0x50
[   10.319839] Enabling wake69
[   10.324128] wifi_platform_get_mac_addr
[   10.329647] Firmware up: op_mode=0x0005, MAC=00:04:4b:a5:9d:b8
[   10.341885] dhd_preinit_ioctls pspretend_threshold for HostAPD failed  -23
[   10.353771] Firmware version = wl0: May 23 2018 16:37:00 version 7.35.349.47 (r690136 CY) FWID 01-5a659ebd
[   10.366123] dhd_interworking_enable: failed to set WNM info, ret=-23
[   10.372784] tegra_sysfs_on
[   10.452680] CFGP2P-ERROR) wl_cfgp2p_add_p2p_disc_if : P2P interface registered
[   10.472704] WLC_E_IF: NO_IF set, event Ignored
[   10.662119] IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready
[   11.032717] fuse init (API version 7.23)
[   11.150233] ath10k_pci 0000:01:00.0: qca988x hw2.0 (0x4100016c, 0x043202ff sub 19b6:d03c) fw 10.2.4-1.0-00047 fwapi 5 bdapi 1 htt-ver 2.1 wmi-op 5 htt-op 2 cal otp max-sta 128 raw 0 hwcrypto 1 features no-p2p,raw-mode
[   11.169558] ath10k_pci 0000:01:00.0: debug 1 debugfs 0 tracing 0 dfs 0 testmode 0
[   11.259069] ath: EEPROM regdomain: 0x0
[   11.262843] ath: EEPROM indicates default country code should be used
[   11.269310] ath: doing EEPROM country->regdmn map search
[   11.275125] ath: country maps to regdmn code: 0x3a
[   11.279934] ath: Country alpha2 being used: US
[   11.284401] ath: Regpair used: 0x3a

But most of the time either it won’t get detected by lspci (seems to be after a FW hang, restarting the Jetson makes it re-appear) or the ath10k can’t talk to it:

[   10.011488] ath10k_pci 0000:01:00.0: enabling device (0000 -> 0002)
[   10.020527] ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
[   10.029026] WLC_E_IF: NO_IF set, event Ignored
[   10.058114] ip_tables: (C) 2000-2006 Netfilter Core Team
[   10.168588] (255) csr_afir: EMEM address decode error
[   10.173794]   status = 0x2004400e; addr = 0x6ab19300
[   10.178870]   secure: no, access-type: read
[   10.183157] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000200, hubc_int_status=0x00000000
[   10.193117] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000200, hubc_int_status=0x00000000
[   10.203067] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000200, hubc_int_status=0x00000000
[   10.213007] mc-err: Too many MC errors; throttling prints
[   10.321448] tegra-i2c 3190000.i2c: rx dma timeout txlen:28 rxlen:128
[   10.328289] tegra-i2c 3190000.i2c: --- register dump for debugging ----
[   10.334944] tegra-i2c 3190000.i2c: I2C_CNFG - 0x22c00
[   10.340033] tegra-i2c 3190000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[   10.347059] tegra-i2c 3190000.i2c: I2C_FIFO_CONTROL - 0x1c
[   10.352571] tegra-i2c 3190000.i2c: I2C_FIFO_STATUS - 0x800040
[   10.358339] tegra-i2c 3190000.i2c: I2C_INT_MASK - 0x6c
[   10.363903] tegra-i2c 3190000.i2c: I2C_INT_STATUS - 0x2
[   10.369179] tegra-i2c 3190000.i2c: i2c transfer timed out addr: 0x50
[   10.400833] IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready
[   10.931898] fuse init (API version 7.23)
[   12.169398] ath10k_pci 0000:01:00.0: unable to get target info from device
[   12.176306] ath10k_pci 0000:01:00.0: could not get target info (-110)
[   12.182764] ath10k_pci 0000:01:00.0: could not probe fw (-110)

I recently disabled the smmu following some other topics here but if I re-enable the smmu I can see faults:

[    9.589538] ath10k_pci 0000:01:00.0: enabling device (0000 -> 0002)
[    9.597087] ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
[    9.769216] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[    9.779765] ath10k_pci 0000:01:00.0: Falling back to user helper
[    9.786995] Bridge firewalling registered
[    9.836839] ath10k_pci 0000:01:00.0: board id is not exist in otp, ignore it
[    9.844034] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/board-2.bin failed with error -2
[    9.854619] ath10k_pci 0000:01:00.0: Falling back to user helper
[    9.898914] ip_tables: (C) 2000-2006 Netfilter Core Team
[   10.115605] IPv6: ADDRCONF(NETDEV_UP): docker0: link is not ready
[   10.639314] fuse init (API version 7.23)
[   10.980702] arm-smmu 12000000.iommu: Unhandled context fault: iova=0x5329a000, fsynr=0x11, cb=22, sid=17(0x11 - AFI), pgd=0, pud=0, pmd=0, pte=0
[   10.993730] (255) csw_afiw: MC request violates VPR requirements
[   10.999882]   status = 0x00337031; addr = 0x3ffffffc0
[   11.004965]   secure: yes, access-type: write
[   11.009349] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000200, hubc_int_status=0x00000000
[   11.019192] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000200, hubc_int_status=0x00000000
[   11.029040] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000200, hubc_int_status=0x00000000
[   11.038885] mc-err: Too many MC errors; throttling prints
[   12.044357] ath10k_pci 0000:01:00.0: failed to receive control response completion, polling..
[   12.053272] arm-smmu 12000000.iommu: Unhandled context fault: iova=0x5329a000, fsynr=0x11, cb=22, sid=17(0x11 - AFI), pgd=0, pud=0, pmd=0, pte=0
[   12.066390] (255) csw_afiw: MC request violates VPR requirements
[   12.072680]   status = 0x00337031; addr = 0x3ffffffc0
[   12.078467]   secure: yes, access-type: write
[   12.082886] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[   12.092749] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[   12.103055] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[   12.112958] mc-err: Too many MC errors; throttling prints
[   12.805702] CFG80211-ERROR) wl_cfg80211_connect : Connectting with74:4d:28:0a:42:96 channel (1) ssid "NoTraffic_2_4", len (13)

[   13.052232] ath10k_pci 0000:01:00.0: Service connect timeout
[   13.057907] ath10k_pci 0000:01:00.0: failed to connect htt (-110)
[   13.111147] CFG80211-ERROR) wl_notify_connect_status : wl_bss_connect_done succeeded with 74:4d:28:0a:42:96
[   13.140512] CFG80211-ERROR) wl_bss_connect_done : 
[   13.140659] ath10k_pci 0000:01:00.0: could not init core (-110)
[   13.140737] ath10k_pci 0000:01:00.0: could not probe fw (-110)

lock up after reboot:

[  272.042026] NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [swapper/0:0]                                                                    
[  272.052637] Modules linked in: bnep fuse ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_nat_ipv4 xt_addrtype iptable_filter ip_tables ath10k_
pci xt_conntrack ath10k_core nf_nat ath br_netfilter overlay ath3k btusb btrtl btbcm                                                                  
G             L  4.4.159-tegra #3                                                                                                                     
[  272.101115] Hardware name: NVIDIA Tegra 186 Jetson TX2 on Geppetto - REV2.1 SU - BETA 1 module updated (DT)                                        
[  272.115005] task: ffffffc001266240 ti: ffffffc001254000 task.ti: ffffffc001254000                                                                  
[  272.126787] PC is at __do_softirq+0x98/0x350

Now with SMMU turned on and debugging mask to any (0xffffffff):

[  391.953550] ath10k_pci 0000:01:00.0: pci probe 168c:003c 19b6:d03c
[  391.960024] ath10k_pci 0000:01:00.0: boot pci_mem 0xffffff800e700000
[  391.966849] ath10k_pci 0000:01:00.0: pci irq msi interrupts 1 irq_mode 0 reset_mode 0
[  391.974731] ath10k_pci 0000:01:00.0: boot 988x chip reset
[  391.980188] ath10k_pci 0000:01:00.0: boot warm reset
[  392.017248] ath10k_pci 0000:01:00.0: boot init ce src ring id 0 entries 16 base_addr ffffff800c58c000
[  392.026513] ath10k_pci 0000:01:00.0: boot ce dest ring id 1 entries 512 base_addr ffffff800c58e000
[  392.035565] ath10k_pci 0000:01:00.0: boot ce dest ring id 2 entries 128 base_addr ffffff800c591000
[  392.044604] ath10k_pci 0000:01:00.0: boot init ce src ring id 3 entries 32 base_addr ffffff800c593000
[  392.053907] ath10k_pci 0000:01:00.0: boot init ce src ring id 4 entries 4096 base_addr ffffff800c595000
[  392.063361] ath10k_pci 0000:01:00.0: boot ce dest ring id 5 entries 512 base_addr ffffff800c59f000
[  392.072354] ath10k_pci 0000:01:00.0: boot init ce src ring id 7 entries 2 base_addr ffffff800c5a2000
[  392.081534] ath10k_pci 0000:01:00.0: boot ce dest ring id 7 entries 2 base_addr ffffff800c5a4000
[  392.090346] ath10k_pci 0000:01:00.0: boot waiting target to initialise
[  392.096895] ath10k_pci 0000:01:00.0: boot target indicator 2
[  392.102589] ath10k_pci 0000:01:00.0: boot target initialised
[  392.121223] ath10k_pci 0000:01:00.0: boot init ce src ring id 0 entries 16 base_addr ffffff800c58c000
[  392.130493] ath10k_pci 0000:01:00.0: boot ce dest ring id 1 entries 512 base_addr ffffff800c58e000
[  392.139664] ath10k_pci 0000:01:00.0: boot ce dest ring id 2 entries 128 base_addr ffffff800c591000
[  392.148673] ath10k_pci 0000:01:00.0: boot init ce src ring id 3 entries 32 base_addr ffffff800c593000
[  392.157954] ath10k_pci 0000:01:00.0: boot init ce src ring id 4 entries 4096 base_addr ffffff800c595000
[  392.167379] ath10k_pci 0000:01:00.0: boot ce dest ring id 5 entries 512 base_addr ffffff800c59f000
[  392.176384] ath10k_pci 0000:01:00.0: boot init ce src ring id 7 entries 2 base_addr ffffff800c5a2000
[  392.185554] ath10k_pci 0000:01:00.0: boot ce dest ring id 7 entries 2 base_addr ffffff800c5a4000
[  392.194342] ath10k_pci 0000:01:00.0: boot waiting target to initialise
[  392.200893] ath10k_pci 0000:01:00.0: boot target indicator 2
[  392.206578] ath10k_pci 0000:01:00.0: boot target initialised
[  392.212241] ath10k_pci 0000:01:00.0: boot warm reset complete
[  392.218014] ath10k_pci 0000:01:00.0: boot init ce src ring id 0 entries 16 base_addr ffffff800c58c000
[  392.227249] ath10k_pci 0000:01:00.0: boot ce dest ring id 1 entries 512 base_addr ffffff800c58e000
[  392.236222] ath10k_pci 0000:01:00.0: boot ce dest ring id 2 entries 128 base_addr ffffff800c591000
[  392.245198] ath10k_pci 0000:01:00.0: boot init ce src ring id 3 entries 32 base_addr ffffff800c593000
[  392.254530] ath10k_pci 0000:01:00.0: boot init ce src ring id 4 entries 4096 base_addr ffffff800c595000
[  392.264051] ath10k_pci 0000:01:00.0: boot ce dest ring id 5 entries 512 base_addr ffffff800c59f000
[  392.273103] ath10k_pci 0000:01:00.0: boot init ce src ring id 7 entries 2 base_addr ffffff800c5a2000
[  392.282369] ath10k_pci 0000:01:00.0: boot ce dest ring id 7 entries 2 base_addr ffffff800c5a4000
[  392.292293] ath10k_pci 0000:01:00.0: boot chip reset complete (warm)
[  392.298758] ath10k_pci 0000:01:00.0: boot hif power up
[  392.304331] ath10k_pci 0000:01:00.0: boot 988x chip reset
[  392.309779] ath10k_pci 0000:01:00.0: boot warm reset
[  392.345204] ath10k_pci 0000:01:00.0: boot init ce src ring id 0 entries 16 base_addr ffffff800c58c000
[  392.354488] ath10k_pci 0000:01:00.0: boot ce dest ring id 1 entries 512 base_addr ffffff800c58e000
[  392.363547] ath10k_pci 0000:01:00.0: boot ce dest ring id 2 entries 128 base_addr ffffff800c591000
[  392.372620] ath10k_pci 0000:01:00.0: boot init ce src ring id 3 entries 32 base_addr ffffff800c593000
[  392.381928] ath10k_pci 0000:01:00.0: boot init ce src ring id 4 entries 4096 base_addr ffffff800c595000
[  392.391379] ath10k_pci 0000:01:00.0: boot ce dest ring id 5 entries 512 base_addr ffffff800c59f000
[  392.400404] ath10k_pci 0000:01:00.0: boot init ce src ring id 7 entries 2 base_addr ffffff800c5a2000
[  392.409577] ath10k_pci 0000:01:00.0: boot ce dest ring id 7 entries 2 base_addr ffffff800c5a4000
[  392.418387] ath10k_pci 0000:01:00.0: boot waiting target to initialise
[  392.424949] ath10k_pci 0000:01:00.0: boot target indicator 2
[  392.430637] ath10k_pci 0000:01:00.0: boot target initialised
[  392.449171] ath10k_pci 0000:01:00.0: boot init ce src ring id 0 entries 16 base_addr ffffff800c58c000
[  392.458474] ath10k_pci 0000:01:00.0: boot ce dest ring id 1 entries 512 base_addr ffffff800c58e000
[  392.467477] ath10k_pci 0000:01:00.0: boot ce dest ring id 2 entries 128 base_addr ffffff800c591000
[  392.476496] ath10k_pci 0000:01:00.0: boot init ce src ring id 3 entries 32 base_addr ffffff800c593000
[  392.485769] ath10k_pci 0000:01:00.0: boot init ce src ring id 4 entries 4096 base_addr ffffff800c595000
[  392.495198] ath10k_pci 0000:01:00.0: boot ce dest ring id 5 entries 512 base_addr ffffff800c59f000
[  392.504195] ath10k_pci 0000:01:00.0: boot init ce src ring id 7 entries 2 base_addr ffffff800c5a2000
[  392.513350] ath10k_pci 0000:01:00.0: boot ce dest ring id 7 entries 2 base_addr ffffff800c5a4000
[  392.522147] ath10k_pci 0000:01:00.0: boot waiting target to initialise
[  392.528711] ath10k_pci 0000:01:00.0: boot target indicator 2
[  392.534403] ath10k_pci 0000:01:00.0: boot target initialised
[  392.540067] ath10k_pci 0000:01:00.0: boot warm reset complete
[  392.545841] ath10k_pci 0000:01:00.0: boot init ce src ring id 0 entries 16 base_addr ffffff800c58c000
[  392.555076] ath10k_pci 0000:01:00.0: boot ce dest ring id 1 entries 512 base_addr ffffff800c58e000
[  392.564050] ath10k_pci 0000:01:00.0: boot ce dest ring id 2 entries 128 base_addr ffffff800c591000
[  392.573025] ath10k_pci 0000:01:00.0: boot init ce src ring id 3 entries 32 base_addr ffffff800c593000
[  392.582507] ath10k_pci 0000:01:00.0: boot init ce src ring id 4 entries 4096 base_addr ffffff800c595000
[  392.591995] ath10k_pci 0000:01:00.0: boot ce dest ring id 5 entries 512 base_addr ffffff800c59f000
[  392.601059] ath10k_pci 0000:01:00.0: boot init ce src ring id 7 entries 2 base_addr ffffff800c5a2000
[  392.610277] ath10k_pci 0000:01:00.0: boot ce dest ring id 7 entries 2 base_addr ffffff800c5a4000
[  392.620186] ath10k_pci 0000:01:00.0: boot chip reset complete (warm)
[  392.626622] ath10k_pci 0000:01:00.0: boot init ce src ring id 0 entries 16 base_addr ffffff800c58c000
[  392.635940] ath10k_pci 0000:01:00.0: boot ce dest ring id 1 entries 512 base_addr ffffff800c58e000
[  392.644976] ath10k_pci 0000:01:00.0: boot ce dest ring id 2 entries 128 base_addr ffffff800c591000
[  392.654014] ath10k_pci 0000:01:00.0: boot init ce src ring id 3 entries 32 base_addr ffffff800c593000
[  392.663299] ath10k_pci 0000:01:00.0: boot init ce src ring id 4 entries 4096 base_addr ffffff800c595000
[  392.672741] ath10k_pci 0000:01:00.0: boot ce dest ring id 5 entries 512 base_addr ffffff800c59f000
[  392.681740] ath10k_pci 0000:01:00.0: boot init ce src ring id 7 entries 2 base_addr ffffff800c5a2000
[  392.690918] ath10k_pci 0000:01:00.0: boot ce dest ring id 7 entries 2 base_addr ffffff800c5a4000
[  392.710996] ath10k_pci 0000:01:00.0: bmi get target info
[  392.716398] ath10k_pci 0000:01:00.0: Hardware name qca988x hw2.0 version 0x4100016c
[  392.724175] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/cal-pci-0000:01:00.0.bin failed with error -2
[  392.734555] ath10k_pci 0000:01:00.0: Falling back to user helper
[  392.743646] ath10k_pci 0000:01:00.0: trying fw api 5
[  392.748833] ath10k_pci 0000:01:00.0: found fw version 10.2.4-1.0-00047
[  392.755447] ath10k_pci 0000:01:00.0: found fw timestamp 1565675359
[  392.761672] ath10k_pci 0000:01:00.0: found otp image ie (7221 B)
[  392.767715] ath10k_pci 0000:01:00.0: found fw image ie (241717 B)
[  392.773834] ath10k_pci 0000:01:00.0: found firmware features ie (3 B)
[  392.780304] ath10k_pci 0000:01:00.0: Enabling feature bit: 3
[  392.785988] ath10k_pci 0000:01:00.0: Enabling feature bit: 10
[  392.791762] ath10k_pci 0000:01:00.0: features
[  392.796148] ath10k_pci 0000:01:00.0: 00000000: 08 04 00 00 00 00 00 00                          ........
[  392.805655] ath10k_pci 0000:01:00.0: found fw ie wmi op version 5
[  392.811775] ath10k_pci 0000:01:00.0: found fw ie htt op version 2
[  392.817914] ath10k_pci 0000:01:00.0: using fw api 5
[  392.822834] ath10k_pci 0000:01:00.0: boot upload otp to 0x1234 len 7221 for board id
[  392.830602] ath10k_pci 0000:01:00.0: bmi fast download address 0x1234 buffer 0xffffff800c5a6038 length 7221
[  392.840376] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x1234
[  392.847051] ath10k_pci 0000:01:00.0: bmi lz data buffer 0xffffff800c5a6038 length 7220
[  392.880334] ath10k_pci 0000:01:00.0: bmi lz data buffer 0xffffffc1e60c7d18 length 4
[  392.888021] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x0
[  392.894417] ath10k_pci 0000:01:00.0: bmi execute address 0x1234 param 0x10
[  392.916580] ath10k_pci 0000:01:00.0: bmi execute result 0x1
[  392.922161] ath10k_pci 0000:01:00.0: boot get otp board id result 0x00000001 board_id 0 chip_id 0
[  392.931058] ath10k_pci 0000:01:00.0: board id is not exist in otp, ignore it
[  392.938133] ath10k_pci 0000:01:00.0: boot using board name 'bus=pci,vendor=168c,device=003c,subsystem-vendor=19b6,subsystem-device=d03c'
[  392.950484] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/board-2.bin failed with error -2
[  392.960935] ath10k_pci 0000:01:00.0: Falling back to user helper
[  392.971847] ath10k_pci 0000:01:00.0: using board api 1
[  392.977043] ath10k_pci 0000:01:00.0: bmi start
[  392.981500] ath10k_pci 0000:01:00.0: bmi write address 0x400800 length 4
[  392.988267] ath10k_pci 0000:01:00.0: bmi read address 0x400810 length 4
[  392.995012] ath10k_pci 0000:01:00.0: bmi write address 0x400810 length 4
[  393.001764] ath10k_pci 0000:01:00.0: bmi write address 0x400844 length 4
[  393.008547] ath10k_pci 0000:01:00.0: bmi write address 0x400904 length 4
[  393.015303] ath10k_pci 0000:01:00.0: bmi write address 0x4008bc length 4
[  393.022088] ath10k_pci 0000:01:00.0: boot did not find a calibration file, try DT next: -11
[  393.030459] ath10k_pci 0000:01:00.0: boot did not find DT entry, try OTP next: -2
[  393.037971] ath10k_pci 0000:01:00.0: bmi read address 0x4008ac length 4
[  393.044679] ath10k_pci 0000:01:00.0: boot push board extended data addr 0x0
[  393.051666] ath10k_pci 0000:01:00.0: bmi read address 0x400854 length 4
[  393.058379] ath10k_pci 0000:01:00.0: bmi write address 0x401cc0 length 2116
[  393.069198] ath10k_pci 0000:01:00.0: bmi write address 0x400858 length 4
[  393.075932] ath10k_pci 0000:01:00.0: boot upload otp to 0x1234 len 7221
[  393.082568] ath10k_pci 0000:01:00.0: bmi fast download address 0x1234 buffer 0xffffff800c5a6038 length 7221
[  393.092334] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x1234
[  393.099004] ath10k_pci 0000:01:00.0: bmi lz data buffer 0xffffff800c5a6038 length 7220
[  393.132283] ath10k_pci 0000:01:00.0: bmi lz data buffer 0xffffffc1e60c7cb8 length 4
[  393.140030] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x0
[  393.146432] ath10k_pci 0000:01:00.0: bmi execute address 0x1234 param 0x0
[  393.271234] ath10k_pci 0000:01:00.0: bmi execute result 0x0
[  393.276813] ath10k_pci 0000:01:00.0: boot otp execute result 0
[  393.282726] ath10k_pci 0000:01:00.0: boot using calibration mode otp
[  393.289139] ath10k_pci 0000:01:00.0: boot uploading firmware image ffffff800c5a7c78 len 241717 mode normal
[  393.298860] ath10k_pci 0000:01:00.0: bmi fast download address 0x1234 buffer 0xffffff800c5a7c78 length 241717
[  393.308798] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x1234
[  393.315461] ath10k_pci 0000:01:00.0: bmi lz data buffer 0xffffff800c5a7c78 length 241716
[  394.357026] ath10k_pci 0000:01:00.0: bmi lz data buffer 0xffffffc1e60c7cb8 length 4
[  394.364721] ath10k_pci 0000:01:00.0: bmi lz stream start address 0x0
[  394.371120] ath10k_pci 0000:01:00.0: bmi write address 0x400814 length 4
[  394.377924] ath10k_pci 0000:01:00.0: pci hif get default pipe
[  394.383728] ath10k_pci 0000:01:00.0: pci hif map service
[  394.389069] ath10k_pci 0000:01:00.0: bmi done
[  394.393480] ath10k_pci 0000:01:00.0: htt tx max num pending tx 1424
[  394.399825] ath10k_pci 0000:01:00.0: htt rx ring size 2048 fill_level 1023
[  394.406739] ath10k_pci 0000:01:00.0: boot hif start
[  394.411716] arm-smmu 12000000.iommu: Unhandled context fault: iova=0x56df5000, fsynr=0x11, cb=22, sid=17(0x11 - AFI), pgd=0, pud=0, pmd=0, pte=0
[  394.424831] (255) csw_afiw: MC request violates VPR requirements
[  394.430880]   status = 0x00337031; addr = 0x3ffffffc0
[  394.435967]   secure: yes, access-type: write
[  394.440357] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[  394.450226] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[  394.460085] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[  394.469946] mc-err: Too many MC errors; throttling prints
[  395.420775] ath10k_pci 0000:01:00.0: failed to receive control response completion, polling..
[  395.429551] ath10k_pci 0000:01:00.0: pci hif send complete check
[  395.435731] ath10k_pci 0000:01:00.0: pci hif send complete check
[  395.442081] ath10k_pci 0000:01:00.0: pci rx ce pipe 1 len 20
[  395.447945] ath10k_pci 0000:01:00.0: pci rx: 00000000: 00 00 0c 00 00 00 00 00 01 00 02 00 00 07 16 00  ................
[  395.458969] ath10k_pci 0000:01:00.0: pci rx: 00000010: 01 00 00 00                                      ....
[  395.468979] ath10k_pci 0000:01:00.0: pci hif send complete check
[  395.475102] ath10k_pci 0000:01:00.0: pci hif send complete check
[  395.481233] ath10k_pci 0000:01:00.0: pci hif send complete check
[  395.487328] ath10k_pci 0000:01:00.0: pci hif send complete check
[  395.493481] ath10k_pci 0000:01:00.0: pci hif send complete check
[  395.499591] ath10k_pci 0000:01:00.0: pci hif send complete check
[  395.505690] ath10k_pci 0000:01:00.0: Target ready! transmit resources: 2 size:1792
[  395.513343] ath10k_pci 0000:01:00.0: pci hif map service
[  395.518764] ath10k_pci 0000:01:00.0: boot htc service 'Control' ul pipe 0 dl pipe 1 eid 0 ready
[  395.527533] ath10k_pci 0000:01:00.0: boot htc service 'Control' eid 0 TX flow control disabled
[  395.536208] ath10k_pci 0000:01:00.0: boot htc service HTT Data does not allocate target credits
[  395.544988] ath10k_pci 0000:01:00.0: ath10k_htc_build_tx_ctrl_skb: skb ffffffc1a72ccd00
[  395.553124] ath10k_pci 0000:01:00.0: pci tx item 0 paddr 0x80babb0c len 16 n_items 1
[  395.560903] ath10k_pci 0000:01:00.0: pci tx data: 00000000: 00 01 08 00 6c 00 0e 00 02 00 00 03 08 00 00 00  ....l...........
[  395.572321] arm-smmu 12000000.iommu: Unhandled context fault: iova=0x56df5000, fsynr=0x11, cb=22, sid=17(0x11 - AFI), pgd=0, pud=0, pmd=0, pte=0
[  395.585440] (255) csw_afiw: MC request violates VPR requirements
[  395.591485]   status = 0x00337031; addr = 0x3ffffffc0
[  395.596562]   secure: yes, access-type: write
[  395.600973] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[  395.610859] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[  395.620751] unknown mcerr fault, int_status=0x00000000, ch_int_status=0x00000000, hubc_int_status=0x00000000
[  395.630631] mc-err: Too many MC errors; throttling prints
[  396.568748] ath10k_pci 0000:01:00.0: Service connect timeout
[  396.574715] ath10k_pci 0000:01:00.0: failed to connect htt (-110)
[  396.580990] ath10k_pci 0000:01:00.0: boot hif stop
[  396.585954] ath10k_pci 0000:01:00.0: boot warm reset
[  396.620501] ath10k_pci 0000:01:00.0: boot init ce src ring id 0 entries 16 base_addr ffffff800c58c000
[  396.629846] ath10k_pci 0000:01:00.0: boot ce dest ring id 1 entries 512 base_addr ffffff800c58e000
[  396.639012] ath10k_pci 0000:01:00.0: boot ce dest ring id 2 entries 128 base_addr ffffff800c591000
[  396.648093] ath10k_pci 0000:01:00.0: boot init ce src ring id 3 entries 32 base_addr ffffff800c593000
[  396.657452] ath10k_pci 0000:01:00.0: boot init ce src ring id 4 entries 4096 base_addr ffffff800c595000
[  396.666963] ath10k_pci 0000:01:00.0: boot ce dest ring id 5 entries 512 base_addr ffffff800c59f000
[  396.676060] ath10k_pci 0000:01:00.0: boot init ce src ring id 7 entries 2 base_addr ffffff800c5a2000
[  396.685278] ath10k_pci 0000:01:00.0: boot ce dest ring id 7 entries 2 base_addr ffffff800c5a4000
[  396.694112] ath10k_pci 0000:01:00.0: boot waiting target to initialise
[  396.700688] ath10k_pci 0000:01:00.0: boot target indicator 2
[  396.706414] ath10k_pci 0000:01:00.0: boot target initialised
[  396.724488] ath10k_pci 0000:01:00.0: boot init ce src ring id 0 entries 16 base_addr ffffff800c58c000
[  396.733853] ath10k_pci 0000:01:00.0: boot ce dest ring id 1 entries 512 base_addr ffffff800c58e000
[  396.742900] ath10k_pci 0000:01:00.0: boot ce dest ring id 2 entries 128 base_addr ffffff800c591000
[  396.751945] ath10k_pci 0000:01:00.0: boot init ce src ring id 3 entries 32 base_addr ffffff800c593000
[  396.761276] ath10k_pci 0000:01:00.0: boot init ce src ring id 4 entries 4096 base_addr ffffff800c595000
[  396.770735] ath10k_pci 0000:01:00.0: boot ce dest ring id 5 entries 512 base_addr ffffff800c59f000
[  396.779761] ath10k_pci 0000:01:00.0: boot init ce src ring id 7 entries 2 base_addr ffffff800c5a2000
[  396.788961] ath10k_pci 0000:01:00.0: boot ce dest ring id 7 entries 2 base_addr ffffff800c5a4000
[  396.797783] ath10k_pci 0000:01:00.0: boot waiting target to initialise
[  396.804327] ath10k_pci 0000:01:00.0: boot target indicator 2
[  396.810030] ath10k_pci 0000:01:00.0: boot target initialised
[  396.815722] ath10k_pci 0000:01:00.0: boot warm reset complete
[  396.821612] ath10k_pci 0000:01:00.0: ath10k_htc_notify_tx_completion: ep 0 skb ffffffc1a72ccd00
[  396.837829] ath10k_pci 0000:01:00.0: could not init core (-110)
[  396.843807] ath10k_pci 0000:01:00.0: boot hif power down
[  396.849124] ath10k_pci 0000:01:00.0: could not probe fw (-110)

Can you please try with the latest Jetpack release?
Also, the driver being used here is an upstreamed driver or a custom-built one? If it is a custom-built one, can you please also try with the upstream (i.e. that comes with the kernel source code) driver?

Hi vidyas,

I will try to run it with the latest JetPack (need to check that my dtb still works) but from what I see in the forum the issue wasn’t fixed in the latest jetpack - do you believe there is a fix in the latest JetPack?

Regarding the driver, I am using the driver from the kernel sources published by nvidia in l4t28.3.1, I tried to use a newer driver via backports and saw the same issue.

Hi vidays,

Seems like in JetPack 4.3 not only that it works but ath10k is compiled in the default kernel :)

The only issue that I have now is that after soft-reboot (sudo reboot) the card is not detected, i.e. lspci returns empty.

If i restart the Jetson using its RESET pin then it comes back but I think this might be because I use a non-standard pin for the reset pin of the Jetson.

One issue that now I see from time to time (seems to be from the nvidia pcie port device):

[   34.713311] pcieport 0000:00:03.0: AER: Corrected error received: id=0060
[   34.713380] pcieport 0000:00:03.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0018(Transmitter ID)
[   34.724058] pcieport 0000:00:03.0:   device [10de:10e6] error status/mask=00001000/00002000
[   34.732560] pcieport 0000:00:03.0:    [12] Replay Timer Timeout  
[   55.212167] pcieport 0000:00:03.0: AER: Corrected error received: id=0060
[   55.212207] pcieport 0000:00:03.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0018(Transmitter ID)
[   55.223118] pcieport 0000:00:03.0:   device [10de:10e6] error status/mask=00001000/00002000
[   55.231551] pcieport 0000:00:03.0:    [12] Replay Timer Timeout  
[   55.237720] pcieport 0000:00:03.0: AER: Corrected error received: id=0060
[   55.237751] pcieport 0000:00:03.0: can't find device of ID0060
[   57.412960] pcieport 0000:00:03.0: AER: Corrected error received: id=0060
[   57.413000] pcieport 0000:00:03.0: PCIe Bus Error: severity=Corrected, type=Data Link Layer, id=0018(Transmitter ID)
[   57.424098] pcieport 0000:00:03.0:   device [10de:10e6] error status/mask=00001000/00002000
[   57.432547] pcieport 0000:00:03.0:    [12] Replay Timer Timeout

lspci:

00:03.0 PCI bridge: NVIDIA Corporation Device 10e6 (rev a1) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 381
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 0000f000-00000fff
	Memory behind bridge: 40100000-403fffff
	Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport

01:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter
	Subsystem: Device 19b6:d03c
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 458
	Region 0: Memory at 40200000 (64-bit, non-prefetchable) 
	[virtual] Expansion ROM at 40100000 [disabled] 
	Capabilities: <access denied>
	Kernel driver in use: ath10k_pci
	Kernel modules: ath10k_pci

Can you please give the full output of ‘sudo lspci -vv’ ??
I’m wondering if it has ASPM states enabled. Also, try executing the below command as sudo and see if that makes any difference
echo performance > /sys/module/pcie_aspm/parameters/policy

Regarding ASPM it seems to be in powersave, am I correct:

nvidia@nvidia-desktop:~$ cat /sys/module/pcie_aspm/parameters/policy
default performance [powersave]

lspci:

nvidia@nvidia-desktop:~$ sudo lspci -vv
[sudo] password for nvidia: 
00:03.0 PCI bridge: NVIDIA Corporation Device 10e6 (rev a1) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 381
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	Memory behind bridge: 40100000-403fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [40] Subsystem: NVIDIA Corporation Device 0000
	Capabilities: [48] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [50] MSI: Enable- Count=1/2 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [60] HyperTransport: MSI Mapping Enable- Fixed-
		Mapping Address Base: 00000000fee00000
	Capabilities: [80] Express (v2) Root Port (Slot+), MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0
			ExtTag+ RBE+
		DevCtl:	Report errors: Correctable+ Non-Fatal+ Fatal+ Unsupported+
			RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
		LnkCap:	Port #2, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <4us
			ClockPM- Surprise- LLActRep+ BwNot+ ASPMOptComp-
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
		SltCap:	AttnBtn- PwrCtrl- MRL- AttnInd- PwrInd- HotPlug- Surprise-
			Slot #0, PowerLimit 0.000W; Interlock- NoCompl-
		SltCtl:	Enable: AttnBtn- PwrFlt- MRL- PresDet- CmdCplt- HPIrq- LinkChg-
			Control: AttnInd Off, PwrInd On, Power- Interlock-
		SltSta:	Status: AttnBtn- PowerFlt- MRL- CmdCplt- PresDet+ Interlock-
			Changed: MRL- PresDet+ LinkState+
		RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible-
		RootCap: CRSVisible-
		RootSta: PME ReqID 0000, PMEStatus- PMEPending-
		DevCap2: Completion Timeout: Range AB, TimeoutDis+, LTR+, OBFF Not Supported ARIFwd-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR+, OBFF Disabled ARIFwd-
		LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
		AERCap:	First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
	Capabilities: [140 v1] L1 PM Substates
		L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
			  PortCommonModeRestoreTime=30us PortTPowerOnTime=70us
		L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
			   T_CommonMode=30us LTR1.2_Threshold=0ns
		L1SubCtl2: T_PwrOn=70us
	Kernel driver in use: pcieport

01:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter
	Subsystem: Device 19b6:d03c
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 458
	Region 0: Memory at 40200000 (64-bit, non-prefetchable) 
	[virtual] Expansion ROM at 40100000 [disabled] 
	Capabilities: [40] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [50] MSI: Enable+ Count=1/8 Maskable+ 64bit-
		Address: fffff000  Data: 0000
		Masking: 00fe00fe  Pending: 00000000
	Capabilities: [70] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W
		DevCtl:	Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
			MaxPayload 128 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr+ UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <4us, L1 <64us
			ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp-
		LnkCtl:	ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled
		LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance De-emphasis: -6dB
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1-
			 EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
	Capabilities: [100 v1] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout+ NonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
		AERCap:	First Error Pointer: 00, GenCap- CGenEn- ChkCap- ChkEn-
	Capabilities: [140 v1] Virtual Channel
		Caps:	LPEVC=0 RefClk=100ns PATEntryBits=1
		Arb:	Fixed- WRR32- WRR64- WRR128-
		Ctrl:	ArbSelect=Fixed
		Status:	InProgress-
		VC0:	Caps:	PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
			Arb:	Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
			Ctrl:	Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
			Status:	NegoPending- InProgress-
	Capabilities: [160 v1] Device Serial Number 00-00-00-00-00-00-00-00
	Kernel driver in use: ath10k_pci
	Kernel modules: ath10k_pci

It has ASPM states enabled.
Please try the following command and see if there is any change in the behavior
echo performance > /sys/module/pcie_aspm/parameters/policy