Steps for using a mini PCIe slot on WG3526

I bought a WG3526 with an unpopulated mini PCIe slot. I loaded openwrt no problem and it works. I want to use the expansion slot for Client connected (WAN side) Wifi. I have tried a couple of different Wifi cards but I cannot see either of the devices after installing the driver packages. My question is if I need to configure something in order to activate the PCIe slot? Is another driver required for this port? Or have I just got the wrong drivers, ??.

Model: Zbtlink ZBT-WG3526 (32M)
Architecture:  MediaTek MT7621 ver:1 eco:3
Firmware Version: OpenWrt 21.02.1 r16325-88151b8303 / LuCI openwrt-21.02 branch git-21.295.67054-13df80d
Kernel Version:  5.4.154

I tried an intel 7260 card I tried the following packages (currently removed)

  • iwlwifi-firmware-iwl7260
  • kmod-iwlwifi

For an Atheros 9287 card which is currently in the system I had loaded a bunch, some unnecessary ones I suspect

  • ath9k-htc-firmware
  • kmod-ath
  • kmod-ath9k
  • kmod-ath9k-common
  • kmod-ath9k-htc

The kernel loads PCI devices for the onboard ethernet ports and onboard WiFi radios. But I don't think it is actually associating the device in the slot.

This boot is the ATH9287 wifi card in the PCIe slot.

[    0.000000] Linux version 5.4.154 (builder@buildhost) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r16325-88151b8303)) #0 SMP Sun Oct 24 09:01:35 2021
[    0.000000] SoC Type: MediaTek MT7621 ver:1 eco:3
[    0.000000] printk: bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 0001992f (MIPS 1004Kc)
[    0.000000] MIPS: machine is Zbtlink ZBT-WG3526 (32M)
[    0.000000] Initrd not found or empty - disabling initrd
[    0.000000] VPE topology {2,2} total 4
[    0.000000] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    0.000000] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    0.000000] Zone ranges:
[    0.000000]   Normal   [mem 0x0000000000000000-0x000000000fffffff]
[    0.000000]   HighMem  [mem 0x0000000010000000-0x0000000023ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000001bffffff]
[    0.000000]   node   0: [mem 0x0000000020000000-0x0000000023ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000023ffffff]
[    0.000000] On node 0 totalpages: 131072
[    0.000000]   Normal zone: 576 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 65536 pages, LIFO batch:15
[    0.000000]   HighMem zone: 65536 pages, LIFO batch:15
...
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 130496
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
[    0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes, linear)
[    0.000000] Writing ErrCtl register=00060000
[    0.000000] Readback ErrCtl register=00060000
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 510056K/524288K available (6089K kernel code, 210K rwdata, 748K rodata, 1260K init, 238K bss, 14232K reserved, 0K cma-reserved, 262144K highmem)
[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] NR_IRQS: 256
[    0.000000] random: get_random_bytes called from 0x806e5a3c with crng_init=0
[    0.000000] CPU Clock: 880MHz
[    0.000000] clocksource: GIC: mask: 0xffffffffffffffff max_cycles: 0xcaf478abb4, max_idle_ns: 440795247997 ns
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 4343773742 ns
[    0.000009] sched_clock: 32 bits at 440MHz, resolution 2ns, wraps every 4880645118ns
[    0.007832] Calibrating delay loop... 583.68 BogoMIPS (lpj=1167360)
[    0.042016] pid_max: default: 32768 minimum: 301
[    0.046802] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.054028] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
[    0.064609] rcu: Hierarchical SRCU implementation.
[    0.070080] smp: Bringing up secondary CPUs ...
[    3.804378] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    3.804389] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    3.804402] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    3.804511] CPU1 revision is: 0001992f (MIPS 1004Kc)
[    0.102834] Synchronize counters for CPU 1: done.
[    3.871869] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    3.871879] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    3.871888] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    3.871950] CPU2 revision is: 0001992f (MIPS 1004Kc)
[    0.167586] Synchronize counters for CPU 2: done.
[    3.927107] Primary instruction cache 32kB, VIPT, 4-way, linesize 32 bytes.
[    3.927117] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[    3.927127] MIPS secondary cache 256kB, 8-way, linesize 32 bytes.
[    3.927193] CPU3 revision is: 0001992f (MIPS 1004Kc)
[    0.225452] Synchronize counters for CPU 3: done.
[    0.255338] smp: Brought up 1 node, 4 CPUs
[    0.263872] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.273570] futex hash table entries: 1024 (order: 3, 32768 bytes, linear)
[    0.280687] pinctrl core: initialized pinctrl subsystem
[    0.287719] NET: Registered protocol family 16
[    0.300748] FPU Affinity set after 4688 emulations
[    0.318496] workqueue: max_active 576 requested for napi_workq is out of range, clamping between 1 and 512
[    0.330009] clocksource: Switched to clocksource GIC
...
[    0.555594] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    0.561593] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    0.567450] mt7621_gpio 1e000600.gpio: registering 32 gpios
[    0.574027] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled
[    0.584469] printk: console [ttyS0] disabled
[    0.588780] 1e000c00.uartlite: ttyS0 at MMIO 0x1e000c00 (irq = 19, base_baud = 3125000) is a 16550A
...
[    0.675483] mtd: partition "firmware" extends beyond the end of device "spi0.0" -- size truncated to 0xfb0000
[    0.687042] 2 uimage-fw partitions found on MTD device firmware
[    0.692990] Creating 2 MTD partitions on "firmware":
...
[    0.731145] libphy: Fixed MDIO Bus: probed
[    0.760378] libphy: mdio: probed
[    0.763901] mt7530 mdio-bus:1f: MT7530 adapts as multi-chip module
[    0.774172] mtk_soc_eth 1e100000.ethernet eth0: mediatek frame engine at 0xbe100000, irq 22
[    0.783816] i2c-mt7621 1e000900.i2c: clock 100 kHz
[    0.790410] mt7621-pci 1e140000.pcie: Parsing DT failed
[    0.798731] NET: Registered protocol family 10
[    0.804720] Segment Routing with IPv6
[    0.808578] NET: Registered protocol family 17
[    0.813146] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this.
[    0.826353] 8021q: 802.1Q VLAN Support v1.8
[    0.832688] mt7530 mdio-bus:1f: MT7530 adapts as multi-chip module
[    0.850176] libphy: dsa slave smi: probed
[    0.854656] mt7530 mdio-bus:1f lan1 (uninitialized): PHY [dsa-0.0:00] driver [Generic PHY]
...
[    0.903909] mt7530 mdio-bus:1f: configuring for fixed/rgmii link mode
[    0.915152] DSA: tree 0 setup
[    0.918470] rt2880-pinmux pinctrl: pcie is already enabled
[    0.924128] mt7621-pci-phy 1e149000.pcie-phy: PHY for 0xbe149000 (dual port = 1)
[    0.931741] mt7621-pci-phy 1e14a000.pcie-phy: PHY for 0xbe14a000 (dual port = 0)
[    1.038957] mt7621-pci-phy 1e149000.pcie-phy: Xtal is 40MHz
[    1.044539] mt7621-pci-phy 1e14a000.pcie-phy: Xtal is 40MHz
[    1.149830] mt7621-pci 1e140000.pcie: pcie2 no card, disable it (RST & CLK)
[    1.156784] mt7621-pci 1e140000.pcie: PCIE0 enabled
[    1.161662] mt7621-pci 1e140000.pcie: PCIE1 enabled
[    1.166545] mt7621-pci 1e140000.pcie: PCI coherence region base: 0x60000000, mask/settings: 0xf0000002
[    1.176017] mt7621-pci 1e140000.pcie: PCI host bridge to bus 0000:00
[    1.182385] pci_bus 0000:00: root bus resource [io  0x1e160000-0x1e16ffff]
[    1.189256] pci_bus 0000:00: root bus resource [mem 0x60000000-0x6fffffff]
[    1.196129] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.201654] pci 0000:00:00.0: [0e8d:0801] type 01 class 0x060400
[    1.207691] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    1.213992] pci 0000:00:00.0: reg 0x14: [mem 0x60400000-0x6040ffff]
[    1.220322] pci 0000:00:00.0: supports D1
[    1.224328] pci 0000:00:00.0: PME# supported from D0 D1 D3hot
[    1.230445] pci 0000:00:01.0: [0e8d:0801] type 01 class 0x060400
[    1.236493] pci 0000:00:01.0: reg 0x10: [mem 0x00000000-0x7fffffff]
[    1.242760] pci 0000:00:01.0: reg 0x14: [mem 0x60410000-0x6041ffff]
[    1.249084] pci 0000:00:01.0: supports D1
[    1.253093] pci 0000:00:01.0: PME# supported from D0 D1 D3hot
[    1.260370] pci 0000:01:00.0: [14c3:7603] type 00 class 0x028000
[    1.266442] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x000fffff]
[    1.272844] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold
[    1.280282] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    1.285527] pci 0000:00:00.0:   bridge window [io  0x0000-0x0fff]
[    1.291616] pci 0000:00:00.0:   bridge window [mem 0x60000000-0x600fffff]
[    1.298399] pci 0000:00:00.0:   bridge window [mem 0x60100000-0x601fffff pref]
[    1.305618] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    1.312431] pci 0000:02:00.0: [14c3:7662] type 00 class 0x028000
[    1.318495] pci 0000:02:00.0: reg 0x10: [mem 0x00000000-0x000fffff 64bit]
[    1.325316] pci 0000:02:00.0: reg 0x30: [mem 0x00000000-0x0000ffff pref]
[    1.332112] pci 0000:02:00.0: PME# supported from D0 D3hot D3cold
[    1.339567] pci 0000:00:01.0: PCI bridge to [bus 02-ff]
[    1.344811] pci 0000:00:01.0:   bridge window [io  0x0000-0x0fff]
[    1.350902] pci 0000:00:01.0:   bridge window [mem 0x60200000-0x602fffff]
[    1.357684] pci 0000:00:01.0:   bridge window [mem 0x60300000-0x603fffff pref]
[    1.364898] pci_bus 0000:02: busn_res: [bus 02-ff] end is updated to 02
[    1.371559] pci 0000:00:00.0: BAR 0: no space for [mem size 0x80000000]
[    1.378169] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x80000000]
[    1.385125] pci 0000:00:01.0: BAR 0: no space for [mem size 0x80000000]
[    1.391728] pci 0000:00:01.0: BAR 0: failed to assign [mem size 0x80000000]
[    1.398684] pci 0000:00:00.0: BAR 8: assigned [mem 0x60000000-0x600fffff]
[    1.405470] pci 0000:00:00.0: BAR 9: assigned [mem 0x60100000-0x601fffff pref]
[    1.412681] pci 0000:00:01.0: BAR 8: assigned [mem 0x60200000-0x602fffff]
[    1.419467] pci 0000:00:01.0: BAR 9: assigned [mem 0x60300000-0x603fffff pref]
[    1.426685] pci 0000:00:00.0: BAR 1: assigned [mem 0x60400000-0x6040ffff]
[    1.433473] pci 0000:00:01.0: BAR 1: assigned [mem 0x60410000-0x6041ffff]
[    1.440256] pci 0000:00:00.0: BAR 7: assigned [io  0x1e160000-0x1e160fff]
[    1.447040] pci 0000:00:01.0: BAR 7: assigned [io  0x1e161000-0x1e161fff]
[    1.453830] pci 0000:01:00.0: BAR 0: assigned [mem 0x60000000-0x600fffff]
[    1.460612] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.465578] pci 0000:00:00.0:   bridge window [io  0x1e160000-0x1e160fff]
[    1.472357] pci 0000:00:00.0:   bridge window [mem 0x60000000-0x600fffff]
[    1.479139] pci 0000:00:00.0:   bridge window [mem 0x60100000-0x601fffff pref]
[    1.486363] pci 0000:02:00.0: BAR 0: assigned [mem 0x60200000-0x602fffff 64bit]
[    1.493676] pci 0000:02:00.0: BAR 6: assigned [mem 0x60300000-0x6030ffff pref]
[    1.500885] pci 0000:00:01.0: PCI bridge to [bus 02]
[    1.505849] pci 0000:00:01.0:   bridge window [io  0x1e161000-0x1e161fff]
[    1.512628] pci 0000:00:01.0:   bridge window [mem 0x60200000-0x602fffff]
[    1.519410] pci 0000:00:01.0:   bridge window [mem 0x60300000-0x603fffff pref]
[    1.527287] mt7530 mdio-bus:1f: Link is Up - 1Gbps/Full - flow control off
[    1.527639] hctosys: unable to open rtc device (rtc0)
[    1.546574] VFS: Mounted root (squashfs filesystem) readonly on device 31:5.
[    1.558629] Freeing unused kernel memory: 1260K
[    1.563176] This architecture does not have kernel memory protection.
[    1.569596] Run /sbin/init as init process
[    2.345602] init: Console is alive
[    2.349305] init: - watchdog -
[    3.969466] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.124507] usbcore: registered new interface driver usbfs
[    4.130177] usbcore: registered new interface driver hub
[    4.135608] usbcore: registered new device driver usb
[    4.149846] SCSI subsystem initialized
[    4.165716] libata version 3.00 loaded.
[    4.176967] xhci-mtk 1e1c0000.xhci: 1e1c0000.xhci supply vbus not found, using dummy regulator
[    4.185724] xhci-mtk 1e1c0000.xhci: 1e1c0000.xhci supply vusb33 not found, using dummy regulator
[    4.194727] xhci-mtk 1e1c0000.xhci: xHCI Host Controller
[    4.200074] xhci-mtk 1e1c0000.xhci: new USB bus registered, assigned bus number 1
[    4.214188] xhci-mtk 1e1c0000.xhci: hcc params 0x01401198 hci version 0x96 quirks 0x0000000000290010
[    4.223408] xhci-mtk 1e1c0000.xhci: irq 21, io mem 0x1e1c0000
[    4.229393] xhci-mtk 1e1c0000.xhci: xHCI Host Controller
[    4.234725] xhci-mtk 1e1c0000.xhci: new USB bus registered, assigned bus number 2
[    4.242205] xhci-mtk 1e1c0000.xhci: Host supports USB 3.0 SuperSpeed
[    4.249682] hub 1-0:1.0: USB hub found
[    4.253551] hub 1-0:1.0: 2 ports detected
[    4.258618] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    4.267704] hub 2-0:1.0: USB hub found
[    4.271560] hub 2-0:1.0: 1 port detected
[    4.317193] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.334363] init: - preinit -
[    5.344950] mtk_soc_eth 1e100000.ethernet eth0: configuring for fixed/rgmii link mode
[    5.353325] mtk_soc_eth 1e100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
...
[    6.027805] mt7530 mdio-bus:1f lan1: configuring for phy/gmii link mode
[    6.034885] 8021q: adding VLAN 0 to HW filter on device lan1
[   10.412857] jffs2: notice: (646) jffs2_build_xattr_subsystem: complete building xattr subsystem, 33 of xdatum (24 unchecked, 9 orphan) and 44 of xref (13 dead, 0 orphan) found.
[   10.432711] mount_root: switching to jffs2 overlay
[   10.445342] overlayfs: upper fs does not support tmpfile.
[   10.460549] urandom-seed: Seeding with /etc/urandom.seed
[   10.671503] procd: - early -
...
[   11.718234] random: 7 urandom warning(s) missed due to ratelimiting
[   12.260722] urngd: v1.0.2 started.
[   12.380819] kmodloader: loading kernel modules from /etc/modules.d/*
[   12.403268] Loading modules backported from Linux version v5.10.68-0-g4d8524048a35
[   12.410864] Backport generated by backports.git v5.10.68-1-0-ga4f9ba32
[   12.435004] xt_time: kernel timezone is -0000
[   12.502127] mt7621-pci 1e140000.pcie: bus=1 slot=0 irq=24
[   12.507601] pci 0000:00:00.0: enabling device (0006 -> 0007)
[   12.513281] mt7603e 0000:01:00.0: enabling device (0000 -> 0002)
[   12.519600] mt7603e 0000:01:00.0: ASIC revision: 76030010
[   13.143794] mt7603e 0000:01:00.0: Firmware Version: ap_pcie
[   13.149392] mt7603e 0000:01:00.0: Build Time: 20160107100755
[   13.181997] mt7603e 0000:01:00.0: firmware init done
[   13.362333] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   13.375176] mt7621-pci 1e140000.pcie: bus=2 slot=1 irq=25
[   13.380670] pci 0000:00:01.0: enabling device (0006 -> 0007)
[   13.386386] mt76x2e 0000:02:00.0: enabling device (0000 -> 0002)
[   13.392691] mt76x2e 0000:02:00.0: ASIC revision: 76120044
[   13.877374] mt76x2e 0000:02:00.0: ROM patch build: 20141115060606a
[   13.891550] mt76x2e 0000:02:00.0: Firmware Version: 0.0.00
[   13.897092] mt76x2e 0000:02:00.0: Build: 1
[   13.901242] mt76x2e 0000:02:00.0: Build Time: 201507311614____
[   13.922201] mt76x2e 0000:02:00.0: Firmware running!
[   13.929518] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[   13.957953] PPP generic driver version 2.4.2
[   13.964409] NET: Registered protocol family 24
[   14.308595] usbcore: registered new interface driver ath9k_htc
[   14.416400] kmodloader: done loading kernel modules from /etc/modules.d/*
[   20.716294] mtk_soc_eth 1e100000.ethernet eth0: Link is Down
[   20.734965] mtk_soc_eth 1e100000.ethernet eth0: configuring for fixed/rgmii link mode
[   20.743731] mtk_soc_eth 1e100000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[   20.748450] mt7530 mdio-bus:1f lan1: configuring for phy/gmii link mode
[   20.759800] 8021q: adding VLAN 0 to HW filter on device lan1
[   20.774533] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   20.782436] br-lan: port 1(lan1) entered blocking state
[   20.787817] br-lan: port 1(lan1) entered disabled state
[   20.794734] device lan1 entered promiscuous mode
[   20.799471] device eth0 entered promiscuous mode
...

The output of lspci -vv. I see two bridges so I hoped it had activated the PCIe slot but I am not so sure... Is the message "Unable to load libkmod resources: error -12" ignorable?

root@03-k64-firefly:~# lspci -vvvv
00:00.0 PCI bridge: Device 0e8d:0801 (rev 01) (prog-if 00 [Normal decode])
        Device tree node: /sys/firmware/devicetree/base/pcie@1e140000/pcie@0,0
        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 255
        Region 1: Memory at 60400000 (32-bit, non-prefetchable) [size=64K]
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 00000000-00000fff [size=4K]
        Memory behind bridge: 60000000-600fffff [size=1M]
        Prefetchable memory behind bridge: 60100000-601fffff [size=1M]
        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
        BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
        Capabilities: [40] Power Management version 3
                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/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express (v2) Root Port (Slot-), MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0
                        ExtTag- RBE+
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us
                        ClockPM- Surprise- LLActRep+ BwNot- ASPMOptComp-
                LnkCtl: ASPM Disabled; RCB 128 bytes, Disabled- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s (ok), Width x1 (ok)
                        TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
                RootCap: CRSVisible-
                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
                RootSta: PME ReqID 0000, PMEStatus- PMEPending-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis+ NROPrPrP- LTR-
                         10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- LN System CLS Not Supported, TPHComp- ExtTPHComp- ARIFwd-
                         AtomicOpsCap: Routing- 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled, ARIFwd-
                         AtomicOpsCtl: ReqEn- EgressBlck-
                LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer- 2Retimers- DRS-
                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-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        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- AdvNonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
                RootCmd: CERptEn- NFERptEn- FERptEn-
                RootSta: CERcvd- MultCERcvd- UERcvd- MultUERcvd-
                         FirstFatal- NonFatalMsg- FatalMsg- IntMsg 0
                ErrorSrc: ERR_COR: 0000 ERR_FATAL/NONFATAL: 0000
        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-
lspci: Unable to load libkmod resources: error -12

00:01.0 PCI bridge: Device 0e8d:0801 (rev 01) (prog-if 00 [Normal decode])
        Device tree node: /sys/firmware/devicetree/base/pcie@1e140000/pcie@1,0
        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 255
        Region 1: Memory at 60410000 (32-bit, non-prefetchable) [size=64K]
        Bus: primary=00, secondary=02, subordinate=02, sec-latency=0
        I/O behind bridge: 00001000-00001fff [size=4K]
        Memory behind bridge: 60200000-602fffff [size=1M]
        Prefetchable memory behind bridge: 60300000-603fffff [size=1M]
        Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
        BridgeCtl: Parity- SERR+ NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-
                PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
        Capabilities: [40] Power Management version 3
                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/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express (v2) Root Port (Slot-), MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0
                        ExtTag- RBE+
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <64us
                        ClockPM- Surprise- LLActRep+ BwNot- ASPMOptComp-
                LnkCtl: ASPM Disabled; RCB 128 bytes, Disabled- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s (ok), Width x1 (ok)
                        TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt-
                RootCap: CRSVisible-
                RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna- CRSVisible-
                RootSta: PME ReqID 0000, PMEStatus- PMEPending-
                DevCap2: Completion Timeout: Not Supported, TimeoutDis+ NROPrPrP- LTR-
                         10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- LN System CLS Not Supported, TPHComp- ExtTPHComp- ARIFwd-
                         AtomicOpsCap: Routing- 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled, ARIFwd-
                         AtomicOpsCtl: ReqEn- EgressBlck-
                LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer- 2Retimers- DRS-
                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-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        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- AdvNonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
                RootCmd: CERptEn- NFERptEn- FERptEn-
                RootSta: CERcvd- MultCERcvd- UERcvd- MultUERcvd-
                         FirstFatal- NonFatalMsg- FatalMsg- IntMsg 0
                ErrorSrc: ERR_COR: 0000 ERR_FATAL/NONFATAL: 0000
        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-

01:00.0 Network controller: MEDIATEK Corp. Device 7603
        Subsystem: MEDIATEK Corp. Device 7603
        Device tree node: /sys/firmware/devicetree/base/pcie@1e140000/pcie@0,0/wifi@0,0
        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 24
        Region 0: Memory at 60000000 (32-bit, non-prefetchable) [size=1M]
        Capabilities: [40] Power Management version 3
                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/1 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L1, Exit Latency L1 <32us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 2.5GT/s (ok), Width x1 (ok)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
                         10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkCap2: Supported Link Speeds: 2.5GT/s, Crosslink- Retimer- 2Retimers- DRS-
                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-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        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- AdvNonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [140 v1] Device Serial Number 00-00-00-00-00-00-00-00
        Capabilities: [150 v1] Latency Tolerance Reporting
                Max snoop latency: 0ns
                Max no snoop latency: 0ns
        Kernel driver in use: mt7603e

02:00.0 Network controller: MEDIATEK Corp. MT7662E 802.11ac PCI Express 
... snipped the Mediatek wireless adapter

Hi.
So far I know this ZBT as we826 only provide usb device on that internal minipci slot ( usb bus ).
WG3526 was built to connect usb 4G modem. Your model comes with a sata port as well.
I remember to found on the past some wifi minipci cards with usb bus.

3 Likes

Thanks for that information!
That is interesting, I had no idea the miniPCIe slot could be doing usb bus only. That is annoying.
So, something like this device: WiFi miniPCIe Card Dual-band with USB 3.0 Interface 802.11ac 4x4:3 MIMO (data-alliance.net)

Just say no to USB wireless, especially when it comes from Realtek/ Reasil.

That was why I had hoped the Intel or Ath9k was going to work :frowning:

Two radios on the same band in the same box will jam each other and have low performance. The best way to do a wifi WAN is a separate device such as a CPE pointed at the uplink AP and at some distance from the router which will be serving local users. Or a true triple band router like the EA8300 which has filters so the two 5 GHz radios (operating at opposite ends of the band) don't jam each other.

The client radio was going to have its antennas routed outside

That's not very practical either since the loss per foot in small coaxial cable is substantial at GHz frequencies. It's much better to have the radio at the antenna then transport the baseband data.

That is true.

Unless the manufacturer specifically states that the PCie slot is useable by wifi modules it is going to be just a glorified USB port.

PCie and M.2 modems all can use the USB part of the interface so on those routers made for modem use, like the WG3526, the interface will be USB only.

There are some that implement full PCie and can serve a dual purpose but you have to make sure the manufacturer say so.