Как мне установить этот пропатченный драйвер 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, если таковые имеются, удалите его.
- compat-wireless: перейдите на Linux Wireless и загрузите compat-wireless-2.6.tar.bz2
- последняя версия bw43-fwcutter (версия 015)
- Фирменный драйвер Broadcom для извлечения прошивки
все файлы могут быть сохранены в -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.