如何在 Mac 硬件上找到 macOS 和 Linux wifi 驱动程序之间的差异?

如何在 Mac 硬件上找到 macOS 和 Linux wifi 驱动程序之间的差异?

我从 2013 年底开始在 macbook pro 上运行 macOS,但正在阅读 Arch wiki无线网络配置重点关注第一部分:

第一部分是识别并确保安装了适合您的无线设备的正确驱动程序

我的目标是更好地理解如何弄清楚:

  1. 我的机器上的物理 wifi 设备是什么?
  2. 我需要什么驱动程序才能使其正常工作?
  3. 它能在 Linux 上工作吗?

首先,我进入“关于此 mac”菜单以获取有关以下内容的一些信息network interface(这是物理网络设备吗?):

en0:
  Card Type:  AirPort Extreme  (0x14E4, 0x112)
  Firmware Version: Broadcom BCM43xx 1.0 (7.21.171.68.1a5)
  MAC Address:  60:03:08:8b:96:9c
  Locale: FCC
  Country Code: US
  Supported PHY Modes:  802.11 a/b/g/n/ac
  Supported Channels: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 36, 40, 44, 48, 52, 56, 60, 64, 100, 104, 108, 112, 116, 120, 124, 128, 132, 136, 140, 144, 149, 153, 157, 161, 165
  Wake On Wireless: Supported
  AirDrop:  Supported
  AirDrop Channel:  149
  Auto Unlock:  Supported
  Status: Connected

来自拱门维基建议使用它lspci -k来获取有关已安装的无线驱动程序的信息。给出以下示例:

$ lspci -k
06:00.0 Network controller: Intel Corporation WiFi Link 5100
  Subsystem: Intel Corporation WiFi Link 5100 AGN
  Kernel driver in use: iwlwifi
  Kernel modules: iwlwifi

我认为两个重要的信息是Card TypeFirmware Version

  • Card Type该和 该 和有什么不一样Firmware Version
  • 另一个词是Firmware Versiona吗Driver
  • 输出中的哪些术语lspci -k对应于“About this mac”的输出?

纵观整个现有的 Linux 驱动程序结果什么Cmd+fBCM43xx没发现。

但是,通过链接到开源无线驱动比较维基百科页面的工作原理:

在此输入图像描述

有一些绿色,一些红色。一些问题是:

  • 如何使用此信息来确定我的 wifi 卡是否可以使用?
  • 我如何知道要安装什么驱动程序?
  • 有 macOSBCM43xx驱动程序和 LinuxBCM43xx驱动程序吗?
  • 为什么这款 mac 说PHY支持所有模式,但 wiki 页面不支持?是因为他们是不同的司机吗?

答案1

根据德班, Broadcom 在 WL 版本 6.30.223.248 中添加了对卡的两个硬件版本的支持 - PCI ID14e4:43a014e4:4360

如果您仍然需要确定您拥有的确切版本,请启动 Linux 并运行

lspci -nn | grep 0280

如果您要全新安装 Debian,请确保添加类别non-free/etc/apt/source.list获取专有的 Broadcom 驱动程序。

答案2

卡类型和固件版本有什么区别?

“关于本机”中显示的字段Card Type似乎已损坏。它似乎将卡的供应商 ID 与子系统供应商 ID 结合在一起,这可能会也可能不会唯一地标识该卡,即使它确实如此,也只能识别到系统供应商的本机操作系统。

固件版本是设备上运行的固件的版本。无线卡非常复杂,内部有自己的 CPU(例如微控制器)。固件版本标识卡的 CPU 上运行的软件。

固件版本是驱动程序的另一种说法吗?

不会。操作系统驱动程序在主 CPU 上运行。它负责将操作系统连接到 PCI 总线。固件在无线卡上运行。它负责将 PCI 总线连接到实际的无线电硬件。它最终有点像“驱动程序”,只是您不想这样称呼它,因为它会引起更多混乱。

您可以将 PCI 总线视为房屋(操作系统)和附近棚屋(无线卡)之间的电话线。司机正在屋里用位于棚子里的固件打电话。驱动程序隶属于房子里的指挥系统,但固件是棚屋里城堡的国王。

由于许多卡本身不包含固件,因此情况变得更加复杂。该卡本身只有一种引导加载程序,可以通过 PCI 加载固件然后执行它。因此,您必须在操作系统端拥有兼容的固件文件,并且操作系统驱动程序需要知道如何将其输入以完全启动该卡。但固件没有跑步在操作系统中,它只是馈送到卡上,而没有(太多)处理。

lspci -k 输出中的哪些术语对应于“About this mac”的输出?

没有一个。 Intel Corporation WiFi Link 5100 应该有 PCI ID ,并且绝对与 PCI 供应商(Broadcom)[8086:4232]不匹配。0x14E4您在 MacOS 和 Linux 上使用的硬件不同;的完整输出lspci -nn可能会揭示正在发生的事情。

我如何知道要安装什么驱动程序?

您在 Linux 中找到的卡已被 认领iwlwifi。如果您可以使用它,那么最好这样做,因为 Intel 卡比 Broadcom 卡具有更好的 Linux 兼容性。

相关内容