![在 Ubuntu 21.10 上,ath9k_htc 驱动程序无法通过 modprobe 为 AWUS036NHA(芯片组 AR9271)加载](https://linux22.com/image/1025715/%E5%9C%A8%20Ubuntu%2021.10%20%E4%B8%8A%EF%BC%8Cath9k_htc%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%97%A0%E6%B3%95%E9%80%9A%E8%BF%87%20modprobe%20%E4%B8%BA%20AWUS036NHA%EF%BC%88%E8%8A%AF%E7%89%87%E7%BB%84%20AR9271%EF%BC%89%E5%8A%A0%E8%BD%BD.png)
我有 AWUS036NHA 长距离适配器(带有 AR9271 芯片组)并尝试使用 Ubuntu 21.10 进行连接。
lsusb
显示设备:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 8087:0a2b Intel Corp. Bluetooth wireless interface
Bus 001 Device 006: ID 0cf3:9271 Qualcomm Atheros Communications AR9271 802.11n
Bus 001 Device 004: ID 0c45:6717 Microdia Integrated_Webcam_HD
Bus 001 Device 002: ID 413c:301c Dell Computer Corp. Dell Universal Receiver
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
lshw -C network
没有显示设备,但是当我运行lshw
并查找 USB 设备时,我看到它已连接:
...
*-usb
description: USB controller
product: 100 Series/C230 Series Chipset Family USB 3.0 xHCI Controller
vendor: Intel Corporation
physical id: 14
bus info: pci@0000:00:14.0
version: 31
width: 64 bits
clock: 33MHz
capabilities: pm msi xhci bus_master cap_list
configuration: driver=xhci_hcd latency=0
resources: irq:127 memory:ed430000-ed43ffff
*-usbhost:0
product: xHCI Host Controller
vendor: Linux 5.13.0-28-generic xhci-hcd
physical id: 0
bus info: usb@1
logical name: usb1
version: 5.13
capabilities: usb-2.00
configuration: driver=hub slots=16 speed=480Mbit/s
*-usb:0
...
*-usb:1 UNCLAIMED
description: Generic USB device
product: UB91C
vendor: ATHEROS
physical id: 3
bus info: usb@1:3
version: 1.08
serial: 12345
capabilities: usb-2.00
configuration: maxpower=500mA speed=480Mbit/s
*-usb:2
...
*-usb:3
...
当我插入 USB 电缆并运行时,sudo dmesg
我得到
[ 984.770279] usb 1-3: new high-speed USB device number 7 using xhci_hcd
[ 984.935348] usb 1-3: New USB device found, idVendor=0cf3, idProduct=9271, bcdDevice= 1.08
[ 984.935360] usb 1-3: New USB device strings: Mfr=16, Product=32, SerialNumber=48
[ 984.935365] usb 1-3: Product: UB91C
[ 984.935369] usb 1-3: Manufacturer: ATHEROS
[ 984.935372] usb 1-3: SerialNumber: 12345
[ 984.959693] ath: disagrees about version of symbol ieee80211_get_channel_khz
[ 984.959696] ath: Unknown symbol ieee80211_get_channel_khz (err -22)
[ 984.959704] ath: disagrees about version of symbol wiphy_apply_custom_regulatory
[ 984.959705] ath: Unknown symbol wiphy_apply_custom_regulatory (err -22)
[ 984.959717] ath: disagrees about version of symbol freq_reg_info
[ 984.959718] ath: Unknown symbol freq_reg_info (err -22)
我按照这里的说明进行操作:https://unix.stackexchange.com/questions/326462/how-do-i-install-atheros-ar9271-wifi-drivers-on-debian并使用 安装了 Atheros 固件sudo apt install firmware-atheros
。我认为我需要ath9k_htc
驱动程序,而且似乎我已经安装了它:
$ ls /lib/firmware/ath9k_htc
htc_7010-1.4.0.fw htc_7010-1.dev.0.fw htc_9271-1.4.0.fw htc_9271-1.dev.0.fw
但是,lsmod | grep ath
什么都没有。所以我想这modprobe ath9k_htc
也许可以解决这个问题,因为该设备被列为受支持(https://wiki.debian.org/ath9k_htc),但是这也不起作用:
modprobe: ERROR: could not insert 'ath9k_htc': Invalid argument
如果您对如何解决此问题或在哪里寻找有任何想法,我将不胜感激。
编辑:
$ sudo modprobe ath9k_htc && sudo dmesg | grep ath
modprobe: ERROR: could not insert 'ath9k_htc': Invalid argument
$ sudo dmesg | grep ath
[ 5661.611665] ath: disagrees about version of symbol ieee80211_get_channel_khz
[ 5661.611668] ath: Unknown symbol ieee80211_get_channel_khz (err -22)
[ 5661.611681] ath: disagrees about version of symbol wiphy_apply_custom_regulatory
[ 5661.611682] ath: Unknown symbol wiphy_apply_custom_regulatory (err -22)
[ 5661.611699] ath: disagrees about version of symbol freq_reg_info
[ 5661.611700] ath: Unknown symbol freq_reg_info (err -22)
[ 5676.847157] ath: disagrees about version of symbol ieee80211_get_channel_khz
[ 5676.847160] ath: Unknown symbol ieee80211_get_channel_khz (err -22)
[ 5676.847174] ath: disagrees about version of symbol wiphy_apply_custom_regulatory
[ 5676.847175] ath: Unknown symbol wiphy_apply_custom_regulatory (err -22)
[ 5676.847193] ath: disagrees about version of symbol freq_reg_info
[ 5676.847194] ath: Unknown symbol freq_reg_info (err -22)
$ ls -al /usr/lib/firmware/ath9k_htc | grep 9271
-rw-r--r-- 1 root root 51008 dec 7 09:40 htc_9271-1.4.0.fw
-rw-r--r-- 1 root root 51008 aug 31 10:28 htc_9271-1.dev.0.fw
编辑2:
有人能给我提供一些资源来了解更多有关该modprobe: ERROR: could not insert 'ath9k_htc': Invalid argument
错误的信息吗?我完全不明白这是什么意思。
答案1
在您的 dmesg 中,我们看到:
[ 5661.611665] ath: disagrees about version of symbol ieee80211_get_channel_khz
[ 5661.611668] ath: Unknown symbol ieee80211_get_channel_khz (err -22)
[ 5661.611681] ath: disagrees about version of symbol wiphy_apply_custom_regulatory
[ 5661.611682] ath: Unknown symbol wiphy_apply_custom_regulatory (err -22)
我怀疑您安装了一些其他驱动程序,以尝试使 ath9k_htc 设备正常工作。内核中当前没有的其他一些驱动程序会安装自定义 cfg80211 和/或 mac80211 模块,这些模块与内核中的版本以及 ath9k_htc 所需的版本相冲突。
我们检查了:
sudo dkms status
我们找到并删除了一些多余的驱动程序。重启后,您的无线网络就可以正常工作了。