BCM4312-basierte WLAN-Karte funktioniert nicht in einem Dell Vostro 1510 mit Ubuntu 14.04

BCM4312-basierte WLAN-Karte funktioniert nicht in einem Dell Vostro 1510 mit Ubuntu 14.04

Unter Ubuntu 13.08 mit dem proprietären STA-Treiber funktionierte alles einwandfrei. Aufgrund der Ubuntu-Warnmeldungen entschied ich mich für ein Upgrade auf Ubuntu 14.04, nur um festzustellen, dass die drahtlose Schaltung nicht mehr reagierte. Ich habe alle 4 Kernelmodule ausprobiert, die als mit dem BCM4312-Chipsatz kompatibel gelten, aber keines davon funktionierte.

Als letzten Ausweg habe ich beschlossen, den neuesten Quellcode von Broadcom (entspricht dem BCM 4312-Chipsatz) für die 64-Bit-Architektur herunterzuladen. Ich musste einige Details im Dateisystem ändern, damit die Kompilierung funktionierte. Die Kompilierung zeigte keine ernsthafte Warnung, aber beim Versuch, den resultierenden kompilierten Treiber mit dem Befehl „insmod“ in den Kernel einzufügen, trat aufgrund eines „Format“-Fehlers ein schwerwiegender Fehler auf. Ich habe versucht, „modprobe“ zu verwenden, es wurden keine Fehlermeldungen ausgegeben, aber es schlug anscheinend fehl, da die Netzwerkfunktion immer noch nicht verfügbar ist und die Ausgabe des Befehls lscpi zeigte, dass kein Kerneltreiber an den drahtlosen Netzwerkcontroller von Broadcom angeschlossen war.

LSCPI-Befehlsausgabe (irrelevanter Text abgeschnitten):

... 06:00.0 Netzwerkcontroller [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01) Subsystem: Dell Wireless 1395 WLAN Mini-Card [1028:000b] Flags: Busmaster, Fast Devsel, Latenz 0, IRQ 11 Speicher bei f4000000 (64-Bit, nicht vorabrufbar) [Größe=16K] Fähigkeiten: [40] Energieverwaltung Version 3 Fähigkeiten: [58] Herstellerspezifische Informationen: Len=78 Fähigkeiten: [e8] MSI: Aktivieren - Anzahl=1/1 maskierbar - 64bit+ Fähigkeiten: [d0] Express Endpoint, MSI 00 Fähigkeiten: [100] Erweiterte Fehlerberichterstattung Fähigkeiten: [13c] Virtueller Kanal Fähigkeiten: [160] Seriennummer des Geräts 1b-bf-44-ff-ff-db-00-16 Fähigkeiten: [16c] Energiebudgetierung

07:00.0 Ethernet-Controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 02) Subsystem: Dell Device [1028:0273] Flags: Busmaster, Fast Devsel, Latenz 0, IRQ 44 I/O-Ports bei 5000 [Größe=256] Speicher bei f8610000 (64-Bit, vorabrufbar) [Größe=4K] Speicher bei f8600000 (64-Bit, vorabrufbar) [Größe=64K] [virtuell] Erweiterungs-ROM bei f8620000 [deaktiviert] [Größe=64K] Funktionen: [40] Energieverwaltung Version 3 Funktionen: [50] MSI: Aktivieren+ Anzahl=1/2 Maskierbar- 64bit+ MSI 01-Funktionen: [b0] MSI-X: Aktivieren – Anzahl = 2 Maskierte – Funktionen: [d0] Funktionen für wichtige Produktdaten: [100] Funktionen für erweiterte Fehlerberichterstattung: [140] Funktionen für virtuelle Kanäle: [160] Geräteseriennummer 00-00-00-00-00-00-00-00 Verwendeter Kerneltreiber: r8169 .... "

Die eigentliche Fehlermeldung, die ich mit dem Befehl "insmod wl.ko" bekam, ist "ungültiges Modulformat"

Bei wl.ko handelt es sich um die Datei, die durch Kompilierung des von Broadcom bereitgestellten Treiberquellcodes gewonnen wurde.


Ich habe den Kerneltreiber deinstalliert (auch wenn ich bezweifle, dass er vom System installiert/verwendet wurde) mit dem Befehl

 apt-get purge bcmwl-kernel-source

(auf dem Terminal wurden dann Meldungen angezeigt, dass das Firmware-BC43-Installationsprogramm wiederhergestellt oder zur Installation heruntergeladen wurde)

Anschließend installierte ich den STA-Treiber mit dem Befehl

apt-get install linux-firmware-nonfree

Ich habe die Datei /etc/modprobe.d/blacklist.conf überprüft und die Zeile auskommentiertschwarze Liste bcm43xx, das einzige, das mit dem drahtlosen Gerät/Treiber zusammenhängt.

Dann neugestartet.

Jetzt habe ich immer noch keine Verbesserung:

# 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

Antwort1

Ihr 4312 Broadcom [4315] kann entweder den b43-Treiber oder den proprietären STA (wl)-Treiber verwenden, je nachb43-Linux Wireless. Der b43-Treiber ist standardmäßig vorhanden, Sie müssen jedoch die proprietäre Firmware installieren, was Sie tun können, indem Sie das Paket linux-firmware-nonfree installieren. Wenn diese Firmware aus irgendeinem Grund nicht mit [4315] funktioniert, können Sie die von Ihnen erwähnten b43-Cutter- und -Installer-Pakete ausführen. Das Endergebnis sollte ein Satz Firmware-Dateien im Verzeichnis /lib/firmware/b43 sein. Wireless sollte den Treiber beim nächsten Start erkennen, vorausgesetzt, Sie unterdrücken den b43-Treiber nicht mit einer Zeile „blacklist b43“ in einer beliebigen Datei in /etc/modprobe.d. Suchen Sie nach solchen Zeilen und kommentieren Sie sie aus. Sie sollten entfernt werden, wenn Sie die STA-Paketdateien löschen, aber überprüfen Sie es zur Sicherheit selbst.

Ich habe keine aktuelle Erfahrung mit dem STA-Treiber, aber die Verwendung der Dash-Auswahl „Zusätzliche Treiber“ sollte ihn hinzufügen (natürlich nur, wenn Sie eine Kabelverbindung haben). In diesem Fall sind keine Firmware-Dateien erforderlich, da diese im STA-Treiber selbst enthalten sind (von dort bezieht der b43-Cutter sie).

verwandte Informationen