3011 NVME to WiFi7(M.2 M to E EN
Keywords
Raspberry Pi, CM5 Core board, RPiOS, NVME SSD, mini PCIe, WiFi7, Bluetooth
I. Introduction
NVMe to Wi-Fi 7 (M.2 M to E) adapter board converts the PCIe M.2-M interface to an M.2-E interface, allowing connection to WiFi7 modules. It also provides a 1.25mm 4-pin port for connecting the USB Bluetooth port of the WiFi7 module.
II. Matching expansion board
This module is compatible with all 2280-sized PCIe M.2-M interfaces. Our company offers a matching expansion board (CM5_Basic) as follows:
III. Module testing under Raspberry Pi OS
Hardware: NVMe to WiFi7 (M.2 M to E) adapter board paired with CM5_Basic expansion board
Software: The version of Raspberry Pi OS is 2024-07-04-raspios-bookworm-arm64.img.xz
The download link is:
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
On the CM5_Basic expansion board, the PCIe to M.2 interface can be connected to an SSD-to-WiFi module for expanding a WiFi7 wireless network card. This document describes the expansion using an NVMe to WiFi7 (M.2 M to E) adapter board with a BE200 wireless module.
3.1 Install driver
The BE200 wireless module requires a driver to be installed to operate on the Raspberry Pi OS.
If using a CM5 with built-in WiFi functionality, the onboard WiFi module will automatically disable itself after installing the WiFi driver, rendering it unusable. It is therefore recommended to use a CM5 without WiFi capability.
1. Update header files in the terminal:
sudo apt install -y raspberrypi-kernel-headers firmware-iwlwifi flex yacc
2. Then download the source code:
mkdir wifi && cd wifi
wget http://www.mcuzone.com/wiki/2004_CM4_WiFi7/backport-iwlwifi-20231029.tar.bz2
sudo tar -xvf backport-iwlwifi-20231029.tar.bz2
3. Prepare the compilation environment:
sudo make defconfig-iwlwifi-public
sudo sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config
4. Compile source code:
sudo make -j 4
sudo make install
Note: If the system freezes or reports errors during compilation when using -j 4, please try compiling with -j 2 or -j 1 instead.
The OS is now prompting a restart. Please hold off on restarting for now.
5. Install the firmware, execute the command in terminal:
cd ..
cd Downloads
wget http://www.mcuzone.com/wiki/0011_MPW7/firmware_wifi7.zip
unzip firmware_wifi7.zip
sudo cp iwlwifi-gl-c0-fm-c0-86.ucode /lib/firmware
sudo cp iwlwifi-gl-c0-fm-c0.pnvm /lib/firmware
6. Restart the OS:
sudo reboot
3.2 WiFi7 wireless network card test
Insert a WiFi 7 wireless network card (BE200) into the SSD to WiFi adapter, then connect the SSD to WiFi adapter to the M.2 M-Key slot on the back of the CM5_Basic extension board, as shown in the figure below:
【加图】
After starting the OS, we execute lspci:
The red box indicates the BE200 wireless module, which then allows you to use the WiFi7 module to connect to a wireless AP in the network connections:
Note: The core board's built-in WiFi module has been automatically turned off and replaced with the WiFi7 module.
Click the network icon in the upper-right corner of the desktop - Advanced Options - Connection Information... In the network connection information, we can also see that this network connection uses the iwlwifi driver (if it's the wireless network card integrated on the core board, the driver will be displayed as brcmfmac):
Execute the command ifconfig -a in the terminal:
"wlan0" refers to the WiFi7 module.
We use the network speed testing tool iperf3 for speed tests.
Download iperf3 for Windows:
http://www.mcuzone.com/down/Software.asp?ID=10000634
Install iperf3 on Linux:
sudo apt-get install iperf3
The hardware equipment used for speed testing:
The router is a Xiaomi BE6500 Pro (WiFi6/7+ 4-port 2.5G router), and the extension board is about 1 meter away from the router.
Use BE200+CM5_Basic, connect the AX210 to a WiFi6 wireless network (IP address is 192.168.8.132) and perform an iperf3 speed test with a Windows device under the same router (2.5G USB network adapter, IP address: 192.168.8.197).
Expansion board as Client, single-threaded speed test:
iperf3 -c 192.168.8.197
The speed is around 481Mbps.
30-threaded speed test:
iperf3 -c 192.168.8.197 -P 30
The speed is around 2.03Gbps.
Expansion board as Server, single-threaded speed test:
Execute in the CMD on the PC:
iperf3 -c 192.168.8.132
The speed is around 534Mbps.
30-threaded speed test:
Execute in the CMD on the PC:
iperf3 -c 192.168.8.132 -P 30
The speed is around 1.61Gbps.
Note: Network speed tests are affected by the network environment and testing methods. Please refer to the actual speed, as this test is for reference only.
3.3 WiFi7 (BE200) Bluetooth test
The BE200 WiFi7 module comes with a built-in USB Bluetooth port. Before use, it is necessary to connect the 1.25mm-4p USB port on the SSD-to-WiFi module to the 1.25mm-4p USB port on the CM5_Basic. Additionally, an external Bluetooth driver must be installed for the functionality to work properly.
Install Bluetooth driver:
Execute the command in the terminal:
cd Downloads
wget http://www.mcuzone.com/wiki/5001_CM5_WiFi7-PoE/intel.zip
sudo cp intel.zip /lib/firmware/intel && cd /lib/firmware/intel
sudo unzip intel.zip
If there are file name conflicts while extracting, choose "A" (replace all).
Then restart the OS:
sudo reboot
Bluetooth test:
Execute commands in the terminal:
hciconfig -a
There are two visible devices: hci0 is the core board's onboard Bluetooth (manufactured by Cypress Semiconductor, a UART device), while hci1 belongs to the BE200 (manufactured by Intel, a USB device). Both Bluetooth interfaces are currently active.
Note: If you find that the status of hci1 is DOWN (i.e., not enabled), you can execute the following command to remove the restriction:
rfkill unblock bluetooth
In order to test hci1, we need to disable hci0. Please execute the following command in the terminal:
sudo hciconfig hci0 down
(If you need to enable this device, please execute sudo hciconfig hci0 up)
Now, executing hciconfig -a shows that hci0 is down:
Click the Bluetooth icon at the top-right of the desktop, then choose "Add Device..." from the menu:
Put the target device in discoverable mode, and the Bluetooth module will scan and find it shortly. This example uses a Bluetooth mouse:
Select the mouse, click "Pair", and it will connect successfully after a short wait:
We can operate this mouse in the Raspberry Pi OS:
Execute the command in the terminal:
hcitool -i hci1 con
You can view the status of the devices connected to this Bluetooth.
Contact Us
Email: mcuzone@vip.qq.com
Tel: +86(0)13957118045
If there are any omissions, errors, or infringements on this page, please contact us through the above methods. Thank you!
Copyright 2004-2025 Wildchip




QQ:8204136