Wireless-BE200
| ||
Overview
Introduction
This product adopts the 7th generation Intel wireless protocol, supporting the IEEE 802.11a/b/g/n/ac/be/ax wireless standards
Features
- Adopts the 7th generation Intel wireless protocol, supporting the IEEE 802.11a/b/g/n/ac/be/ax wireless standards
- Supports WPA4 to protect privacy and maintain data security
- Supports 2.4GHz / 5GHz / 6GHz tri-band coexistence, with the 2.4GHz band rate of 574Mbps, the 5GHz band rate of 2400Mbps, and the 6GHz band rate of 5800Mbps
- Supports Bluetooth 5.4 standard, longer transmission distance, better stability
- Adopts NGFF (M.2 A/E Key) interface
- Supports MU-MIMO multiple-input multiple-output technology, enabling low latency connections for multiple devices
- Supports Linux, Windows 10/11, etc.
Precautions
- 1. In a Linux environment, it is necessary to use a kernel version of at least 5.11 to work properly. If you only need WIFI and do not require Bluetooth, the 5.10 kernel can also function
- 2. The Raspberry Pi CM4 native system does not work and requires a recompilation of the kernel
- 3. Connection: The connection method of WIFI is PCIe, and the connection method of Bluetooth is USB
Usage instructions
Raspberry Pi CM4
Test using CM4-DUAL-ETH-WIFI6-BASE
Compile the kernel
You can click this link for more details
An Ubuntu system is required to compile the kernel
The following tests will be conducted using Ubuntu-20.04.2.0-desktop-amd64
Confirm the specific Raspberry Pi system version you need before compiling the environment
https://github.com/raspberrypi/linux
Operating on Ubuntu:
#Install the dependency sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev #Install the compilation tool sudo apt install neovim #Create a folder mkdir cm4 cd cm4 mkdir gcc-linaro #Download the GCC compiler wget https://releases.linaro.org/components/toolchain/binaries/7.5-2019.12/aarch64-linux-gnu/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz tar -xvf gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz mv gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu gcc-linaro #Modify environment variables nvim ~/.bashrc #At the end of .bashrc add the following: export PATH=$PATH:~/cm4/gcc-linaro/bin #Refresh environment variables source ~/.bashrc #Clone a Linux repo (or a fork, or a different branch): git clone --depth=1 https://github.com/raspberrypi/linux/... #This command is invalid, and the following github link needs to be changed to the kernel version you need https://github.com/raspberrypi/linux #Or download it yourself and copy it in #Unzip linux-rpi-6.6.y.zip (different kernel versions use different commands) #Run the following command to create a .config file: cd linux make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig #Create a .config file: make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig #Configure the .config file, add the kernel driver you want to add here #Add (press Enter to continue, space to select) Device Drivers ---> Network device support ---> Wireless LAN ---> Intel devices Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi) [M]Intel Wireless WiFi DVM Firmware support [M]Intel Wireless WiFi MVM Firmware support #Compile the kernel. It takes a long time make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs
Operating on Raspberry Pi:
sudo su passwd #Set a password sudo nano /etc/ssh/sshd_config #Change PermitRootLogin prohibit password to PermitRootLogin yes sudo reboot
Operating on Ubuntu:
Using sshfs
sudo sshfs [email protected]:/ /mnt/pi-ext4 sudo sshfs [email protected]:/boot /mnt/pi-fat32 #192.168.x.x is the IP address of Raspberry Pi sudo env PATH=$PATH make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- INSTALL_MOD_PATH=/mnt/pi-ext4 modules_install sudo cp arch/arm64/boot/Image /mnt/pi-fat32/kernel8.img sudo cp arch/arm64/boot/dts/broadcom/*.dtb /mnt/pi-fat32/ sudo cp arch/arm64/boot/dts/overlays/*.dtb* /mnt/pi-fat32/overlays/ sudo cp arch/arm64/boot/dts/overlays/README /mnt/pi-fat32/overlays/
If an IP address is linked multiple times and then the system is replaced, you encounter an error: "read: Connection reset by peer
Just delete ssh public key authentication
ssh-keygen -f "/root/.ssh/known_hosts" -R 192.168.x.x #192.168.x.x is the IP address of Raspberry Pi
Install the driver
The above compilation of the kernel uses "ARCH=arm64" for 64-bit architecture
Add in /boot/config.txt in Raspberry Pi arm_64bit=1 kernel=kernel8.img #Reboot sudo reboot
The module requires the addition of an antenna to have a signal. Please note to add an antenna before use
WIFI
Due to the large number of Wi-Fi supported by the "intel wireless wifi MVM" driver, it is not limited to AX210 or AX200 or BE200. If the kernel is compiled with "intel wireless wifi MVM" enabled, and "arm_64bit=1 kernel=kernel8.img" is added to /boot/config.txt, then a reboot is performed. Then check the log to see if it shows:
dmesg | grep iwlwifi [ 4.574560] iwlwifi 0000:01:00.0: enabling device (0000 -> 0002) ..................... [ 4.586465] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-59.ucode failed with error -2 [ 4.586562] iwlwifi 0000:01:00.0: Direct firmware load for iwlwifi-ty-a0-gf-a0-59.ucode failed with error -2 .....................
Among them, iwlwifi-ty-a0-gf-a0-59.ucode indicates the missing driver file, you can click here to download the firmware (the firmware of different modules is different)
You can click here to download more firmwares (It is recommended to download the latest firmware)
Copy the firmware to the /lib/firmware/ directory
Bluetooth
Check the logs
dmesg | grep hci ..................... [ 6.301299] bluetooth hci0: loading /lib/firmware/intel/ibt-12-16.sfi failed with error -20 [ 6.301321] bluetooth hci0: Direct firmware load for intel/ibt-12-16.sfi failed with error -20 .....................
The above content indicates that the corresponding file is missing (for example, the log above shows the lack of the "ibt-12-16.sfi" driver file in "/lib/firmware/intel"). You can download the latest driver from the internet, or use the driver file we provide. In the firmware/intel directory, simply copy /lib/firmware/intel
Execute hciconfig
pi@raspberrypi:~ $ hciconfig hci0: Type: Primary Bus: USB BD Address: D8:3B:BF:46:2B:1A ACL MTU: 1021:4 SCO MTU: 96:6 UP RUNNING RX bytes:813 acl:0 sco:0 events:62 errors:0 TX bytes:3683 acl:0 sco:0 commands:62 errors:0
The UP RUNNING state indicates normal operation, while DOWN signifies it is not working properly, possibly due to being closed or lacking driver files
If it is DOWN, you can try to execute it, and if there is insufficient permissions, add sudo
hciconfig hci0 up More commands Turn off Bluetooth: hciconfig hci0 down Reset Bluetooth: hciconfig hci0 reset Scan Bluetooth devices: hcitool scan
Among these, hci0 is the Bluetooth device ID. If your CM4 comes with a WiFi Bluetooth module, then pay attention to observe whether Bus: is followed by USB or UART. The Bluetooth device of AX200 is a USB Bluetooth
Windows
Driver download
BE200: Click here to download
AX210: Click here to download
AX200: Click here to download
Select the corresponding system
Debugging precautions
1. In a Linux environment, first check the hardware connections. "lspci" can be used to see if the devices are correctly connected
2. Check the log "dmesg| grep iwlwifi" in a Linux environment to confirm what driver files are missing
3. If there is no output when running "dmesg | grep iwlwifi" in a Linux environment, you can try restarting or checking the Linux kernel version to ensure it is greater than or equal to 5.11
4. In a Linux environment, you can check the status of Bluetooth startup and verify if the driver file is missing by using the command "dmesg | grep bluetooth”
5. The Linux environment ensures that the Bluetooth device is working properly via "HCICONFIG"
Support
Technical Support
If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)