我运行双启动 Pop!_OS/Windows 设置,并且我正在(第一次)迁移到 Linux。我在 Linux 上使用了大约一个月,非常喜欢这种体验并希望继续使用它。
不过,我有一块技嘉游戏主板,带有内置 wifi/BT 适配器。由于某种原因,Windows 可以正常看到 wifi,但我的 Pop_OS!发行版没有。更奇怪的是,尽管它连接到我办公桌上的同一个外部天线,但它看到了蓝牙功能。
在询问为什么会发生这种情况或如何解决它之前,我如何收集信息来了解问题?我对 Linux 很陌生,所以当我不知道这个环境中使用的术语时请耐心等待。
答案1
首先,您需要准确识别所使用的 WiFi 芯片。
大多数主板上的内置适配器通常连接到 WiFi 侧的 PCIe 总线,以及蓝牙侧的 USB 总线。因此,您应该运行lspci -nn
并找到引用您的 WiFi 适配器的行:如果命令显示的名称描述性不够,方括号中的十六进制数字[xxxx:yyyy]
对于识别 WiFi 芯片非常有用。lspci
第一部分是[xxxx:yyyy]
供应商 ID,第二部分是该特定供应商分配的产品 ID。您可以使用这些数字来查找设备PCI ID 存储库:如果发行版的 PCI ID 列表和相应的人类可读名称不够更新,无法完全识别 WiFI 适配器芯片,这可能会有所帮助。
一旦您知道了 WiFi 芯片供应商的名称,您就可以访问https://wireless.wiki.kernel.org/en/users/drivers并找出任何相关的驱动程序。通过查看供应商和总线类型,您通常可以将其限制为几个可能的驱动程序,然后是时候阅读这些驱动程序的信息页面并查看该驱动程序是否支持您的 WiFi 芯片。
如果您找到支持您的 WiFi 芯片的驱动程序,下一个问题是“该驱动程序模块是否已存在于您的系统上?”您可以使用该lsmod
命令列出所有当前加载的内核模块,并sudo modinfo <name-of-module>
查看模块是否存在但由于某种原因未自动加载。您还可以运行sudo dmesg -H
查看内核消息缓冲区:如果硬件检测出现问题,您可能会在其中看到有关问题的更多信息。
问题可能是您的 WiFi 芯片需要固件,除了芯片供应商之外,任何人都不允许重新分发该固件。在这种情况下,wireless.wiki.kernel.org 上的驱动程序信息页面将提供有关如何从可从供应商网站下载的包中下载和提取必要的固件以及如何将提取的固件文件放置到正确位置的信息,以便驱动程序会找到它(通常位于 下的某处/lib/firmware
)。
答案2
对于在双启动 Windows/Linux 时遇到相同问题的任何人:
如果您有一台装有最新版本 Windows 的双引导计算机,并且在引导 Linux 时开始在 WiFi 设备初始化过程中看到问题,则该问题可能是由于 Windows 上的“快速启动”功能造成的。
启用此功能后,Windows 不会真正关闭整个系统,而是保留部分运行状态,以便您可以更快地再次启动计算机。尝试禁用此选项,在Windows 10上应该在“控制面板→硬件和声音→电源选项→系统设置”中。选择“选择电源按钮的功能”以从电源选项访问系统设置。然后禁用“关机设置”中的“快速启动”选项。这将导致 Windows 完全关闭并可能解决该问题。
从https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi
这就是为我解决的问题。