安装完ubuntu 22.04发现自己的AX211无法驱动,找不到WiFi。查看dmesg日志发现:
[ 2.458983] kernel: iwlwifi: No config found for PCI dev 7a70/0244, rev=0x430, rfid=0x10c000
[ 2.459024] kernel: iwlwifi: probe of 0000:00:14.3 failed with error -22
然后就没有其它日志了,发现DEVICE是0x7A70,SUBSYSTEM_DEVICE为0x0244。看了Intel的WiFi驱动,说是AX210在5.10+的内核就支持了,AX211在5.14+的内核就支持。
https://wireless.wiki.kernel.org/en/users/Drivers/iwlwifi
而22.04的内核,通过uname -a 查看了下,已经是5.19了,理论肯定是支持了。
$ uname -a
Linux saint-ubuntu 5.19.0-38-generic #39~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 17 21:16:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
那就非常的奇怪了,各种百度后,都无法解决,然后看了一下iwlwifi的驱动,发现7a70/0244不在那个列表里。
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/wireless/intel/iwlwifi/pcie/drv.c
于是就想看看能不能改SUBSYSTEM_DEVICE,但也没找到怎么改,就想能不能自己编译iwlfifi的驱动。
就参考一些其它博客,去把https://codeload.github.com/intel/backport-iwlwifi下载下来
cd iwlwifi-stack-dev
vim drivers/net/wireless/intel/iwlwifi/pcie/drv.c
我是这么修改的:
IWL_DEV_INFO(0x7A70, 0x0090, iwlax211_2ax_cfg_so_gf_a0_long, NULL),
IWL_DEV_INFO(0x7A70, 0x0098, iwlax211_2ax_cfg_so_gf_a0_long, NULL),
+ IWL_DEV_INFO(0x7A70, 0x0244, iwlax211_2ax_cfg_so_gf_a0_long, NULL),
IWL_DEV_INFO(0x7A70, 0x00B0, iwlax411_2ax_cfg_so_gf4_a0_long, NULL),
然后开始编译及安装:
cd iwlwifi-stack-dev
make defconfig-iwlwifi-public
make
sudo make install
然后重启电脑,发现就可以正常驱动了,不过认成了AX101,并且也报了一些错,但试了一下,能正常使用,也就没去深入研究了。
用户在安装Ubuntu22.04后遇到AX211WiFi芯片无法驱动的问题,dmesg日志显示驱动不匹配。尽管内核版本为5.19应支持AX211,但设备未被正确识别。通过手动编辑iwlwifi驱动源码添加设备ID并重新编译安装,成功驱动了WiFi,但被识别为AX101并有错误,不过功能正常。
1万+

被折叠的 条评论
为什么被折叠?



