WIFI-cards not recognized in m.2-slot

Hi,

Is there good/best practice way to get three mPCIe-cards working on this board? I tried two options with 3 existing mPCIe-cards, but failed.

  1. attempt: using a m.2 key m to mPCIe-adapter:

link: Mini PCI-E to M.2 Key M Adapter with SIM Card Slot for WiFi/WWAN/LTE Module: Amazon.de: Computer & Zubehör

  1. attempt: using a m.2 key B to mPCIe-adapter:

link: https://www.amazon.de/gp/product/B0DGTGTZ87

I am running OpenWrt snapshot and do not see any log entries in dmesg. Has anyone tried to operate 3 mPCIe-cards in parallel? (this would be my preferred way as I have 3 such cards sitting here on my desk). If not, did anyone succeed in using a m.2 AE-card in the m.2 key m slot?

Best, ssdnvv

So I ordered a m.2 a/e-card and tried again with an adapter in the m.2 key m-slot - but it didn’t work (again the card does not show up with lspci and no respective entries in dmesg).

This looks like the system does not recognize anything else than SSDs in the m.2 key m slot.

Did anyone test cards different from SSDs in that slot?

As I tested this on three different boards (1 older board with resistors so I had to tape the respective pins, 2 boards without those resistors) and made sure that a normal m.2 key m SSD is working on all of those, I believe this is a bug. Question is whether this a hardware- (even though @simon stated it should work [BPI-R4] nvme+i2c - #34 by simon) or a software problem? How can I debug?

Without testing this myself, if you’re trying to use the topside M.2 BKey port, you’ll have to configure a few things. I can’t speak to it specifically, but recalling the schematics, there’s a portion of the lanes on the internal USB switch, and some lanes directly from the chip are configurable to PCIE or USB. In addition, are you sure you’ve got the appropriate kernel drivers for what you’re interested in?

I’m using this one for connecting mediatek and qualcomm cards on the mpcie slot. I use it on the CN14 slot, as it receives more power or works better than the CN12: https://www.aliexpress.com/item/1005006626211720.html

I actually feared that would be the case - except stated otherwise in the goods’ descriptions, the m.2 key b adapters all show statements being made for 3/4/5G-cards, which actually use the usb-interface and thus are not really designed for my use case. My bad.

But what about the m.2 key m slot? The respective cards work, when I use them in the mPCIe slots, so I believe the kernel modules are installed properly (I use the latest snapshot as of today) - this I get when having one AW7915-NP1 installed via adapter on the m.2 key m slot and a second one directly in one of the mPCIe-slot:

root@OpenWrt:~# lspci
0001:00:00.0 PCI bridge: MEDIATEK Corp. Device 7988 (rev 01)
0001:01:00.0 Unclassified device [0002]: MEDIATEK Corp. MT7915E 802.11ax PCI Express Wireless Network Adapter

→ the card installed in mPCIe-slot gets recognized, the card mounted on the adapter not.

Sorry for missleading you - I do have various m.2 and mPCIe-cards available, so I do not need to run m.2-cards on the mPCIe-ports. The mPCIe-ports are stuffed with mPCIe-cards, which do work (see above) :slight_smile:

Finally got it working - this was my last attempt, so I am quite happy I solved this problem just by finding the right adapter :partying_face:

Working adapter: Delock 65699 (Adapter M.2 Key M male to M.2 Key A slot)

Working card: AW7916-AED

Installed cards:

  • 2x AW7915-NP1 in mPCIe slots CN12 and CN14
  • AW7916-AED via Delock 65699 in m.2 m key slot
BusyBox v1.36.1 (2024-10-20 11:52:45 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r27833-fcd935a5e4
 -----------------------------------------------------
root@OpenWrt:~# lspci
0000:00:00.0 PCI bridge: MEDIATEK Corp. Device 7988 (rev 01)
0000:01:00.0 Unclassified device [0002]: MEDIATEK Corp. MT7915E 802.11ax PCI Express Wireless Network Adapter
0001:00:00.0 PCI bridge: MEDIATEK Corp. Device 7988 (rev 01)
0001:01:00.0 Unclassified device [0002]: MEDIATEK Corp. MT7915E 802.11ax PCI Express Wireless Network Adapter
0002:00:00.0 PCI bridge: MEDIATEK Corp. Device 7988 (rev 01)
0002:01:00.0 Network controller: MEDIATEK Corp. Device 7906

edit: just as note for others - even though the connectivity works, this adapter is a diy-solution, as it does not fit directly to the mounting points of the m.2 key m slot and the AW7916-AED cannot be directly mounted.

Congratulations :slightly_smiling_face:!

It looks like a very simple PCB:

Are there any resistors on it?

Can you show a picture of your “not fitting directly” solution?

Correct, it is a utmost simple PCB with no resistors on it. It cannot be directly mounted with an AsiaRF-card because of two reasons:

  1. There are no mounting holes at the respective areas available: → This one could be solved via drilling holes manually.
  2. The hight of the m.2 key a+e connector is not big enough to push the AsiaRF-card down. → This is a more critical problem, as the card somehow needs to be thermally connected to the outer enclosure to dissipate the heat sufficiently and the space below the board is in most cases not enough to build a DIY-solution with the above shaky connected boards/card. Thus one would need to get a m.2 key m to m.2 key m riser card and mount the card somehow outside the area of the BPI-R4 board (yet you need to have a big enough enclosure for this solution as well).

But I found an even more simple solution: Delock Produkte 64103 Delock Adapter M.2 Key B+M zu Mini PCIe Slot (PCIe / USB) grafik Even though it is as well not directly fitting (there is no mounting hole to fix the adapter to the board + it directly touches the two switches - see picture below), using this solution only requires no additional adapter for my use case.

To have it least cautiously fixed, I will drill a hole into the adapter.

BusyBox v1.36.1 (2024-10-20 11:52:45 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r27833-fcd935a5e4
 -----------------------------------------------------
root@OpenWrt:~# lscpi
-ash: lscpi: not found
root@OpenWrt:~# lspci
0003:00:00.0 PCI bridge: MEDIATEK Corp. Device 7988 (rev 01)
0003:01:00.0 Unclassified device [0002]: MEDIATEK Corp. MT7915E 802.11ax PCI Express Wireless Network Adapter