0011 MPW7(WiFi7 on Raspberry Pi 5)
Keywords
Raspberry Pi 5, PCIe Expansion, WiFi7, Raspberry Pi5, Ubuntu, RPi OS
I. Introduction
The Raspberry Pi 5 features a 16-pin PCIe interface, through which various PCIe devices can be connected. This expansion board is specifically designed for the Raspberry Pi 5 to serve as a WiFi 7 adapter. This module requires driver installation to use WiFi 7 on the Raspberry Pi system, while it is plug-and-play under Ubuntu without needing additional drivers. The module also supports WiFi 6 and WiFi 5 via the M.2 E key interface.
II. Hardware Spec
1. PCIe expansion board designed specifically for the Raspberry Pi 5;
2. One M.2 E-Key PCIe interface, supporting the BE200 WiFi 7 module, with hardware also supporting WiFi 6(E) and WiFi 5, such as AX210, AX200, MT7922, and Intel 8265C;
3. One USB Bluetooth interface (built-in with the WiFi module), exposed via a 1.25mm 4-pin USB connector. To use the Bluetooth function, this USB must be connected to a USB 2.0 port on the Raspberry Pi 5, and it requires the appropriate drivers and profiles to be installed;
4. Reserved CSI/DSI cable routing slots, supporting 22-pin cables with 0.5mm pitch and 15-pin cables with 1mm pitch;
5. Board-mounted power indicator light ('PWR') and one WiFi activity indicator light ('ACT');
6. Uses an efficient DC-DC circuit;
7. Gold immersion PCB process, lead-free production, certified by UL, compliant with ROHS standards, and has a fire rating of 94V-0;
8. The board has four M2.5 mounting holes, with a recessed design on the top of the board to facilitate the use of the 40-Pin GPIO;
9. Optional PCB antenna or SMA antenna, with an IPEX4 interface;
10. Optional aluminum alloy enclosure.
III. Software Spec
3.1 Overview
This document uses Raspberry Pi OS and Ubuntu systems, tested with the BE200 (WiFi 7) module.
1)The version of the Raspberry Pi OS is: 2024-07-04-raspios-bookworm-arm64.img.xz
You can download the Raspberry Pi OS in:
https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit
2)The version of the Ubuntu system is: ubuntu-24.04-preinstalled-desktop-arm64+raspi.img.xz
You can download the Ubuntu system in:
https://ubuntu.com/download/raspberry-pi
3.2 System flashed onto the SD (TF) card
Click here to read the instructions for System flashing
IV. Work with Raspberry Pi OS
4.1 Installing WiFi 7 driver (BE200)
Note: Once the WiFi 7 driver (BE200) is successfully installed, the original WiFi module on the Raspberry Pi 5 will no longer be usable!
This installation procedure also applies to the AX210 (WiFi 6E) and AX200 (WiFi 6) modules.
4.1.1 Update the system and header files
Execute commands in the Raspberry Pi terminal:
sudo apt-get update
sudo apt install -y raspberrypi-kernel-headers firmware-iwlwifi flex yacc
4.1.2 Download and extract the source code
Execute commands in the Raspberry Pi terminal:
mkdir wifi && cd wifi
wget http://www.mcuzone.com/wiki/0011_MPW7/backport-iwlwifi-20231029.tar.bz2
sudo tar -xvf backport-iwlwifi-20231029.tar.bz2
4.1.3 Compilation Environment
Execute commands in the Raspberry Pi terminal:
sudo make defconfig-iwlwifi-public
sudo sed -i 's/CPTCFG_IWLMVM_VENDOR_CMDS=y/# CPTCFG_IWLMVM_VENDOR_CMDS is not set/' .config
4.1.4 Compile source code
Execute commands in the Raspberry Pi terminal:
sudo make -j 4
sudo make install
At this point, the system will prompt you to restart. Please do not restart yet.
4.1.5 Install firmware (not necessary for AX200 or AX210)
Execute commands in the Raspberry Pi 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
Then reboot system:
sudo reboot
4.2 Test of WiFi 7 module: BE200
After restarting the system, we execute lspci
in the terminal:
You can see the WiFi 7 module.
Execute ifconfig -a
to view the information of the wireless network card (wlan0):
At this point, you can use the BE200 (WiFi 7) module to connect to a wireless AP through the network connections settings:
In the network connection information, you can also see the network connection using the iwlwifi
driver:
通过BE200(WiFi7)模块连接外网(200M宽带)测速,结果如下:
Note: Network speed tests are influenced by the network environment and testing methods. The speeds shown are for reference only and may vary based on actual conditions!
Connect to the WiFi 7 router and perform a speed test:
Note: All tests here are conducted using SSH to connect to the development board.
The router used is the Xiaomi BE6500 Pro, a WiFi 7 + quad-port 2.5G router. The Raspberry Pi 5 with WiFi 7 is approximately 1 meter away from the router.
Using the BE200 + Raspberry Pi 5, connect to the WiFi 7 wireless network and perform an iperf3 speed test with a Windows system (2.5G USB network card, IP address: 192.168.8.197) connected to the same router:
Speed test with 30 threads, results as follows
iperf3 -c 192.168.8.197 -P 30
Speed test with 30 threads, results as follows
iperf3 -c 192.168.8.197
Approximately 500 Mbps.
For comparison, we replaced the WiFi 7 module with a WiFi 6 module (AX210) and performed the same tests.
Speed test with 30 threads, results as follows:
Approximately 847 Mbps.
Single-thread speed test, results as follows:
iperf3 -c 192.168.8.197
Approximately 456Mbps。
Note: Network speed tests are influenced by the network environment and testing methods. The speeds shown are for reference only and may vary based on actual conditions!
4.3 Bluetooth Testing
Connect the 1.25mm 4-pin USB Bluetooth interface to the USB 2.0 port on the Raspberry Pi 5:
On Raspberry Pi OS, the Bluetooth module of the Raspberry Pi 5 is recognized directly. Click on the device icon in the top-right corner of the desktop, then click Add Device...:
In the opened window, the Bluetooth module will automatically scan for nearby connectable Bluetooth devices, as shown in the figure:
Click on the phone to pair with it. The pairing process on Raspberry Pi OS and the phone is shown in the figures below:
After pairing successfully, click on the 'raspberrypi' device on your phone. Once connected, the Raspberry Pi is recognized as an audio device, as shown in the figure below:
In Raspberry Pi OS, you can also see that the connection was successful:
V. Work with Ubuntu System
The version of Ubuntu used for testing is as follows:
5.1 WiFi7(BE200)
BE200(WiFi7)模块在Ubuntu系统下是免驱的,即插即用,系统启动后,我们在终端中执行lspci
:
可以看到这个WiFi7模块。
执行ifconfig -a
,可以看到这个WiFi7无线网卡(wlp1s0f0)的信息,wlan1为树莓派5自带的无线网卡:
在屏幕右上角的“Wi-Fi”里有一个“PCI Wi-Fi”,即是这个WiFi7模块:
使用该“PCI Wi-Fi”连接无线AP后,在“All Networks”里面可以看见一个名为Intel的无线WiFi,这个就是该WiFi7模块,连接成功后即可通过WiFi7模块上网:
通过BE200(WiFi7)模块连接外网(200M宽带)测速,结果如下:
注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。
如果使用Ubuntu内置的Firefox浏览器时运行速度很慢或者经常无响应,建议安装轻量浏览器Falkon:
sudo apt install falkon
5.2 WiFi6(AX210/AX200)
WiFi6 AX200和AX210模块,在Ubuntu系统下也是免驱,即插即用的,同上步骤操作,执行结果如下:
AX200:
AX210:
5.3 蓝牙测试
Ubuntu下可以直接认到树莓派5的蓝牙模块,点击桌面右上角的设备图标,可以看到Bluetooth已经处于打开状态:
点击Bluetooth的箭头,点击Bluetooth Settings,打开蓝牙设置:
蓝牙模块会自动扫描周围可连接的蓝牙设备,如图所示:
我们可以选择所需的蓝牙设备进行连接,下面为与手机配对的例子:
配对连接成功后,该设备显示Connected,我们可以在桌面右上角的蓝牙中看到这个设备(手机):
Ubuntu系统能识别出手机,而手机把树莓派5识别为耳机:
联系我们
电话:13957118045
如本页面有任何疏漏、错误或者侵权,请通过上述途径联系我们,谢谢!
Copyright 2004-2024 野芯科技