I’m trying to use a Wavelet Lab uSDR (an M.2 2230 A+E-key, FPGA-based software-defined
radio that talks over USB 2.0 and/or PCIe) in the internal WiFi M.2 slot of my
Framework Laptop 16 (AMD Ryzen 7 7840HS, BIOS 0.0.4.4, Ubuntu 22.04). I specifically
want the WiFi slot because the internal antennas connect there.
The module gets power in the slot (PCB warm, status LED blinking), but it enumerates
on NEITHER bus:
- nothing new in
lsusb - nothing new in
lspci(no PCIe link-training, nothing even after a forced PCIe rescan) - zero enumeration events/errors in
dmesg
What I’ve already ruled out:
- The module is good: it works fine on a USB-C adapter (enumerates as a USB device).
- The slot is good: the original MediaTek WiFi+BT card worked fully in it, so both the
slot’s PCIe lane (WiFi) and its USB 2.0 lines (Bluetooth) are functional. - BIOS “WiFi and Bluetooth device” is enabled; no rfkill block; BIOS updated to 04.04.
- Tried two modules, reseated without antennas - no change.
So a WiFi card works in the slot, and the SDR works over USB-C, but the SDR refuses to
link (USB or PCIe) when it’s in the WiFi slot.
Questions for anyone who has tried similar things:
- Has anyone successfully run a non-WiFi M.2 device (FPGA card / SDR / etc.) in the
Laptop 16’s WiFi E-key slot? - Are there any known quirks with how the 16’s WiFi slot drives USB 2.0 / PCIe
CLKREQ#/PERST# for devices that aren’t a recognized WiFi+BT card? - Any BIOS/EC behavior that gates the slot’s USB or PCIe clock unless a known WiFi
card is present?
Hardware details: Framework Laptop 16, AMD Ryzen 7 7840HS, BIOS 04.04.
Very Thanks!
Very regards,
e-nord