Как установить этот исправленный драйвер b43?

7

Недавно я приобрел Macbook Pro, у которого есть WiFi-карта BCM4331 802.11a / b / g / n, которая не работает с ядром по умолчанию.

  • sudo dmidecode -s system-product-name

    MacBookPro8,2

    lspci |grep 4331

      

    03: 00.0 Сетевой контроллер: Broadcom Corporation BCM4331   802.11a / b / g / n (rev 02)

    lspci -n |grep 4331

      

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

После некоторых начальных исследований я наткнулся на эту статью , который дал пошаговые инструкции по исправлению последней совместимой беспроводной сети, которая должна поддерживать устройство 4331:

Однако после выполнения этих инструкций возникают следующие ошибки dmesg, когда я пытаюсь выполнить modprobe исправленный модуль в последнее ядро ​​Ubuntu 11.10 (3.0.0-12-generic)

[ 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)

Может ли кто-нибудь указать мне в правильном направлении, чтобы помочь правильно загрузить этот модуль?

    
задан Russell 29.09.2011 в 23:07
источник

3 ответа

3

Сначала убедитесь, что у вас нет каких-либо драйверов b43, установленных на вашем компьютере ... используйте программный центр и выполните поиск b43, если они удалены.

все файлы могут быть сохранены в -home-youruser-downloads ....

Извлеките с помощью nautilus файлы этого дерева ....

Затем включите драйвер b43.

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

Убедитесь, что PHY_HT включен. В файле config.mk должна присутствовать и раскомментировать следующую строку:

sudo nano config.mk

...

CONFIG_B43_PHY_HT = у

...

Скомпилируйте и установите драйвер:

$ make
$ sudo make install
$ cd ..

скомпилировать b43-fwcutter:

$ cd b43-fwcutter-015
$ make

прошивка:

$ 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 ..

Выгрузите все модули, связанные с беспроводной связью, и убедитесь, что ndiswrapper не загружен:

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

добавить в строку в конце файла:

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

...

черный список ndiswrapper

...

Чтобы быть уверенным, что ни один из старых модулей не загружен, вероятно, лучше перезагрузить систему. Теперь вы можете загрузить и использовать только что скомпилированный модуль b43:

$ sudo modprobe b43

Возможно, вы захотите добавить b43 в список модулей, загружаемых при запуске (на данный момент модуль не загружается автоматически). Для Ubuntu добавьте эту строку в конец файла:

sudo nano /etc/modules

...

b43

...

Драйвер не играет хорошо с suspend и hibernate. Необходимо выгрузить модуль перед тем, как положить ноутбук в режим сна и перезагрузить его после пробуждения. Для Ubuntu достаточно создать файл (или добавить к файлу)

sudo /etc/pm/config.d/default

...

SUSPEND_MODULES="b43"

...

ПРИМЕЧАНИЕ: после каждого обновления ядра вам придется перекомпилировать модуль для нового ядра:

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

P.S: Как оригинальный пост, я только адаптирую расширение файла конфигурации, потому что там не хватает, исправляет другие вещи и ошибки ....

    

ответ дан hhlp 05.11.2011 в 17:03
2

Убедитесь, что также черный список ssb и bcma. Bcma вызывает проблему с ядром 3.0.0. Возможно, вам просто нужно занести в черный список модули «b43, ssb, bcma», а затем сделать depmod -a и modprobe wl, затем еще один depmod -a или переустановить пакет и перезагрузиться. Надеюсь, это поможет.     

ответ дан Rocksinboxes 05.11.2011 в 17:47
0

Я не знаю, почему точная копия статьи получает 2 голоса. Это бесполезно. Я, наконец, заработал только при разгрузке ssb и bcma, например Rock.

    
ответ дан Kai 31.12.2011 в 21:40