Wie installiere ich diesen gepatchten b43-Treiber?

7

Kürzlich habe ich ein Macbook Pro mit einer BCM4331 802.11a / b / g / n-WLAN-Karte gekauft, die nicht mit dem Standardkernel funktioniert.

  • sudo dmidecode -s system-product-name

    MacBookPro8,2

    lspci |grep 4331

    03: 00.0 Netzwerkcontroller: Broadcom Corporation BCM4331 802.11a / b / g / n (Rev. 02)

    lspci -n |grep 4331

    03: 00.0 0280: 14e4: 4331 (rev 02)

Nach ersten Recherchen stieß ich auf diesen Artikel , der Schritt für Schritt Anweisungen zum Patchen des neuesten kompatiblen WLANs gab, das das 4331-Gerät unterstützen sollte:

Das Befolgen dieser Anweisungen führt jedoch zu den folgenden dmesg-Fehlern, wenn ich versuche, das gepatchte Modul in den neuesten Ubuntu 11.10-Kernel (3.0.0-12-generic) zu modproben.

[ 5373.408581] b43: Unknown symbol bcma_core_disable (err                                                              
[ 5373.408685] b43: Unknown symbol bcma_core_pll_ctl (err 0)
[ 5373.408695] b43: disagrees about version of symbol bcma_driver_unregister
[ 5373.408698] b43: Unknown symbol bcma_driver_unregister (err -22)
[ 5373.408712] b43: disagrees about version of symbol bcma_core_enable
[ 5373.408715] b43: Unknown symbol bcma_core_enable (err -22)
[ 5373.408727] b43: disagrees about version of symbol bcma_core_is_enabled
[ 5373.408730] b43: Unknown symbol bcma_core_is_enabled (err -22)
[ 5373.408745] b43: disagrees about version of symbol bcma_chipco_gpio_control
[ 5373.408747] b43: Unknown symbol bcma_chipco_gpio_control (err -22)
[ 5373.408782] b43: disagrees about version of symbol__bcma_driver_register
[ 5373.408784] b43: Unknown symbol __bcma_driver_register (err -22)
[ 5373.408796] b43: Unknown symbol bcma_core_set_clockmode (err 0)
[ 5373.408822] b43: Unknown symbol bcma_core_dma_translation (err 0)
[ 5373.408878] b43: Unknown symbol bcma_core_pci_irq_ctl (err 0)

Kann mich jemand in die richtige Richtung weisen, damit dieses Modul richtig geladen wird?

Russell
quelle

Antworten:

3

Stellen Sie zunächst sicher, dass auf Ihrem Computer keine b43-Treiber installiert sind. Verwenden Sie das Software Center und suchen Sie nach b43, wenn es deinstalliert wird

Alle Dateien können in -home-youruser-Downloads gespeichert werden ....

Mit nautilus diese Baumdateien extrahieren ....

Aktivieren Sie als Nächstes den b43-Treiber.

$ cd compat-wireless-2011-11-04
$ scripts/driver-select b43

Stellen Sie sicher, dass PHY_HT aktiviert ist. In der Datei config.mk sollte die folgende Zeile vorhanden und nicht kommentiert sein:

sudo nano config.mk

...

CONFIG_B43_PHY_HT = y

...

Kompilieren und installieren Sie den Treiber:

$ make
$ sudo make install
$ cd ..

kompiliere b43-fwcutter:

$ cd b43-fwcutter-015
$ make

die Firmware:

$ export FIRMWARE_INSTALL_DIR="/lib/firmware"
$ sudo ./b43-fwcutter -w "$FIRMWARE_INSTALL_DIR"  /home/YOURUSER/Downloads/broadcom-wl-5.100.138/linux/wl_apsta.o
$ cd ..

Entladen Sie alle Module im Zusammenhang mit Wireless und stellen Sie sicher, dass ndiswrapper nicht geladen ist:

$ cd compat-wireless-2011-11-04
$ sudo make wlunload
$ sudo rmmod ndiswrapper

Zur Zeile am Ende der Datei hinzufügen:

sudo nano /etc/modprobe.d/blacklist.conf

...

schwarze Liste ndiswrapper

...

Um sicherzustellen, dass keines der alten Module noch geladen ist, ist es wahrscheinlich am besten, das System neu zu starten. Jetzt sollten Sie das frisch kompilierte b43-Modul laden und verwenden können:

$ sudo modprobe b43

Möglicherweise möchten Sie b43 zur Liste der Module hinzufügen, die beim Start geladen werden (im Moment wird das Modul nicht automatisch geladen). Fügen Sie für Ubuntu diese Zeile am Ende der Datei hinzu:

sudo nano /etc/modules

...

b43

...

Der Fahrer spielt nicht gut mit Suspend und Hibernate. Das Modul muss vor dem Einschalten des Laptops entladen und nach dem Aufwecken neu geladen werden. Für Ubuntu ist es ausreichend, die Datei zu erstellen (oder an die Datei anzuhängen).

sudo /etc/pm/config.d/default

...

SUSPEND_MODULES = "b43"

...

HINWEIS: Nach jedem Kernel-Update müssen Sie das Modul für den neuen Kernel neu kompilieren:

$ cd compat-wireless-2011-11-04
$ make clean
$ make
$ sudo make install

PS: Ist wie der ursprüngliche Beitrag, ich passe nur die Erweiterung der Konfigurationsdatei an, weil sie fehlt, behebe andere Dinge und Fehler ....

Geben Sie hier die Bildbeschreibung ein

hhlp
quelle
2

Stellen Sie sicher, dass Sie auch ssb und bcma auf die schwarze Liste setzen. Bcma verursacht Probleme mit dem 3.0.0-Kernel. Möglicherweise müssen Sie nur die Module 'b43, ssb, bcma' auf die schwarze Liste setzen und dann ein depmod -a und modprobe wl und dann ein anderes depmod -a ausführen oder das Paket neu installieren und neu starten. Ich hoffe das hilft.

Rocksinboxen
quelle
0

Ich weiß nicht, warum die exakte Nachbildung des Artikels 2 Stimmen erhält. Es ist sinnlos. Ich bekomme es endlich zum Laufen, indem ich ssb und bcma entlade, wie Rock es vorgeschlagen hat.

Kai
quelle