Archer C7 v1 - replace mpcie Card with R11e-5HacT (QCA-9880)

Hello together,

I have a Archer C7 v1 and I replaced the original mpcie-wifi-card with to following one:

Mikrotik - R11e-5HacT (QCA9880 chipset)
Product specifications

I´m not able to get the R11e-5HacT working. The on-board 2,4GHZ chip is working fine.
I tried the ath10k and ath10k-ct drivers and firmware. With both I did not get the R11e-5HacT working.

I got the card working out of the box with a LEDE-image from here PC Engines APU2 - Open Source LTE Router Project on a APU3B4 Board - I took the most up to date image from this folder image-download.
So there should no hardware problems with the card itself and we know that it works under LEDE.

Could you help me to get it work? I don´t know what I´m doing wrong.
Here I got some information:

cat /proc/version

root@LEDE:/# cat /proc/version
Linux version 4.4.79 (buildbot@builds) (gcc version 5.4.0 (LEDE GCC 5.4.0 r4683-370aacf) ) #0 Sun Aug 6 07:22:03 2017

opkg list-installed

root@LEDE:/# opkg list-installed
ath10k-firmware-qca988x - 2017-03-29-956e2609-1
base-files - 174-r4696-df3295f
busybox - 1.26.2-7
dnsmasq - 2.77-8
dropbear - 2017.75-3
firewall - 2017-05-27-a4d98aea-1
fstools - 2017-07-31-8ab4fda6-1
fwtool - 1
hostapd-common - 2016-12-19-ad02e79d-4
ip6tables - 1.6.1-1
iptables - 1.6.1-1
iw - 4.9-1
iwinfo - 2016-09-21-fd9e17be-1
jshn - 2017-06-17-fd57eea9-1
jsonfilter - 2016-07-02-dea067ad-1
kernel - 4.4.79-1-f1c8486316ad7ce347b6f93bcb575539
kmod-ath - 4.4.79+2017-01-31-2
kmod-ath10k - 4.4.79+2017-01-31-2
kmod-ath9k - 4.4.79+2017-01-31-2
kmod-ath9k-common - 4.4.79+2017-01-31-2
kmod-cfg80211 - 4.4.79+2017-01-31-2
kmod-gpio-button-hotplug - 4.4.79-2
kmod-ip6tables - 4.4.79-1
kmod-ipt-conntrack - 4.4.79-1
kmod-ipt-core - 4.4.79-1
kmod-ipt-nat - 4.4.79-1
kmod-lib-crc-ccitt - 4.4.79-1
kmod-mac80211 - 4.4.79+2017-01-31-2
kmod-nf-conntrack - 4.4.79-1
kmod-nf-conntrack6 - 4.4.79-1
kmod-nf-ipt - 4.4.79-1
kmod-nf-ipt6 - 4.4.79-1
kmod-nf-nat - 4.4.79-1
kmod-nls-base - 4.4.79-1
kmod-ppp - 4.4.79-1
kmod-pppoe - 4.4.79-1
kmod-pppox - 4.4.79-1
kmod-slhc - 4.4.79-1
kmod-usb-core - 4.4.79-1
kmod-usb-ehci - 4.4.79-1
kmod-usb-ledtrig-usbport - 4.4.79-1
kmod-usb2 - 4.4.79-1
lede-keyring - 2017-01-20-a50b7529-1
libblobmsg-json - 2017-06-17-fd57eea9-1
libc - 1.1.16-1
libgcc - 5.4.0-1
libip4tc - 1.6.1-1
libip6tc - 1.6.1-1
libiwinfo - 2016-09-21-fd9e17be-1
libjson-c - 0.12.1-1
libjson-script - 2017-06-17-fd57eea9-1
libkmod - 20-1
libnl-tiny - 0.1-5
libpthread - 1.1.16-1
libubox - 2017-06-17-fd57eea9-1
libubus - 2017-02-18-34c6e818-1
libuci - 2017-04-12-c4df32b3-1
libuclient - 2016-12-09-52d955fd-1
libxtables - 1.6.1-1
logd - 2017-03-03-21a4bd04-1
mtd - 21
netifd - 2017-07-21-34afb764-1
odhcp6c - 2017-03-22-0463b057-2
odhcpd - 2017-08-03-296b4a0d-1
opkg - 2017-07-28-4bd8601e-1
pciutils - 3.5.2-2
ppp - 2.4.7-12
ppp-mod-pppoe - 2.4.7-12
procd - 2017-08-08-a17e1e8e-1
swconfig - 11
uboot-envtools - 2015.10-1
ubox - 2017-03-03-21a4bd04-1
ubus - 2017-02-18-34c6e818-1
ubusd - 2017-02-18-34c6e818-1
uci - 2017-04-12-c4df32b3-1
uclient-fetch - 2016-12-09-52d955fd-1
usign - 2015-07-04-ef641914-1
wpad-mini - 2016-12-19-ad02e79d-4
zlib - 1.2.11-1

lspci -v

root@LEDE:/# lspci -v
01:00.0 Network controller: Qualcomm Atheros QCA986x/988x 802.11ac Wireless Network Adapter
        Subsystem: Device 19b6:d03c
        Flags: bus master, fast devsel, latency 0, IRQ 41
        Memory at 12000000 (64-bit, non-prefetchable) [size=2097153]
        Memory at <unassigned> (32-bit, non-prefetchable) [size=2]
        Memory at <unassigned> (32-bit, non-prefetchable) [size=2]
        Memory at <unassigned> (32-bit, non-prefetchable) [size=2]
        Memory at <unassigned> (32-bit, non-prefetchable) [size=2]
        [virtual] Expansion ROM at 12200000 [disabled] [size=65537]
        Capabilities: [40] Power Management version 2
        Capabilities: [50] MSI: Enable- Count=1/8 Maskable+ 64bit-
        Capabilities: [70] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Virtual Channel
        Capabilities: [160] Device Serial Number 00-00-00-00-00-00-00-00
        Kernel driver in use: ath10k_pci
lspci: Unable to load libkmod resources: error -12

dmesg | grep ath10

root@LEDE:/# dmesg | grep ath10
[   10.782381] ath10k_pci 0000:01:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0
[   11.009637] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:01:00.0.bin failed with error -2
[   11.020527] ath10k_pci 0000:01:00.0: Falling back to user helper
[   11.151970] firmware ath10k!pre-cal-pci-0000:01:00.0.bin: firmware_loading_store: map pages failed
[   11.322140] ath10k_pci 0000:01:00.0: invalid firmware magic
[   11.327948] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/firmware-4.bin failed with error -2
[   11.338843] ath10k_pci 0000:01:00.0: Falling back to user helper
[   11.560443] firmware ath10k!QCA988X!hw2.0!firmware-4.bin: firmware_loading_store: map pages failed
[   11.569723] ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA988X/hw2.0/firmware-4.bin': -11
[   11.579893] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/firmware-3.bin failed with error -2
[   11.590763] ath10k_pci 0000:01:00.0: Falling back to user helper
[   11.729024] firmware ath10k!QCA988X!hw2.0!firmware-3.bin: firmware_loading_store: map pages failed
[   11.738242] ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA988X/hw2.0/firmware-3.bin': -11
[   11.748417] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/QCA988X/hw2.0/firmware-2.bin failed with error -2
[   11.759284] ath10k_pci 0000:01:00.0: Falling back to user helper
[   11.882327] firmware ath10k!QCA988X!hw2.0!firmware-2.bin: firmware_loading_store: map pages failed
[   11.891589] ath10k_pci 0000:01:00.0: could not fetch firmware file 'ath10k/QCA988X/hw2.0/firmware-2.bin': -11
[   11.901671] ath10k_pci 0000:01:00.0: could not fetch firmware files (-11)
[   11.908556] ath10k_pci 0000:01:00.0: could not probe fw (-11)

ifconfig -a

root@LEDE:/# ifconfig -a
br-lan    Link encap:Ethernet  HWaddr F8:1A:67:2E:8B:90
          inet addr:192.168.0.6  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::fa1a:67ff:fe2e:8b90/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14076 errors:0 dropped:2151 overruns:0 frame:0
          TX packets:3434 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2138429 (2.0 MiB)  TX bytes:1059281 (1.0 MiB)

eth0      Link encap:Ethernet  HWaddr F8:1A:67:2E:8B:91
          inet6 addr: fe80::fa1a:67ff:fe2e:8b91/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:1584 (1.5 KiB)
          Interrupt:4

eth0.2    Link encap:Ethernet  HWaddr F8:1A:67:2E:8B:91
          inet6 addr: fe80::fa1a:67ff:fe2e:8b91/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:738 (738.0 B)

eth1      Link encap:Ethernet  HWaddr F8:1A:67:2E:8B:90
          inet6 addr: fe80::fa1a:67ff:fe2e:8b90/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14090 errors:0 dropped:2 overruns:0 frame:0
          TX packets:3449 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2392691 (2.2 MiB)  TX bytes:1075556 (1.0 MiB)
          Interrupt:5

eth1.1    Link encap:Ethernet  HWaddr F8:1A:67:2E:8B:90
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14081 errors:0 dropped:4 overruns:0 frame:0
          TX packets:3434 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2138659 (2.0 MiB)  TX bytes:1059281 (1.0 MiB)

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:67 errors:0 dropped:0 overruns:0 frame:0
          TX packets:67 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:7452 (7.2 KiB)  TX bytes:7452 (7.2 KiB)

wlan1     Link encap:Ethernet  HWaddr F8:1A:67:2E:8B:8F
          inet6 addr: fe80::fa1a:67ff:fe2e:8b8f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11087 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:1396590 (1.3 MiB)

Thanks a lot!
(sorry for my bad english)

It seems thare are some PCIe init problem. I am not sure how the PCIe is initialized on Atheros/Qualcomm chipset, but I think it is dove via dts.
You need someone helping you to bring the correct bindings on a custom C7 V1 build

1 Like

Tanks a lot for your reply.

Sadly I have no clue how to manipulate the device tree files, if the Archer C7 is using device tree at all.

I read something about the device tree in general, but I am novice and that stuff is realy hard to understand.

In a mailing list a read something about "calibration data through Device Tree".

http://devicetree.vger.kernel.narkive.com/1wtUr4Qz/ath10k-calibration-data-through-device-tree

Maybe the Archer C7 could not get the calibration data of the R11e-5HacT?

Is there anyone who has a clue or who can give me a advice where to look for a solution at next.