如何在 mac 硬體上找到 macOS 和 linux wifi 驅動程序之間的差異?
我從 2013 年底開始在 macbook pro 上執行 macOS,但我正在閱讀有關wifi 配置的 Arch wiki並專注於第一部分:
第一部分是辨識並確保為您的無線設備安裝了正確的驅動程序
我的目標是更好地理解如何弄清楚:
- 我機器上的物理 wifi 設備是什麼?
- 我需要什麼驅動程序才能使它工作?
- 它可以與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
建議從arch wiki
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 Type
和Firmware Version
。
Card Type
和 和有什麼不一樣Firmware Version
?Firmware Version
另一個詞是 a嗎Driver
?- 輸出中的哪些術語
lspci -k
對應於“關於此 mac”的輸出?查看現有的 Linux 驅動程序
Cmd+f
並沒有BCM43xx
發現任何問題。但是,以下連結到開源無線驅動程序維基百科頁面的比較有效:
有一些綠色和一些紅色。一些問題是:
- 如何使用這些資訊來確定我的 wifi 卡是否可以使用?
- 我怎麼知道要安裝什麼驅動程序?
- 有 macOS
BCM43xx
驅動程序和 linuxBCM43xx
驅動程序嗎?- 為什麼這個 mac 說支持所有
PHY
模式,但 wiki 頁面不支持?是因為他們是不同的司機嗎?
卡類型和韌體版本有什麼區別?
“關於此 Mac”中顯示的
Card Type
欄位似乎已損壞。它似乎將卡的供應商 ID 與子系統供應商 ID 結合起來,這可能會或可能不會唯一標識卡,即使這樣做,也只能辨識系統供應商的本機作業系統。韌體版本是設備上執行的韌體版本。無線網卡非常複雜,以至於它內部有自己的 CPU(例如,微控制器)。韌體版本標識卡 CPU 上執行的軟體。
韌體版本是驅動程序的另一個詞嗎?
不,作業系統驅動程序在主 CPU 上執行。它負責將作業系統連接到 PCI 匯流排。韌體在無線網卡上執行。它負責將 PCI 匯流排連接到實際的無線電硬體。它最終有點像“驅動程序”,只是你不想這樣稱呼它,因為它會引起更多的混亂。
您可以將 PCI 匯流排視為房屋 (OS) 和附近的棚屋(無線網卡)之間的電話線。司機在屋子裡用棚子裡的韌體打電話。司機從屬於房子裡的一條指揮系統,但韌體是棚子裡的城堡之王。
由於許多卡本身不包含韌體,情況變得更加複雜。卡本身只有一種引導載入程序,可以通過 PCI 載入韌體然後執行它。所以你必須在作業系統端有一個兼容的韌體文件,並且作業系統驅動程序需要知道如何輸入它才能完全啟動卡。但是韌體不在作業系統中執行,它只是在沒有(太多)處理的情況下饋送到卡中。
lspci -k 輸出中的哪些術語對應於“關於本機”的輸出?
他們都沒有。Intel Corporation WiFi Link 5100 應該有 PCI ID
[8086:4232]
,並且絕對不匹配 PCI 供應商0x14E4
(Broadcom)。您使用 MacOS 和 Linux 的不同硬體;的完整輸出lspci -nn
可能會揭示發生了什麼。我怎麼知道要安裝什麼驅動程序?
您在 Linux 中找到的卡已被
iwlwifi
. 如果您可以使用它,那麼這樣做可能會更好,因為 Intel 卡比 Broadcom 卡具有更好的 Linux 兼容性。
根據Debian的說法,Broadcom 在 WL 版本 6.30.223.248 中為您的卡的兩個硬體版本添加了支持 - PCI IDs 14e4:43a0和14e4:4360
如果您仍需要確切了解您擁有的版本,請引導至 Linux 並執行
lspci -nn | grep 0280
如果您要進行全新的 Debian 安裝,請確保添加
non-free
類別以/etc/apt/source.list
獲取專有的 Broadcom 驅動程序。