我在一台搭载 Ubuntu 16.04、RT 抢占内核 4.16 和最新 Linux 固件 1.175.3 的计算机上工作。我的目标是在基于 QCA6174 芯片组的 wifi 卡中启用原始模式,以便我可以创建一个网状点。经过一番研究,我发现只有这些固件支持 raw_mode。
https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0/4.4.1.c3 https://github.com/kvalo/ath10k-firmware/tree/master/QCA6174/hw3.0/4.4.1.c2
但是我对 ath 驱动程序的了解不够深入,无法自动选择正确的固件。
提前致谢。
答案1
首先,您需要找到您的卡的确切型号和硬件版本,我建议检查 dmesg 输出:
ath10k_pci 0000:3b:00.0:qca6174硬件3.2目标0x05030000 chip_id 0x00340aff 子1a56:1535
之后,您可以在ath10k 的 Linux 无线页面,它们已经编译好了,只需根据卡型号(包括硬件版本)和内核选择正确的一个即可。
安装说明位于同一页面也:
首先从上面的链接下载固件映像。在此示例中,我们使用 QCA988X 10.1 目录中的 firmware-2.bin_10.1.467.2-1。然后只需将该文件作为 firmware-2.bin 复制到 ath10k 固件目录即可:
cp 固件-2.bin_10.1.467.2-1 /lib/firmware/ath10k/QCA988X/hw2.0/firmware-2.bin
然后重新加载ath10k(或重新启动系统),您可以检查新固件是否正在使用。
注意:在某些发行版中,固件位置可能与 /lib/firmware 不同。
希望这可以帮助!
答案2
您需要将更新的 board-2.bin 和 firmware-6.bin 复制到 /lib/firmware/ath10k/QCA6174/hw3.0(重命名它们)
https://github.com/kvalo/ath10k-firmware/blob/master/QCA6174/hw3.0/board-2.bin https://github.com/kvalo/ath10k-firmware/blob/master/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00059
cp ath10k-firmware/QCA6174/hw3.0/4.4.1.c3/firmware-6.bin_WLAN.RM.4.4.1.c3-00059 /lib/firmware/ath10k/QCA6174/hw3.0/firmware-6.bin
然后检查启动时是否使用了正确的固件 - 这是我更新固件后的输出
[ 32.529665] ath10k_pci 0000:01:00.0: qca6174 hw3.2 target 0x05030000 chip_id 0x00340aff sub 1028:0410
[ 32.529668] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 1 dfs 0 testmode 0
[ 32.530093] ath10k_pci 0000:01:00.0: firmware ver WLAN.RM.4.4.1.c3-00059 api 6 features wowlan,ignore-otp,no-4addr-pad,raw-mode,mfp crc32 3c85e1f9
[ 32.776709] ath10k_pci 0000:01:00.0: board_file api 2 bmi_id N/A crc32 c15a244d
[ 32.844046] ath10k_pci 0000:01:00.0: unsupported HTC service id: 1536
[ 32.862171] ath10k_pci 0000:01:00.0: htt-ver 3.62 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
答案3
还有另一个问题。当你使用 /n 检查 WiFi 状态时,NetworkManager 显示 WiFi 已禁用
sudo rfkill list all
并且显示它被硬阻止 - 意味着它被按钮禁用,但是当尝试启用它时,它显示笔记本电脑进入“飞行模式”
sudo rfkill list all /n
将显示它是软阻止,但不再是硬阻止,因此可以删除软锁
sudo rfkill unblock all
瞧!现在一切都正常了。他们把物理按钮状态和软件状态搞混了……通常如果它被硬锁了,我会认为笔记本电脑处于飞行模式……与 NetworkManager 中的同步相反……