802.11ax wifi AP mPCI-E cards

EmWiCon also has 802.11ax modules available or at least planned 4T4R and 3T3R:

Datasheet: https://www.eurocomposant.fr/pub/media/pdf/WMX7402-3-Datasheet_v0.2.4.pdf

has anyone seen or heard of half height mpcie 4x4 ax cards for client use? So far I have only found the Intel based ax200 and ax210 mpcie half height cards, but they are only 2x2.

I guess I could use full size card with n mpcie riser and a 6 inch extension cable going to a mpcie slot at the end and locate the card where my dvd use to go, but that seems....so....messy.....ugh I don't like messy.

So with those mpci-e card, is there any usb adapter board that do work with them ? I only found adapter with sim card slot.. more suit for 4g radio.. And at end, by being on usb, is the unit QCA9984 will then need special pakage for the usb as well .. ?

i've got an MT7915AN mini pci card from asiarf
I tried it inan openWrt VM using a SilverStone SST-ECWA1 mini-pci to pci adapter but did not get very far. Also the SST-ECWA1 only has 2 antenna connections rather than 4 so I do not know what I was thinking when I bought it.

I'll try again sooner or later but am not sure if I can stay on OpenWrt 22.02.2 (kernel 5.4) or should go for a snapshot that has kernal 5.10.

any advice is welcome regarding this

a) you want the newest kernel/ backports versions possible (master snapshots)
b) you don't want to complicate your situation more by using PCIe pass-through and a hypervisor setup (at least not in the early stages), run on the bare metal (from a USB stick, if you like, but without virtualization in the way).
c) you will have some debugging ahead of you

2 Likes

22.03rc1 is out and supports the Mediatek MT7915 chipset. As shown here the AsiaRF adapters seem to be an option.

Would the AsiaRF 7915 or 7615 would be an option for APU4 from PC Engines?
DBDC mode isn't working so I would need two cards in order to cover 2,4 and 5 GZ at the same time, right?
The thread also talks about specia power requirements from the slot. Would that be a problem for the APU4?

Thank you

I would be slightly sceptical about this, for multiple reasons…

  • wifi5 and even more so wifi6 cards are rather power hungry, often beyond mini-PCIe spec (heat dissipation can also become a problem), as you already noted
  • the AMD Jaguar (GX-412TC) is already at its limits with routing at 1 GBit/s linespeed, but your wireless cards also need CPU power (and timely interrupt servicing), I'd be in doubt if the CPU would be fast enough to keep up with a wifi6 card (which can achieve throughput exceeding 1 GBit/s on short range)
  • for Mu-MIMO to work, the antennas need to have a certain distance to each other - that, and their sheer number (2*4 antennas plus pigtails) probably becomes rather difficult in the APU4 case

In the end, only you can try it - but I'd look into a hardware upgrade first (or outsource the wifi side to a dedicated AP).

1 Like

At least one can reduce antenna amount from 8 to 4 via using diplexers (working great in Turris Omnias).

If talking about DBDC there is a special card sold that also reduces needed amount of antennas: AW7915-NPD. Yet following some threads it seems DBDC is still under heavy development.

Speeking about kernel and stuff - AW7915-NP1 is running like a charm since December on my Turris Omnia with adopted 22.01.x (TurrisOS v6 - maybe including some backports).

Thank you for the feedback.
The APU actually is my dedicated access point., I hope the CPU can handle the load.
The Asiarf AW7915-NPD seems to be the a nice option, thank you for the hint.

I consider ordering one or two. I will try to get information from PC-Engines about the power requirements.

1 Like

SparkLAN just announced a new half mini-PCIe card (in addition to an M.2 2230 one) based on WCN6856 being a tri-band dual concurrent design. Looking at the spec I believe it should work in a regular slot providing a sustained 1.1 Amps of 3.3 volt power. However, not sure how concurrent RX/TX will behave in that sense. Will try to get some samples...

1 Like

Can confirm, AW7915-NPD is functional in my APU2D4 on 22.03rc1.
Also testing two usb3 to 2.5Gbps Ethernet adapters.
Killer E3100 USB-C 3.1 to RJ-45 2.5Gbps Ethernet Adapter (100123) Realtek R8169 based
ASUS 2.5G Ethernet USB Adapter (USB-C2500) Realtek R8152 based
I have both the 2.5G ethernet adapters connected now to a powered hub. I know i will only be able to possibly use one.

Disappointingly my AEX-QCA6391-NI1 is not cooperating.

04:00.0 Unclassified device [0002]: MEDIATEK Corp. MT7915E 802.11ax PCI Express Wireless Network Adapter (prog-if 80)
	Subsystem: MEDIATEK Corp. MT7915E 802.11ax PCI Express Wireless Network Adapter
	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, Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 58
	Region 0: Memory at d0000000 (64-bit, prefetchable) [size=1M]
	Region 2: Memory at d0100000 (64-bit, prefetchable) [size=16K]
	Region 4: Memory at d0104000 (64-bit, prefetchable) [size=4K]
	Capabilities: [80] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 128 bytes, PhantFunc 0, Latency L0s <1us, L1 <4us
			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 #1, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <8us
			ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
		LnkCtl:	ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 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.5-5GT/s, Crosslink- Retimer- 2Retimers- DRS-
		LnkCtl2: Target Link Speed: 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: [e0] MSI: Enable+ Count=1/32 Maskable+ 64bit+
		Address: 00000000fee02004  Data: 4025
		Masking: fffffffe  Pending: 00000000
	Capabilities: [f8] 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: [100 v1] Vendor Specific Information: ID=1556 Rev=1 Len=008 <?>
	Capabilities: [108 v1] Latency Tolerance Reporting
		Max snoop latency: 0ns
		Max no snoop latency: 0ns
	Capabilities: [110 v1] L1 PM Substates
		L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
			  PortCommonModeRestoreTime=3us PortTPowerOnTime=28us
		L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
			   T_CommonMode=0us LTR1.2_Threshold=0ns
		L1SubCtl2: T_PwrOn=10us
	Capabilities: [200 v2] 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
	Kernel driver in use: mt7915e


[rahlquist@slip ~]$ iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[  5] local 192.168.1.221 port 60218 connected to 192.168.1.1 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  79.8 MBytes   669 Mbits/sec    0   2.34 MBytes       
[  5]   1.00-2.00   sec  77.5 MBytes   650 Mbits/sec    0   2.76 MBytes       
[  5]   2.00-3.00   sec  80.0 MBytes   671 Mbits/sec    0   2.92 MBytes       
[  5]   3.00-4.00   sec  46.2 MBytes   388 Mbits/sec    0   2.92 MBytes       
[  5]   4.00-5.00   sec  72.5 MBytes   608 Mbits/sec    0   2.92 MBytes       
[  5]   5.00-6.00   sec  78.8 MBytes   660 Mbits/sec    0   2.92 MBytes       
[  5]   6.00-7.00   sec  81.2 MBytes   682 Mbits/sec    0   3.09 MBytes       
[  5]   7.00-8.00   sec  62.5 MBytes   524 Mbits/sec    0   3.09 MBytes       
[  5]   8.00-9.00   sec  61.2 MBytes   514 Mbits/sec    0   3.09 MBytes       
[  5]   9.00-10.00  sec  52.5 MBytes   440 Mbits/sec    0   3.09 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   692 MBytes   581 Mbits/sec    0             sender
[  5]   0.00-10.01  sec   690 MBytes   578 Mbits/sec                  receiver

iperf Done.
[rahlquist@slip ~]$ iwconfig
lo        no wireless extensions.

wlo1      IEEE 802.11  ESSID:"SECID512DIS"  
          Mode:Managed  Frequency:5.785 GHz  Access Point: 00:0A:52:06:FE:ED   
          Bit Rate=960.7 Mb/s   Tx-Power=22 dBm   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=67/70  Signal level=-43 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:47   Missed beacon:0

At what CPU usage (htop, to get figures for all individual cores)?

The old jaguar cores of the apu2 are pretty much at the end of their usefulness merely routing 1 GBit/s at wirespeed, I can't imaging these boards to profit much from USB ethernet- or 802.11ax wireless cards (and the unsteady bitrates do seem to support this guess).

2 Likes

Will get back with you on this shortly, making a last ditch effort to try to get the QCA6391 working but I dont have much hope.

801.11ax are on the power hungry side of things and running hot, I wouldn't be surprised quite a lot of them to exceed mini-PCIe standards and the abilities of most mainboards to cope with.

Very possible, but the 6391 is supposed to be very low power. I mean I was running two QCA9880 in here until now. With only 1 11ax card installed it should be ok I would think. flipping back to the mt now will do some wifi iperf and then some ethernet and then both.

I'll get more detailed in the morning but here is what I see. AX connections may talk big and say they are 1000Mbps but they seldom perform as high as 400Mbps. AC with the same card and same 80Mhz width on ch 104 performs in the high 600Mbps to mid 700Mbs range. I'm not sure if power is the issue or if the drivers are still just too immature. For reference I have seen my phone hit 800Mbs during iperf3 testing in the past on the QCA9880 cards.

For me the biggest part was to eliminate having to run 2 cards. This so far is stable and doing that.

If there is anything specific you'd like to see me try please let me know.

Oh and final note for the night, CPU is hitting about 50-70% on 1-2 cores the others aren't near as loaded.

I do see wireless throughput in excess of 1 GBit/s (my wired network is the bottleneck here, capping all testing to 1 GBit/s) with 80 MHz bandwidth in the 5 GHz band on ipq807x (4x4 Broadcom client); pretty much always at least 700 MBit/s in the same room (2x2 Intel ax200 client).

2 Likes

My client with Intel Wi-Fi 6 AX200 is getting constant about 400-450 Mbit/s. 600-700 Mbit/s. The first test I forgot to connect one antenna, duh. It sometimes drop to 450 Mbit/s but 98 % it's above 600.
The AsiaRF AW7915-NPD is really getting quite hot. I have no measuring instrument but I'd say around 60°C or even more.
The apu4d4 is sucking around 7W in idle, when running iperf it goes up to 10W. It's the only PCI card installed.
Here's a screen of htop during iperf.


With OpenWrt 22.03.0-rc4 r19426-2b1941e47d I can use 5 GHz and 2,4 GHz at the same time. I did not expect that.

That's more within the expected window (you should be able to scratch 1 GBit/s at short range, but that's not really representative for normal use).