Wireless-BE200

From Waveshare Wiki
Jump to: navigation, search
Wireless-BE200
Wireless-AX210

WIF7
{{{name2}}}

{{{name3}}}

{{{name4}}}

{{{name5}}}

{{{name6}}}

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
AX210-1.png

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
AX210-2.png

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)