Wireless-AX200 / AX210教程

产品介绍

Intel Wi-Fi 6E 无线网卡, Intel 第六代无线协议 AX 标准,相比 802.11AC 协议,增强性能,提高兼容性,同时降低功耗,提高使用寿命

特点

  • 采用 Intel 第六代无线协议 AX 标准,相比上一代 802.11AC 协议,增强性能,提高兼容性,同时降低功耗,提高使用寿命
  • 支持 2.4G/5G/6GHz 三频段共存,2.4GHz 频段速率可达 574Mbps,5G/6GHz 频段速率高达 2400Mbps
  • 支持蓝牙 5.3 标准,传输距离更远,传输稳定性更佳(002版本是蓝牙5.2)
  • 采用了 NGFF (M.2 A/E Key) 接口
  • 采用了新一代 MU-MIMO 无线技术,显著提高网络质量,上网速度提升三倍以上,传输下载效率更高
  • 支持 Linux、Windows 10/8.1/8/7 等操作系统


注意事项

  • 1:Linux环境下需要使用至少5.11内核才可以正常使用,如果只需要WIFI不需要蓝牙,5.10内核也是可以工作的
  • 2:树莓派CM4原生系统无法工作,需要重新编译内核
  • 3:AX210硬件版本默认是006,20230919之前的AX210硬件版本是002
  • 4: 连接方式:WIFI的连接方式是PCIe,蓝牙的连接方式是USB


使用说明

树莓派CM4

测试使用CM4-DUAL-ETH-WIFI6-BASE

编译内核

可以参考:点这里

编译内核需要一个Ubuntu系统
以下测试使用:Ubuntu-20.04.2.0-desktop-amd64 :

编译环境前先确认你需要的具体树莓派系统版本
https://github.com/raspberrypi/linux
AX210-1.png


在Ubuntu上操作:

#安装依赖
 sudo apt install git bc bison flex libssl-dev make libc6-dev libncurses5-dev
 #安装编译工具
 sudo apt install neovim
 #创建文件夹
 mkdir cm4
 cd cm4
 mkdir gcc-linaro
 #下载GCC编译器
 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
 #修改环境变量
 nvim ~/.bashrc
 #在 .bashrc 后面加上:export PATH=$PATH:~/cm4/gcc-linaro/bin
 #刷新环境变量
 source ~/.bashrc 
 #克隆 linux repo(或克隆一个 fork 或不同的分支):
 git clone --depth=1 https://github.com/raspberrypi/linux/...
 #此命令为无效命令,后面的github链接需要改成你具体需要的内核版本https://github.com/raspberrypi/linux
 #或者自行下载,然后复制进去
 #解压unzip linux-rpi-6.6.y.zip  (不同内核版本使用的命令不一样)
 #运行以下命令来制作 .config 文件:.
 cd linux
 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bcm2711_defconfig
 #生成 .config 文件:
 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig
 #配置.config 文件,这里添加你想要添加的内核驱动
 添加(回车进入,空格选中)
 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
 #编译内核。需要等待比较长时间
 make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image modules dtbs

在树莓派上操作:

sudo su
passwd
#设置密码
sudo nano /etc/ssh/sshd_config
#将  PermitRootLogin prohibit-password 改为
PermitRootLogin yes
sudo reboot

在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是树莓派的IP
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/

如果多次链接一个IP然后系统更换了,出现read: Connection reset by peer 错误:
删除ssh公钥认证即可

ssh-keygen -f "/root/.ssh/known_hosts" -R 192.168.x.x
 #192.168.x.x是树莓派的IP

安装驱动

上面编译内核使用的都是“ARCH=arm64”64位的

在树莓派的 /boot/config.txt中添加
arm_64bit=1 kernel=kernel8.img
#重启
sudo reboot

模组需要添加天线才会有信号,使用前注意要添加天线

WIFI

由于“intel wireless wifi MVM”驱动支持的WIFI众多,不局限于AX210或者AX200。 如果编译内核开启了“intel wireless wifi MVM”,并且 /boot/config.txt中添加arm_64bit=1 kernel=kernel8.img,然后重启 那么检查日志会不会出现让如下:

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
.....................

其中iwlwifi-ty-a0-gf-a0-59.ucode表示为缺少的驱动文件,可以下载固件:点这里
更多固件下载:点这里
将固件复制到/lib/firmware/ 目录下


Bluetooth

检查日志

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
.....................

出现以上内容则说明是缺少对应的文件(例如上面日志表示缺少"/lib/firmware/intel/ibt-12-16.sfi"驱动文件),可以自行下载网上最新的驱动,也可以使用我们提供的驱动文件,在firmware/intel文件夹中,复制/lib/firmware/intel即可

执行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

其中UP RUNNING 状态表示正常工作,DOWN为没有正常工作,可能是关闭或者缺少驱动文件
如果为DOWN可以尝试执行,如果出现权限不足,请添加sudo

hciconfig hci0 up
更多命令
关闭蓝牙  hciconfig hci0 down
重置蓝牙  hciconfig hci0 reset
扫描蓝牙设备 hcitool scan

其中hci0为蓝牙设备编号,如果你cm4自带WIFI蓝牙模组,那么注意观察Bus: 后面是USB 还是 UART,AX200的蓝牙设备是USB蓝牙


Jetson Xavier NX

最新系统由于内核只有5.10内核所以只支持WIFI,不支持蓝牙。

检查日志

jetson@ubuntu:~$ sudo dmesg | grep iwlwifi
[   10.336831] iwlwifi 0004:01:00.0: Adding to iommu group 6
[   10.337223] iwlwifi 0004:01:00.0: enabling device (0000 -> 0002)
[   10.422090] iwlwifi 0004:01:00.0: api flags index 2 larger than supported by driver
[   10.423132] iwlwifi 0004:01:00.0: TLV_FW_FSEQ_VERSION: FSEQ Version: 93.8.63.28
[   10.423952] iwlwifi 0004:01:00.0: loaded firmware version 59.601f3a66.0 ty-a0-gf-a0-59.ucode op_mode iwlmvm
[   11.875701] iwlwifi 0004:01:00.0: Detected Intel(R) Wi-Fi 6 AX210 160MHz, REV=0x420
[   12.057094] iwlwifi 0004:01:00.0: loaded PNVM version 0x324cd670
[   12.311893] iwlwifi 0004:01:00.0: Timeout waiting for PNVM load!
.....................
删除或者重命名 /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm  即可
sudo rm -rf /lib/firmware/iwlwifi-ty-a0-gf-a0.pnvm 

Windows

驱动下载
AX210:点这里
AX200:点这里
选择对应系统
AX210-2.png

调试注意

1:linux 环境先检查硬件连接,“lspci” 可以看到设备标示正确连接
2:linux 环境通过检查日志“ dmesg | grep iwlwifi”来确认缺少什么驱动文件
3:linux 环境如果“ dmesg | grep iwlwifi”没有任何输出,可以尝试重启或者检查linux内核版本,确保linux内核版本大于或等于5.11
4:linux 环境通过“ dmesg | grep bluetooth”检查蓝牙启动状态,检查是否缺少驱动文件
5:linux 环境通过“hciconfig ”确保蓝牙设备正常工作