Google Chat: zj734465502@gmail.com
+86-0755-88291180
sales01@spotpear.com
dragon_manager@163.com
services01@spotpear.com
manager01@spotpear.com
WhatsApp:13246739196
Intel Wi-Fi 6 wireless NIC adopts Intel's sixth-generation wireless protocol AX standard, which enhances performance and compatibility compared to the previous generation 802.11AC protocol while reducing power consumption and increasing service life.
Use CM4-DUAL-ETH-WIFI6-BASE to test.
You can refer to here.
Ubuntu system is required for kernel compilation.
Test by the following command: 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
On the Ubuntu:
#Install dependencies sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev #Install compilation tools sudo apt install neovim # create 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 Add after .bashrc: export PATH=$PATH:~/cm4/gcc-linaro/bin # Refresh environment variables source ~/.bashrc #Clone the linux repo (or clone a fork or a different branch): git clone --depth=1 https://github.com/raspberrypi/linux/… #This command is an invalid command, 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 # Run the following command to make a .config file: . cd linux make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-bcm2711_defconfig #Generate .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 (Enter to enter, space to select) device drivers > network device support > wireless LAN > intel devices > intel wireless wifi next gen agn(iwlwifi) device drivers > network device support > wireless LAN > intel devices > intel wireless wifi next gen agn(iwlwifi) > intel wireless wifi MVM # Compile the kernel. need to wait a long time make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs
On the Raspberry Pi:
sudo su passwd #Set password sudo nano /etc/ssh/sshd_config #Modify PermitRootLogin prohibit-password to #PermitRootLogin yes sudo reboot
On the Ubuntu:
sudo sshfs root@192.168.x.x:/ /mnt/pi-ext4 sudo sshfs root@192.168.x.x:/boot /mnt/pi-fat32 #192.168.x.x is the IP of the 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 is connected multiple times and the system is changed, a read: Connection reset by peer error occurs:
Just delete the ssh public key authentication.
ssh-keygen -f "/root/.ssh/known_hosts" -R 192.168.x.x #192.168.x.x is the IP of Raspberry Pi
The kernel compiled above uses "ARCH=arm64" 64-bit
Add in /boot/config.txt of Raspberry Pi arm_64bit=1 kernel=kernel8.img #reboot sudo reboot
The module needs to add an antenna to have a signal, please pay attention to adding an antenna before use.
Since the "intel wireless wifi MVM" driver supports many WIFIs, it is not limited to AX210 or AX200. If the kernel is compiled with "intel wireless wifi MVM" enabled, and arm_64bit=1 kernel=kernel8.img is added to /boot/config.txt, and then restarted, then check whether the log will appear as follows:
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 represents the missing driver file, you can download the firmware: click here.
For more firmware downloads: click here.
Check log:
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 .....................
If the above content appears, it means that the corresponding file is missing (for example, the above log indicates that the "/lib/firmware/intel/ibt-12-16.sfi" driver file is missing), you can download the latest driver on the Internet by yourself, or you can use our provided Driver file, in the firmware/intel folder, just 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
Among them, the UP RUNNING state means normal operation, and the DOWN state does not work normally, which may be closed or lack of driver files If it is DOWN, you can try to execute it. If there is insufficient permission, please add sudo
hciconfig hci0 up more commands turn off bluetooth hciconfig hci0 down reset bluetooth hciconfig hci0 reset Scan for bluetooth devices hcitool scan
Among them, hci0 is the number of Bluetooth devices. If your cm4 comes with a WIFI Bluetooth module, then pay attention to observe the Bus: the back is USB or UART, and the Bluetooth device of AX200 is USB Bluetooth.
The latest Jetson Xavier NX system works with a straight connection.
Download drivers
AX210: click here
AX200: click here
Choose the corresponding system: