Недавно я приобрел 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)
blockquote>
lspci -n |grep 4331
03: 00.0 0280: 14e4: 4331 (версия 02)
blockquote>
После некоторых начальных исследований я наткнулся на эту статью , в которой даны пошаговые инструкции по исправлению последней версии compat-wireless, которая должна поддерживать устройство 4331: [ 1113]
Однако, следование этим инструкциям приводит к следующим ошибкам 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)
Может кто-нибудь направить меня в правильном направлении, чтобы помочь правильно загрузить этот модуль?
Сначала убедитесь, что на вашем компьютере не установлены драйверы 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 = y
...
Скомпилируйте и установите драйвер:
$ 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
...
Драйвер не очень хорошо работает с режимами ожидания и гибернации. Перед тем, как перевести ноутбук в режим сна, необходимо выгрузить модуль и перезагрузить его после пробуждения. Для 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.