I fixed PCI finally. Sometimes you just need to sleep over it and the solution just jumps at you.
The WLAN devices as well as USB host are working now
I'm able to mount my USB3 drive but ath10k can't load FW.
root@OpenWrt:/# ifconfig -a
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:192 errors:0 dropped:0 overruns:0 frame:0
TX packets:192 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14976 (14.6 KiB) TX bytes:14976 (14.6 KiB)
wlan0 Link encap:Ethernet HWaddr CC:C0:79:FE:94:15
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:4000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
[ 7.814117] wil6210 0003:01:00.0: wil6210 device found [1ae9:0310] (rev 2) bar size 0x200000
[ 7.822825] wil6210 0003:01:00.0: enabling device (0140 -> 0142)
[ 7.828857] wil6210 0003:01:00.0 (unnamed net_device) (uninitialized): wil_pcie_probe: CSR at [mem 0xf0200000-0xf03fffff 64bit] -> 0x4d4750eb
[ 7.841533] wil6210 0003:01:00.0 (unnamed net_device) (uninitialized): wil_set_capabilities: Board hardware is Sparrow B0, flash exist
[ 7.853597] wil6210 0003:01:00.0 (unnamed net_device) (uninitialized): wil_set_capabilities: platform_capa 0x0
[ 7.864676] wil6210 0003:01:00.0 (unnamed net_device) (uninitialized): wil_refresh_fw_capabilities: keep_radio_on_during_sleep (0)
[ 7.876397] wil6210 0003:01:00.0: using dma mask 48
[ 7.881279] wil6210 0003:01:00.0 (unnamed net_device) (uninitialized): wil_if_pcie_enable: 3 MSI mode failed, try 1 MSI
[ 7.946325] wil6210 0003:01:00.0 (unnamed net_device) (uninitialized): wil_get_bl_info: Boot Loader struct v2: MAC = cc:c0:79:fe:94:15 RF = 0x0000 (status 0x0000) bband = 0x00000000
[ 7.962467] wil6210 0003:01:00.0 (unnamed net_device) (uninitialized): wil_get_bl_info: Boot Loader build 255.255.0.6836
[ 7.973318] wil6210 0003:01:00.0 (unnamed net_device) (uninitialized): wil_set_oob_mode: oob_mode to 0
[ 7.995167] irq: no irq domain found for pcie-legacy-intc !
[ 8.000758] ath10k 5.10 driver, optimized for CT firmware, probing pci device: 0x46.
[ 8.009205] ath10k_pci 0001:03:00.0: enabling device (0140 -> 0142)
[ 8.015812] ath10k_pci 0001:03:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[ 8.201446] ath10k_pci 0001:03:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe
[ 8.211359] ath10k_pci 0001:03:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[ 8.220356] ath10k_pci 0001:03:00.0: firmware ver 10.4b-ct-9984-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 7ea63dc5
[ 10.535528] ath10k_pci 0001:03:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0046,subsystem-vendor=168c,subsystem-device=cafe from ath10k/QCA9984/hw1.0/board-2.bin
[ 10.555846] ath10k_pci 0001:03:00.0: failed to fetch board-2.bin or board.bin from ath10k/QCA9984/hw1.0
[ 10.565234] ath10k_pci 0001:03:00.0: failed to fetch board file: -12
[ 10.571668] ath10k_pci 0001:03:00.0: could not probe fw (-12)
[ 10.577547] irq: no irq domain found for pcie-legacy-intc !
[ 10.583109] ath10k 5.10 driver, optimized for CT firmware, probing pci device: 0x46.
[ 10.591372] ath10k_pci 0001:04:00.0: enabling device (0140 -> 0142)
[ 10.597965] ath10k_pci 0001:04:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[ 10.781200] ath10k_pci 0001:04:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe
[ 10.791110] ath10k_pci 0001:04:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[ 10.800118] ath10k_pci 0001:04:00.0: firmware ver 10.4b-ct-9984-fW-13-5ae337bb1 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 7ea63dc5
[ 13.115445] ath10k_pci 0001:04:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0046,subsystem-vendor=168c,subsystem-device=cafe from ath10k/QCA9984/hw1.0/board-2.bin
[ 13.135771] ath10k_pci 0001:04:00.0: failed to fetch board-2.bin or board.bin from ath10k/QCA9984/hw1.0
[ 13.145159] ath10k_pci 0001:04:00.0: failed to fetch board file: -12
[ 13.151589] ath10k_pci 0001:04:00.0: could not probe fw (-12)
[ 2.560602] ehci-pci: EHCI PCI platform driver
[ 2.565630] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[ 2.572075] ohci-platform: OHCI generic platform driver
[ 2.577592] ohci-pci: OHCI PCI platform driver
[ 2.584534] irq: no irq domain found for pcie-legacy-intc !
[ 2.590195] xhci_hcd 0002:01:00.0: xHCI Host Controller
[ 2.595420] xhci_hcd 0002:01:00.0: new USB bus registered, assigned bus number 1
[ 2.736855] xhci_hcd 0002:01:00.0: hcc params 0x0200e081 hci version 0x100 quirks 0x0000000010000410
[ 2.747005] hub 1-0:1.0: USB hub found
[ 2.750804] hub 1-0:1.0: 2 ports detected
[ 2.755141] xhci_hcd 0002:01:00.0: xHCI Host Controller
[ 2.760377] xhci_hcd 0002:01:00.0: new USB bus registered, assigned bus number 2
[ 2.767845] xhci_hcd 0002:01:00.0: Host supports USB 3.0 SuperSpeed
[ 2.774254] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[ 2.782856] hub 2-0:1.0: USB hub found
[ 2.786645] hub 2-0:1.0: 2 ports detected
root@OpenWrt:/# lspci -v
0000:00:00.0 Ethernet controller: Annapurna Labs Ltd. SFP+ 10G Ethernet Adapter (rev 01)
Flags: bus master, fast devsel, latency 0, IRQ 255
Memory at fe000000 (64-bit, non-prefetchable) [size=128K]
Memory at fe150000 (64-bit, non-prefetchable) [size=4K]
Memory at fe140000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [80] Power Management version 3
Capabilities: [90] MSI-X: Enable- Count=64 Masked-
Capabilities: [100] Vendor Specific Information: ID=1c36 Rev=0 Len=200 <?>
Capabilities: [300] Single Root I/O Virtualization (SR-IOV)
lspci: Unable to load libkmod resources: error -12
0000:00:01.0 Ethernet controller: Annapurna Labs Ltd. Gigabit Ethernet Adapter (rev 01)
Flags: bus master, fast devsel, latency 0
Memory at fe080000 (64-bit, non-prefetchable) [size=128K]
Memory at fe151000 (64-bit, non-prefetchable) [size=4K]
Memory at fe144000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [80] Power Management version 3
Capabilities: [90] MSI-X: Enable- Count=64 Masked-
Capabilities: [100] Vendor Specific Information: ID=1c36 Rev=0 Len=200 <?>
0000:00:03.0 Ethernet controller: Annapurna Labs Ltd. Gigabit Ethernet Adapter (rev 01)
Flags: bus master, fast devsel, latency 0, IRQ 255
Memory at fe0a0000 (64-bit, non-prefetchable) [size=128K]
Memory at fe152000 (64-bit, non-prefetchable) [size=4K]
Memory at fe148000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [80] Power Management version 3
Capabilities: [90] MSI-X: Enable- Count=64 Masked-
Capabilities: [100] Vendor Specific Information: ID=1c36 Rev=0 Len=200 <?>
0000:00:04.0 Network and computing encryption device: Annapurna Labs Ltd. Device 0011 (rev 01)
Flags: fast devsel, IRQ 255
Memory at fe0c0000 (64-bit, non-prefetchable) [disabled] [size=128K]
Memory at fe14c000 (64-bit, non-prefetchable) [disabled] [size=8K]
Capabilities: [40] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [80] Power Management version 3
Capabilities: [90] MSI-X: Enable- Count=64 Masked-
Capabilities: [100] Vendor Specific Information: ID=1c36 Rev=0 Len=200 <?>
Capabilities: [300] Single Root I/O Virtualization (SR-IOV)
0000:00:05.0 System peripheral: Annapurna Labs Ltd. Device 0021 (rev 01)
Flags: fast devsel, IRQ 255
Memory at fe100000 (64-bit, non-prefetchable) [disabled] [size=128K]
Memory at fe14e000 (64-bit, non-prefetchable) [disabled] [size=8K]
Capabilities: [40] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [80] Power Management version 3
Capabilities: [90] MSI-X: Enable- Count=64 Masked-
Capabilities: [100] Vendor Specific Information: ID=1c36 Rev=0 Len=200 <?>
Capabilities: [300] Single Root I/O Virtualization (SR-IOV)
0001:00:00.0 PCI bridge: Annapurna Labs Ltd. Device 0031 (rev 01) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 172
Memory at e0010000 (32-bit, non-prefetchable) [size=4K]
Memory at e0011000 (32-bit, prefetchable) [size=4K]
Bus: primary=00, secondary=01, subordinate=04, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: e0200000-e05fffff [size=4M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Port (Slot-), MSI 00
Capabilities: [b0] MSI-X: Enable- Count=64 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-00-00-00-00-00-00-00
Capabilities: [150] Secondary PCI Express
Kernel driver in use: pcieport
0001:01:00.0 PCI bridge: ASMedia Technology Inc. Device 1182 (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 173
Bus: primary=01, secondary=02, subordinate=04, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: e0200000-e05fffff [size=4M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Upstream Port, MSI 00
Capabilities: [c0] Subsystem: ASMedia Technology Inc. Device 118f
Capabilities: [100] Virtual Channel
Capabilities: [200] Advanced Error Reporting
Capabilities: [300] Vendor Specific Information: ID=0000 Rev=0 Len=c00 <?>
Kernel driver in use: pcieport
0001:02:03.0 PCI bridge: ASMedia Technology Inc. Device 1182 (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 174
Bus: primary=02, secondary=03, subordinate=03, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: e0200000-e03fffff [size=2M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Downstream Port (Slot+), MSI 00
Capabilities: [c0] Subsystem: ASMedia Technology Inc. Device 118f
Capabilities: [100] Virtual Channel
Capabilities: [200] Advanced Error Reporting
Kernel driver in use: pcieport
0001:02:07.0 PCI bridge: ASMedia Technology Inc. Device 1182 (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 175
Bus: primary=02, secondary=04, subordinate=04, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: e0400000-e05fffff [size=2M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Downstream Port (Slot+), MSI 00
Capabilities: [c0] Subsystem: ASMedia Technology Inc. Device 118f
Capabilities: [100] Virtual Channel
Capabilities: [200] Advanced Error Reporting
Kernel driver in use: pcieport
0001:03:00.0 Network controller: Qualcomm Atheros QCA9984 802.11ac Wave 2 Wireless Network Adapter
Subsystem: Qualcomm Atheros Device cafe
Flags: bus master, fast devsel, latency 0, IRQ 184
Memory at e0200000 (64-bit, non-prefetchable) [size=2M]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/32 Maskable+ 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Device Serial Number 00-00-00-00-00-00-00-00
Capabilities: [158] Latency Tolerance Reporting
Capabilities: [160] L1 PM Substates
Kernel driver in use: ath10k_pci
0001:04:00.0 Network controller: Qualcomm Atheros QCA9984 802.11ac Wave 2 Wireless Network Adapter
Subsystem: Qualcomm Atheros Device cafe
Flags: bus master, fast devsel, latency 0, IRQ 185
Memory at e0400000 (64-bit, non-prefetchable) [size=2M]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/32 Maskable+ 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Device Serial Number 00-00-00-00-00-00-00-00
Capabilities: [158] Latency Tolerance Reporting
Capabilities: [160] L1 PM Substates
Kernel driver in use: ath10k_pci
0002:00:00.0 PCI bridge: Annapurna Labs Ltd. Device 0031 (rev 01) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 176
Memory at e8010000 (32-bit, non-prefetchable) [size=4K]
Memory at e8011000 (32-bit, prefetchable) [size=4K]
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: e8100000-e81fffff [size=1M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Port (Slot-), MSI 00
Capabilities: [b0] MSI-X: Enable- Count=64 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-00-00-00-00-00-00-00
Capabilities: [150] Secondary PCI Express
Kernel driver in use: pcieport
0002:01:00.0 USB controller: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller (prog-if 30 [XHCI])
Subsystem: ASMedia Technology Inc. ASM1042A USB 3.0 Host Controller
Flags: bus master, fast devsel, latency 0
Memory at e8100000 (64-bit, non-prefetchable) [size=32K]
Capabilities: [50] MSI: Enable- Count=1/8 Maskable- 64bit+
Capabilities: [68] MSI-X: Enable+ Count=8 Masked-
Capabilities: [78] Power Management version 3
Capabilities: [80] Express Legacy Endpoint, MSI 00
Capabilities: [100] Virtual Channel
Kernel driver in use: xhci_hcd
0003:00:00.0 PCI bridge: Annapurna Labs Ltd. Device 0031 (rev 01) (prog-if 00 [Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 177
Memory at f0010000 (32-bit, non-prefetchable) [size=4K]
Memory at f0011000 (32-bit, prefetchable) [size=4K]
Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
I/O behind bridge: [disabled]
Memory behind bridge: f0200000-f03fffff [size=2M]
Prefetchable memory behind bridge: [disabled]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [70] Express Root Port (Slot-), MSI 00
Capabilities: [b0] MSI-X: Enable- Count=64 Masked-
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number 00-00-00-00-00-00-00-00
Capabilities: [150] Secondary PCI Express
Kernel driver in use: pcieport
0003:01:00.0 Network controller: Wilocity Ltd. Wil6200 802.11ad Wireless Network Adapter (rev 02)
Subsystem: Wilocity Ltd. Device 0000
Flags: bus master, fast devsel, latency 0, IRQ 183
Memory at f0200000 (64-bit, non-prefetchable) [size=2M]
Capabilities: [40] Power Management version 3
Capabilities: [b0] MSI: Enable+ Count=1/4 Maskable- 64bit+
Capabilities: [70] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [148] Latency Tolerance Reporting
Capabilities: [150] L1 PM Substates
Kernel driver in use: wil6210
Update: I managed to get WLAN fully operational but only with DDWRT's firmware. Need to investigate it.
root@OpenWrt:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 4000
link/ether cc:c0:79:fe:94:15 brd ff:ff:ff:ff:ff:ff
3: wlan1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 00:34:56:78:7b:7b brd ff:ff:ff:ff:ff:ff
4: wlan2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether 00:34:56:78:8c:8c brd ff:ff:ff:ff:ff:ff
I think i know why ath10k is not able to load firmware:
[ 10.535528] ath10k_pci 0001:03:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0046,subsystem-vendor=168c,subsystem-device=cafe from ath10k/QCA9984/hw1.0/board-2.bin
We need to create a board.bin
file for this hardware.