
STA 専用ドライバーを使用した Ubuntu 13.08 では、すべて正常に動作していました。Ubuntu の警告メッセージが頻繁に表示されるため、Ubuntu 14.04 にアップグレードすることにしました。しかし、ワイヤレス回路が応答しなくなりました。BCM4312 チップセットと互換性があると思われる 4 つのカーネル モジュールをすべて試しましたが、どれも動作しませんでした。
最後の手段として、Broadcom が提供している最新のソース コード (BCM 4312 チップセットに対応) を 64 ビット アーキテクチャ用にダウンロードすることにしました。コンパイルを機能させるには、ファイル システムの詳細をいくつか変更する必要がありました。コンパイルでは重大な警告は表示されませんでしたが、コンパイルされた結果のドライバーをコマンド「insmod」でカーネルに挿入しようとすると、「フォーマット」エラーが原因で致命的なエラーが発生しました。「modprobe」を使用しようとしましたが、エラー メッセージは表示されませんでしたが、ネットワーク機能がまだ使用できず、lscpi コマンドの出力に Broadcom ワイヤレス ネットワーク コントローラーにカーネル ドライバーが接続されていないことが示されたため、失敗したようです。
LSCPI コマンド出力 (無関係なテキストは切り捨て):
... 06:00.0 ネットワーク コントローラ [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01) サブシステム: Dell Wireless 1395 WLAN Mini-Card [1028:000b] フラグ: バス マスター、高速デバイス、レイテンシ 0、IRQ 11 メモリ (f4000000) (64 ビット、プリフェッチ不可) [サイズ = 16K] 機能: [40] 電源管理バージョン 3 機能: [58] ベンダー固有情報: Len = 78 機能: [e8] MSI: 有効 - カウント = 1/1 マスク可能 - 64 ビット以上 機能: [d0] Express Endpoint、MSI 00 機能: [100] 高度なエラー報告 機能: [13c] 仮想チャネル 機能: [160] デバイスのシリアル番号1b-bf-44-ff-ff-db-00-16 機能: [16c] 電力予算
07:00.0 イーサネット コントローラー [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express ギガビット イーサネット コントローラー [10ec:8168] (rev 02) サブシステム: Dell デバイス [1028:0273] フラグ: バス マスター、高速デバイス、レイテンシ 0、IRQ 44 I/O ポート 5000 [サイズ = 256] メモリ f8610000 (64 ビット、プリフェッチ可能) [サイズ = 4K] メモリ f8600000 (64 ビット、プリフェッチ可能) [サイズ = 64K] [仮想] 拡張 ROM f8620000 [無効] [サイズ = 64K] 機能: [40] 電源管理バージョン 3 機能: [50] MSI: 有効 + カウント = 1/2 マスク可能 - 64 ビット +機能: [70] Express Endpoint、MSI 01 機能: [b0] MSI-X: Enable- Count=2 Masked- 機能: [d0] Vital Product Data 機能: [100] Advanced Error Reporting 機能: [140] 仮想チャネル 機能: [160] デバイス シリアル番号 00-00-00-00-00-00-00-00 使用中のカーネル ドライバー: r8169 .... "
「insmod wl.ko」コマンドで実際に表示されたエラーメッセージは次のとおりです。 「モジュール形式が無効です」
wl.ko は、Broadcom から提供されたドライバ ソース コードのコンパイルから取得されたファイルです。
カーネルドライバをアンインストールしました(システムによってインストール/使用されているかどうかは疑わしいですが)
apt-get purge bcmwl-kernel-source
(その後、端末には、ファームウェア bc43 インストーラが復元されたか、インストールのためにダウンロードされたというメッセージが表示されました)
次に、次のコマンドを入力してSTAドライバをインストールしました。
apt-get install linux-firmware-nonfree
/etc/modprobe.d/blacklist.confファイルを確認し、次の行のコメントを解除しました。ブラックリスト bcm43xx、ワイヤレス デバイス/ドライバーにのみ関連します。
その後再起動しました。
今のところまだ改善は見られません。
# lspci -v |grep -13 Network
I/O ports at 18e0 [size=32]
Memory at f8500000 (32-bit, non-prefetchable) [size=2K]
Capabilities: [80] MSI: Enable+ Count=1/4 Maskable- 64bit-
Capabilities: [70] Power Management version 3
Capabilities: [a8] SATA HBA v1.0
Kernel driver in use: ahci
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
Subsystem: Dell Device 0273
Flags: medium devsel, IRQ 10
Memory at c0500000 (32-bit, non-prefetchable) [size=256]
I/O ports at 1c20 [size=32]
06:00.0 Network controller: Broadcom Corporation BCM4312 802.11b/g LP-PHY (rev 01)
Subsystem: Dell Wireless 1395 WLAN Mini-Card
Flags: bus master, fast devsel, latency 0, IRQ 11
Memory at f4000000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [58] Vendor Specific Information: Len=78 <?>
Capabilities: [e8] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [d0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Virtual Channel
Capabilities: [160] Device Serial Number 1b-bf-44-ff-ff-db-00-16
Capabilities: [16c] Power Budgeting <?>
07:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 02)
#lshw
...
*-pci:2
description: PCI bridge
product: 82801H (ICH8 Family) PCI Express Port 4
vendor: Intel Corporation
physical id: 1c.3
bus info: pci@0000:00:1c.3
version: 03
width: 32 bits
clock: 33MHz
capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:42 ioport:4000(size=4096) memory:f4000000-f7ffffff ioport:fc000000(size=33554432)
*-network UNCLAIMED
description: Network controller
product: BCM4312 802.11b/g LP-PHY
vendor: Broadcom Corporation
physical id: 0
bus info: pci@0000:06:00.0
version: 01
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: latency=0
resources: memory:f4000000-f4003fff
...
# lsmod
Module Size Used by
zram 18439 2
dm_crypt 22924 1
coretemp 13355 0
dell_wmi 12681 0
sparse_keymap 13890 1 dell_wmi
dell_laptop 17369 0
dcdbas 14397 1 dell_laptop
uvcvideo 80847 0
videobuf2_vmalloc 13056 1 uvcvideo
videobuf2_memops 13202 1 videobuf2_vmalloc
videobuf2_core 40542 1 uvcvideo
videodev 129379 2 uvcvideo,videobuf2_core
microcode 22939 0
joydev 17377 0
serio_raw 13215 0
lpc_ich 17061 0
parport_pc 28152 0
ppdev 17073 0
lp 17759 0
parport 46345 3 lp,ppdev,parport_pc
mac_hid 13205 0
psmouse 95934 0
ahci 25731 2
libahci 31394 1 ahci
sdhci_pci 18619 0
firewire_ohci 40315 0
sdhci 32686 1 sdhci_pci
r8169 67706 0
firewire_core 64566 1 firewire_ohci
i915 605700 3
crc_itu_t 12707 1 firewire_core
i2c_algo_bit 13413 1 i915
drm_kms_helper 49394 1 i915
drm 286260 4 i915,drm_kms_helper
wmi 19070 1 dell_wmi
video 19390 1 i915
答え1
4312 Broadcom [4315]では、b43ドライバまたは独自のSTA(wl)ドライバのいずれかを使用できます。b43-Linux ワイヤレスb43 ドライバはデフォルトで存在しますが、プロプライエタリ ファームウェアをインストールする必要があります。これは、パッケージ linux-firmware-nonfree をインストールすることで実行できます。何らかの理由でそのファームウェアが [4315] で動作しない場合は、前述の b43 カッターおよびインストーラ パッケージを実行できます。最終結果は、/lib/firmware/b43 ディレクトリにファームウェア ファイルのセットが作成されます。/etc/modprobe.d 内のいずれかのファイルで「blacklist b43」行を使用して b43 ドライバを抑制していない限り、ワイヤレスは次回の起動時にドライバを取得します。そのような行がないか確認し、コメント アウトします。STA パッケージ ファイルを消去すると、それらは削除されるはずですが、念のため自分で確認してください。
最近 STA ドライバーを使用した経験はありませんが、追加のドライバー ダッシュ選択を使用するだけで、ドライバーが追加されるはずです (もちろん有線接続の場合)。その場合、ファームウェア ファイルは STA ドライバー自体に含まれているため (b43 カッターはそこからファームウェア ファイルを取得します)、ファームウェア ファイルは必要ありません。