我最近将 Debian 11 (bullseye) 安装到我计算机中的第二个 SSD 上(所以我在另一个上使用 Windows 进行双重引导)。我使用了官方安装映像,并且必须在安装驱动器上包含固件 iwlwifi 包,该包运行良好,并且能够在安装过程中使用我的 wifi 适配器。
从那时起,当我启动到 Debian 并检查 GNOME 设置对话框时,我看到“未找到 Wi-Fi 适配器”。然而,这是不一致的,它有时工作正常(我还没有注意到这背后的任何模式)。
我发现我的 wifi 适配器是“Intel Wi-Fi 6 AX200 160MHz”,您可以在lspci -v
此处的输出片段中看到它与 iwlwifi 固件一起列出:
04:00.0 Network controller: Intel Corporation Wi-Fi 6 AX200 (rev 1a)
Subsystem: Intel Corporation Wi-Fi 6 AX200
Kernel modules: iwlwifi
我还可以看到该模块当前已加载,根据此输出片段lsmod
(请注意,第三列显示它被 0 个正在运行的程序使用):
iwlwifi 294912 0
我已经进行了一些搜索,我可以找到与此相关的所有以前的问题(例如这个)都是针对较旧的 Linux 内核或较旧版本的 Debian(建议使用向后移植的软件包)。但是,据我了解,我已安装的最新版本的用于靶心的 package-iwlwifi 应该支持我的适配器。
什么可能导致这种行为,或者我可以采取哪些步骤来查找和解决问题?
dmesg | grep iwl
由于显示 iwlwifi 无法探测适配器的这些特定输出行,我能够找到问题:更具体地搜索失败的探测导致我发现问题是由于使用 Windows 10 进行决斗启动并启用了 Windows“快速启动”功能(默认情况下启用)。禁用此功能为我解决了这个问题。
来自https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi#about_dual-boot_with_windows_and_fast-boot_enabled的相关文本 :
如果你同时安装了Windows和Linux,在Windows中禁用快速启动(在控制面板的电源设置中),然后重新启动,进入Linux,解决。
我是双启动并且在 Windows 中禁用了快速启动。它没有解决问题。看来这是固件的回归问题。
须藤dmesg | grep 固件
如果您的版本加载失败,您将在底部看到。
sudo YourFileManager 或在终端中使用 sudo mv 来执行以下操作。
进入 /lib/firmware 并找到查看 dmesg | 时失败的 .ucode 版本。grep 固件并将其重命名为扩展名。禁用或将其清除。
示例:iwlwifi-cc-a0-63.ucode.Disabled
(如果您遇到 Broadcomm 或其他问题,您的 dmesg | grep 固件将显示不同的固件文件)
禁用/擦除坏固件后:
sudo update-initramfs -c -k 全部重启
将加载 /lib/firmware 中的最高版本。
我的适用于 5.302607] iwlwifi 0000:04:00.0: 加载固件版本 62.49eeb572.0 cc-a0-62.ucode op_mode iwlmvm
版本 63 对我不起作用。军团 5 AMD,英特尔 AX200 wifi
我将提交错误报告。快乐冲浪。