基於 BCM4312 的 WLAN 卡在運行 Ubuntu 14.04 的 Dell Vostro 1510 中出現故障

基於 BCM4312 的 WLAN 卡在運行 Ubuntu 14.04 的 Dell Vostro 1510 中出現故障

使用 STA 專有驅動程式在 Ubuntu 13.08 下一切正常。在 Ubuntu 警告訊息的堅持下,我決定升級到 Ubuntu 14.04,結果發現無線電路不再回應。我已經嘗試了所有 4 個被認為與 BCM4312 晶片組相容的核心模組,但它們都不起作用。

不得已,我決定下載Broadcom提供的最新64位元架構原始碼(對應BCM 4312晶片組)。我必須更改檔案系統中的一些細節才能使編譯工作。編譯沒有顯示任何嚴重警告,但是當嘗試使用命令“insmod”將生成的編譯驅動程式插入內核時,由於“格式”錯誤而出現致命錯誤。我嘗試使用“modprobe”,沒有發出錯誤訊息,但它顯然失敗了,因為網路功能仍然不可用,而且 lscpi 命令的輸出顯示沒有附加到 Broadcom 無線網路控制器的核心驅動程式。

LSCPI 指令輸出(不相關文字被截斷):

... 06:00.0 網路控制器[0280]:Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315](修訂版01)子系統:Dell 無線1395 WLAN 迷你卡[1028:000b] 標誌:匯流排主控、快速devsel,延遲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 ] 標誌:匯流排主控、快速devsel,延遲0,IRQ 44 I/O 連接埠為5000 [大小=256] 記憶體為f8610000(64 位,可預取)[大小=4K] 記憶體為f8600000(64 位,可預取)[大小=4K] 記憶體為f8600000(64 位,可預取)[大小=4K] 記憶體為f8600000(64 位,可預取預取)[大小=64K] [虛擬] f8620000 的擴充ROM [已停用] [大小=64K] 功能:[40] 電源管理版本3 功能:[50] MSI:啟用+計數=1/2 可屏蔽- 64 位元+ 功能:[70] Express Endpoint,MSI 01 功能: [b0] MSI-X:啟用計數=2 屏蔽功能:[d0] 重要產品資料功能:[100] 進階錯誤回報功能:[140] 虛擬通道功能:[160] 裝置序號00-00-00 -00-00-00-00-00 使用中的核心驅動程式:r8169 ....”

我使用命令“insmod wl.ko”得到的實際錯誤訊息是 “模組格式無效”

wl.ko是Broadcom提供的驅動程式原始碼編譯所得到的檔案。


我使用命令卸載了核心驅動程式(即使我懷疑系統已安裝/使用它)

 apt-get purge bcmwl-kernel-source

(然後終端機顯示訊息說firmware-bc43-installer已恢復或下載安裝)

然後我透過輸入命令安裝了 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 中的任何文件中使用“blacklist b43”行抑制 b43 驅動程序,則無線應該在下次啟動時拾取驅動程序/modprobe.d。檢查是否有任何此類行並將其註解掉。如果您清除 STA 包文件,它們應該被刪除,但請自行檢查以確保確定。

我最近沒有使用 STA 驅動程式的經驗,但只需使用其他 DRivers Dash 選擇就應該添加它(顯然當您使用有線連接時)。在這種情況下,不需要任何韌體文件,因為它們包含在 STA 驅動程式本身中(b43 切割機從中獲取它們)。

相關內容