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

Недавно я купил 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 (версия 02)

    lspci -n |grep 4331

    03: 00,0 0280: 14e4:4331 (рев. 02)

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

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

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

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

3 ответа

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

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

Извлеките наутилус из этого дерева файлов....

Далее включите драйвер 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

...

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

...

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

$ sudo modprobe b43

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

sudo nano /etc/modules

...

b43

...

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

sudo /etc/pm/config.d/default

...

SUSPEND_MODULES = "b43"

...

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

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

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

введите описание здесь

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

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

Другие вопросы по тегам