BCM4312 ベースの WLAN カードが Ubuntu 14.04 搭載の Dell Vostro 1510 で故障する

BCM4312 ベースの WLAN カードが Ubuntu 14.04 搭載の Dell Vostro 1510 で故障する

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 カッターはそこからファームウェア ファイルを取得します)、ファームウェア ファイルは必要ありません。

関連情報