web-dev-qa-db-ja.com

Macハードウェア上のmacOSとlinuxwifiドライバーの違いを見つけるにはどうすればよいですか?

2013年後半からmacbookproでmacOSを実行していますが、Arch wikiを読んでいます wifi構成 そして最初の部分に焦点を当てています:

最初の部分は、ワイヤレスデバイス用の正しいドライバーがインストールされていることを確認して確認することです

私の目標は、次のことを理解する方法をよりよく理解することです。

  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

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

2つの重要な情報はCard TypeFirmware Versionだと思います。

  • Card TypeFirmware Versionの違いは何ですか?
  • Firmware VersionDriverの別の単語ですか?
  • lspci -kの出力のどの用語が、「このMacについて」の出力に対応していますか?

既存のLinuxドライバー およびCmd+f for BCM43xxを調べても何も見つかりません。

ただし、 オープンソースワイヤレスドライバーの比較 ウィキペディアページへのリンクをたどると機能します。

enter image description here

緑と赤があります。いくつかの質問は次のとおりです。

  • この情報を使用して、wifiカードが機能するかどうかを確認するにはどうすればよいですか?
  • インストールするドライバーを知るにはどうすればよいですか?
  • MacOS BCM43xxドライバーとlinuxBCM43xxドライバーはありますか?
  • このMacについて、すべてのPHYモードがサポートされているが、wikiページはサポートされていないと言うのはなぜですか?ドライバーが違うからですか?
6
mbigras

カードタイプとファームウェアバージョンの違いは何ですか?

「このMacについて」に表示されているCard Typeフィールドが壊れているようです。カードのベンダーIDとサブシステムベンダーIDを組み合わせているようです。これにより、カードが一意に識別される場合とされない場合があります。一意に識別される場合でも、システムベンダーのネイティブオペレーティングシステムに対してのみ識別されます。

ファームウェアバージョンは、デバイスで実行されているファームウェアのバージョンです。ワイヤレスカードは十分に複雑であるため、内部に独自のCPU(たとえば、マイクロコントローラー)があります。ファームウェアバージョンは、カードのCPUで実行されているソフトウェアを識別します。

ファームウェアバージョンはドライバーの別の言葉ですか?

いいえ。オペレーティングシステムドライバはメインCPUで実行されます。 OSをPCIバスに接続する役割を果たします。ファームウェアはワイヤレスカードで実行されます。 PCIバスを実際のワイヤレス無線ハードウェアに接続する役割を果たします。それは、より多くの混乱を引き起こすので、それをそれと呼びたくないことを除いて、最終的には「ドライバー」のようなものです。

PCIバスは、家(OS)と近くの小屋(ワイヤレスカード)の間の電話回線と考えることができます。運転手は家にいて、小屋にあるファームウェアと電話で話している。運転手は家の指揮系統に従属していますが、ファームウェアは小屋の城の王様です。

多くのカードにはカード自体にファームウェアが含まれていないため、状況はさらに複雑になります。カード自体には、PCIを介してファームウェアをロードして実行できる一種のブートローダーがあります。したがって、OS側に互換性のあるファームウェアファイルが必要であり、OSドライバーは、カードを完全に起動するためにそれをフィードする方法を知っている必要があります。しかし、ファームウェアはOSではrunではなく、(多すぎる)処理なしでカードに供給されるだけです。

Lspci -kの出力のどの用語が、「このMacについて」の出力に対応していますか?

そのなかで何も。 Intel Corporation WiFi Link5100のPCIIDは[8086:4232]である必要があり、PCIベンダー0x14E4(Broadcom)とは完全に一致しません。 Linuxとは異なるMacOSのハードウェアを使用しています。 lspci -nnの完全な出力は、何が起こっているかを明らかにするかもしれません。

インストールするドライバーを知るにはどうすればよいですか?

Linuxで見つけたカードは、すでにiwlwifiによって要求されています。 IntelカードはBroadcomカードよりもLinuxとの互換性が高いため、それを実行できる場合は、おそらくそれを実行する方がよいでしょう。

3
DepressedDaniel

Debian によると、Broadcomはカードの両方のハードウェアバージョンのWLバージョン6.30.223.248でサポートを追加しました-PCI ID14e4:43a0および14e4:4360

それでもお持ちのバージョンを正確に知る必要がある場合は、Linuxを起動して実行してください

lspci -nn | grep 0280

Debianの新規インストールを行う場合は、必ずnon-freeカテゴリを/etc/apt/source.listに追加して、独自のBroadcomドライバを入手してください。

3
claudiuf