ワイヤレス接続に関連するいくつかの問題を解決し、その過程でいくつかを学びようとしています。 ~からここそしてここ私は私のワイヤレスドライバについて調べる2つの方法を学びました。問題は、2つの異なる結果を得ることです。
最初の方法はsudo lshw -C network
以下を提供します。
configuration: broadcast=yes driver=brcmsmac
そして2番目はlspci -knn | grep Net -A2
私にこれを与えます:
Kernel driver in use: bcma-pci-bridge
マイドライバーリストには次のものがありbrcmsmac
ますbcma
。
> lsmod | grep brcmsmac
brcmsmac 563061 0
cordic 12574 1 brcmsmac
brcmutil 15579 1 brcmsmac
mac80211 652777 1 brcmsmac
cfg80211 498458 2 brcmsmac,mac80211
bcma 52320 2 brcmsmac
では、この二人は何をしているのでしょうか?
答え1
Broadcomのハードウェア設計には、多くの製品に共通の標準PCI / PCIeインターフェースモジュールが含まれています。そして、1つ以上の製品固有のモジュールを接続できるBroadcom独自のインターフェースバスがあります。
このbcma
モジュールは、PCI / PCIeバスとBroadcom専用バス間の「ブリッジ」として機能するPCI / PCIeインターフェイスモジュール用のドライバです。ロードすると、Broadcomバスの他のモジュールを識別し、可能であればそのドライバを自動的にロードします。
brcmsmac
実際のWiFiハードウェアモジュール用のドライバです。ハードウェアモジュールは実際にはPCI(e)バスには存在しないため、lspci
実際にPCI(e)バスに接続されている部品のドライバのみが表示されます。
たとえば、Broadcomバスの内容についての詳細を知らせる新しいコマンドが必要ですlsbcma
...私が知っている限り、そのようなコマンドは実際には存在しませんが、私の考えでは、Broadcomバスは一般的に非常に単純なので、ロードするモジュールbcma
出力を同じ目的で使用できます。dmesg
カーネルモジュールには、brcmutil
さまざまなBroadcom WiFiモジュール(brcmsmac
およびBroadcom WiFiモジュール)brcmhmac
間で共有できるいくつかのコードが含まれています。
答え2
私はあなたと同じ問題があります。私の場合、ワイヤレスコントローラはBroadcom Corporation BCM4313で、メーカーとモデルは14e4と4727です。
$ lspci -nn -s 03:00 |grep -i net 03:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)
1 - コントローラのモジュールエイリアスはbcmaです。
$ cat /lib/modules/$(uname -r)/modules.alias | grep -i 14e4 |grep -i 4727 alias pci:v000014E4d00004727sv*sd*bc*sc*i* bcma
bcmaが最初にロードされ、コントローラインタフェースを担当します。
2 - brmsmacはbcmaによって異なります
# modinfo brcmsmac |grep depends depends: bcma,mac80211,brcmutil,cfg80211,cordic
bcmaの後にロードされ、無線プロトコルを担当します。
3 - bcma-pci-bridge がドライバとして認識されません。
# modinfo bcma-pci-bridge modinfo: ERROR: Module bcma-pci-bridge not found.
だから私の考えでは、bcma-pci-bridgeはコントローラに2つのドライバが必要であることを覚えている「フリーネーム」です。
私は専門家ではなく、私の推測だけです。