Adding AC Wifi to Aerohive AP330

Hello

I am trying to add QCA9882 card to Aerohive AP330 (into the 5ghz slot). I installed kmod-ath10k and ath10k-firmware-qca988x but I still cannot see card under Wireless. My dmsg related to pci is:

[    1.119972] PCI host bridge /pcie@ffe09000 (primary) ranges:
[    1.359551] /pcie@ffe09000: PCICSRBAR @ 0xfff00000
[    1.416815] setup_pci_atmu: end of DRAM 10000000
[    1.566820] PCI host bridge /pcie@ffe0a000  ranges:
[    1.797022] /pcie@ffe0a000: PCICSRBAR @ 0xfff00000
[    1.854287] setup_pci_atmu: end of DRAM 10000000
[    1.966528] fsl-pci ffe09000.pcie: PCI host bridge to bus 9000:00
[    2.039260] pci_bus 9000:00: root bus resource [io  0x0000-0xffff]
[    2.113199] pci_bus 9000:00: root bus resource [mem 0xa0000000-0xbfffffff]
[    2.195486] pci_bus 9000:00: root bus resource [bus 00-ff]
[    2.261109] pci_bus 9000:00: busn_res: [bus 00-ff] end is updated to ff
[    2.261163] pci 9000:00:00.0: [1957:0100] type 01 class 0x0b2000
[    2.261202] pci 9000:00:00.0: reg 0x10: [mem 0xfff00000-0xffffffff]
[    2.261279] pci 9000:00:00.0: supports D1 D2
[    2.261289] pci 9000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    2.261788] pci 9000:01:00.0: [168c:0030] type 00 class 0x028000
[    2.261845] pci 9000:01:00.0: reg 0x10: [mem 0xa0000000-0xa001ffff 64bit]
[    2.261898] pci 9000:01:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    2.262001] pci 9000:01:00.0: supports D1
[    2.262011] pci 9000:01:00.0: PME# supported from D0 D1 D3hot
[    2.273219] pci 9000:00:00.0: PCI bridge to [bus 01-ff]
[    2.334747] pci 9000:00:00.0:   bridge window [io  0x0000-0x0fff]
[    2.334760] pci 9000:00:00.0:   bridge window [mem 0xa0000000-0xa00fffff]
[    2.334902] pci_bus 9000:01: busn_res: [bus 01-ff] end is updated to 01
[    2.334921] pci_bus 9000:00: busn_res: [bus 00-ff] end is updated to 01
[    2.335116] fsl-pci ffe0a000.pcie: PCI host bridge to bus a000:02
[    2.407656] pci_bus a000:02: root bus resource [io  0x20000-0x2ffff] (bus address [0x0000-0xffff])
[    2.514919] pci_bus a000:02: root bus resource [mem 0xc0000000-0xdfffffff]
[    2.597209] pci_bus a000:02: root bus resource [bus 02-ff]
[    2.662824] pci_bus a000:02: busn_res: [bus 02-ff] end is updated to ff
[    2.662875] pci a000:02:00.0: [1957:0100] type 01 class 0x0b2000
[    2.662911] pci a000:02:00.0: reg 0x10: [mem 0xfff00000-0xffffffff]
[    2.662984] pci a000:02:00.0: supports D1 D2
[    2.662994] pci a000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    2.663270] pci a000:02:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    2.758834] pci a000:02:00.0: PCI bridge to [bus 03-ff]
[    2.821153] pci a000:02:00.0:   bridge window [io  0x20000-0x20fff]
[    2.821166] pci a000:02:00.0:   bridge window [mem 0x00000000-0x000fffff]
[    2.821180] pci a000:02:00.0:   bridge window [mem 0x00000000-0x000fffff 64bit pref]
[    2.821201] pci_bus a000:03: busn_res: [bus 03-ff] end is updated to 03
[    2.821217] pci_bus a000:02: busn_res: [bus 02-ff] end is updated to 03
[    3.008694] pci 9000:00:00.0: BAR 0: no space for [mem size 0x00100000]
[    3.087809] pci 9000:00:00.0: BAR 0: failed to assign [mem size 0x00100000]
[    3.171134] pci 9000:01:00.0: BAR 6: assigned [mem 0xa0020000-0xa002ffff pref]
[    3.257587] pci 9000:00:00.0: PCI bridge to [bus 01]
[    3.316948] pci 9000:00:00.0:   bridge window [io  0x0000-0xffff]
[    3.389867] pci 9000:00:00.0:   bridge window [mem 0xa0000000-0xbfffffff]
[    3.471106] pci_bus 9000:00: Some PCI device resources are unassigned, try booting with pci=realloc
[    3.579440] pci_bus 9000:00: resource 4 [io  0x0000-0xffff]
[    3.579452] pci_bus 9000:00: resource 5 [mem 0xa0000000-0xbfffffff]
[    3.579462] pci_bus 9000:01: resource 0 [io  0x0000-0xffff]
[    3.579473] pci_bus 9000:01: resource 1 [mem 0xa0000000-0xbfffffff]
[    3.579500] pci a000:02:00.0: BAR 0: no space for [mem size 0x00100000]
[    3.658596] pci a000:02:00.0: BAR 0: failed to assign [mem size 0x00100000]
[    3.741929] pci a000:02:00.0: PCI bridge to [bus 03]
[    3.801292] pci a000:02:00.0:   bridge window [io  0x20000-0x2ffff]
[    3.876294] pci a000:02:00.0:   bridge window [mem 0xc0000000-0xdfffffff]
[    3.957533] pci_bus a000:02: Some PCI device resources are unassigned, try booting with pci=realloc
[    4.065867] pci_bus a000:02: resource 4 [io  0x20000-0x2ffff]
[    4.065878] pci_bus a000:02: resource 5 [mem 0xc0000000-0xdfffffff]
[    4.065889] pci_bus a000:03: resource 0 [io  0x20000-0x2ffff]
[    4.065899] pci_bus a000:03: resource 1 [mem 0xc0000000-0xdfffffff]
[    5.294584] pcieport 9000:00:00.0: enabling device (0106 -> 0107)
[    5.366936] pcieport a000:02:00.0: enabling device (0106 -> 0107)

and lspci:

root@OpenWrt:~# lspci
9000:00:00.0 PCI bridge: Freescale Semiconductor Inc P1020E (rev 11)
9000:01:00.0 Network controller: Qualcomm Atheros AR93xx Wireless Network Adapter (rev 01)
a000:02:00.0 PCI bridge: Freescale Semiconductor Inc P1020E (rev 11)

(so the card is currently not showing).

Do you have maybe any ideas what I should investigate / do next?

By fiddling a bit with cards, slots and etc. I found out more or less what the problem is, but not necessarily the solution to it. To be more precise, on a cold boot, the start of the uboot looks like this:

U-Boot 2009.11 (Feb 22 2019 - 00:48:24), Build: jenkins-HiveOS-Honolulu_StdBuild_Rel-2031

CPU0:  P1020E, Version: 1.1, (0x80ec0011)
Core:  E500, Version: 5.1, (0x80212051)
Clock Configuration:
       CPU0:533.333 MHz, CPU1:533.333 MHz,
       CCB:266.667 MHz,
       DDR:266.667 MHz (533.333 MT/s data rate) (Asynchronous), LBC:16.667 MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
I2C:   ready
SPI:   ready
DRAM:  Configuring DDR for 533.333 MT/s data rate
DDR: 256 MB
FLASH: 64 MB
L2:    256 KB enabled
MMC:

    PCIE2 connected to Slot 1 as Root Complex (base addr ffe09000)
               Scanning PCI bus 01
        01  00  168c  003c  0280  ff
    PCIE2 on bus 00 - 01

    PCIE1 connected to Slot 2 as Root Complex (base addr ffe0a000)
    PCIE1 on bus 02 - 02

But on a reboot from OpenWRT it's:

U-Boot 2009.11 (Feb 22 2019 - 00:48:24), Build: jenkins-HiveOS-Honolulu_StdBuild_Rel-2031

CPU0:  P1020E, Version: 1.1, (0x80ec0011)
Core:  E500, Version: 5.1, (0x80212051)
Clock Configuration:
       CPU0:533.333 MHz, CPU1:533.333 MHz,
       CCB:266.667 MHz,
       DDR:266.667 MHz (533.333 MT/s data rate) (Asynchronous), LBC:16.667 MHz
L1:    D-cache 32 kB enabled
       I-cache 32 kB enabled
I2C:   ready
SPI:   ready
DRAM:  Configuring DDR for 533.333 MT/s data rate
DDR: 256 MB
FLASH: 64 MB
L2:    256 KB enabled
MMC:

    PCIE2 connected to Slot 1 as Root Complex (base addr ffe09000)
               Scanning PCI bus 01
        01  00  168c  003c  0280  ff
    PCIE2 on bus 00 - 01

    PCIE1 connected to Slot 2 as Root Complex (base addr ffe0a000)
               Scanning PCI bus 03
        03  00  168c  0030  0280  ff
    PCIE1 on bus 02 - 03

So in a nutshell after a reboot (without power cycling) it's starting to detect the second card. I was then able to install kmod/firmware and it was working fine. But after a hard reboot/power cycle it again goes back to detecting one card (and needs a soft reboot from OpenWRT).

Maybe someone encountered such problem and would be able to point me into the right direction?

Is this a Compex QCA9882? You need to destroy a pin they misuse: https://bugzilla.kernel.org/show_bug.cgi?id=84821#c55

https://pinoutguide.com/Slots/mini_pcie_pinout.shtml

1 Like