Настройка и использование Wi-Fi карты Broadcom BCM4312 с b43 драйвером

Материал из Mageia Russian Community Wiki
Перейти к навигацииПерейти к поиску

Руководство по установке b43 драйвера и соответствующей прошивки для Wi-Fi карт Broadcom (BCM4312 и т.д.).

Info-wiki-template.png
Примечание

Это руководство так же может подойти и для других wi-fi карт от broadcom, совместимых с b43 драйвером. См. список поддерживаемых устройств драйвером b43

Так же обращаю ваше внимание на обозначения для консоли: $ - команда выполняется от простого пользователя, # - команда выполняется от root.


Вводная информация

Сразу отмечу, что после установки драйвера b43 придется отказаться от использования стандартного Mageia'евского NetApplet'а и подобрать ему альтернативу (причины смотри в тексте руководства, в п. 4), в данном руководстве этой альтернативой будет выступать Network Manager.

Для выполнения действий руководства потребуется подключение к интернету, например, проводное или 3g-модем. Если кроме wi-fi у вас больше никакого подключения нет - прочтите руководство, выкачайте все необходимые пакеты и их зависимости заранее и только потом приступайте.

Важно! Не забываем про обозначения для консоли: $ - команда выполняется от простого пользователя, # - команда выполняется от root.

Итак, начнем.

Подготовительные действия перед установкой b43 драйвера

Удаляем драйвера и модули, которые будут мешать нам использовать b43

# urpme dkms-broadcom-wl broadcom-wl-kernel-3.3.6-desktop586-2.mga2 broadcom-wl-kernel-desktop586-latest dkms-ndiswrapper ndiswrapper

Важно: Обращаю ваше внимание, что broadcom-wl-kernel установлен по версии ядра! У меня desktop586 для kernel-3.3.6, у вас может быть другой. Проверьте это в менеджере пакетов (Меню - Установка и удаление программ).

Устанавливаем необходимые утилиты для установки драйвера и прошивки

# urpmi b43-fwcutter b43-tools

Удаляем настройки wi-fi соединения

Mageia Control Center - Сеть и интернет - Удалить подключение

B43-mcc-rm-con.png

Выбираем там wi-fi подключение, чаще всего с данной wi-fi картой оно будет на интерфейсе eth1 (так уж проприетарный wl драйвер сделан... ). Выбираем очень внимательно, дабы не удалить случайно, например, свое проводное подключение к интернету.

Заносим в blacklist модули

# echo "blacklist wl" >> /etc/modprobe.d/blacklist
# echo "blacklist ndiswrapper" >> /etc/modprobe.d/blacklist
# echo "" >> /etc/modprobe.d/blacklist

Обращаю ваше внимание на последнюю команду, последняя строчка в /etc/modprobe.d/blacklist должна быть пустая, иначе предпоследняя может оказаться недействительна. А echo "" как раз и добавит пустую строку.

Перезагружаем компьютер

Если до этого все было сделано верно, то нет никакого wi-fi подключения в NetApplet'е, сетевом центре и т.д.

Важно: Если вдруг будете проверять отсутствие (откроете сетевой центр или поиск оборудования) и предложит скачать dkms-broadcom-wl и broadcom-wl-kernel - отказывайтесь и тем более закрывайте окно загрузки если начнет скачивать, вас не спросив.

Установка b43 драйвера

Скачиваем, распаковываем и устанавливаем b43 драйвер подходящий для ядер kernel 3.2+

В репозиториях Mageia доступен b43-fwcutter 0.15 версии, как раз распаковывающий необходимый нам драйвер. Для более старого ядра потребовалось бы еще собрать более старый b43-fwcutter.

$ cd ~
$ wget http://www.lwfinger.com/b43-firmware/broadcom-wl-5.100.138.tar.bz2
$ tar xjf broadcom-wl-5.100.138.tar.bz2
$ cd broadcom-wl-5.100.138/linux
$ su
<root-пароль>
# b43-fwcutter -w /lib/firmware wl_apsta.o
# modprobe b43

Создаем Wi-Fi подключение с нужным нам драйвером

Mageia Control Center - Оборудование - Поиск и настройка оборудования

B43-mcc-find.png

Возможно, появится диалоговое окно с предложением установить dkms-broadcom-wl и broadcom-wl-kernel - отказываемся.

B43-oborud.png

В левой колонке выбираем Карта ethernet, открываем выпадающий список, нажимаем на Wi-Fi карту и нажимаем на кнопку в правой нижней части окна - "Запустить утилиту настройки"

B43-oborud2.png

Выбираем соединение "Беспроводная связь (Wi-Fi)"

B43-nastr-set-i-ineta.png

Среди предлагаемых интерфейсов должен быть wlan0: wlan0 (наш b43 драйвер), его и выбираем.

B43-wlan0.png

Далее попросит выбрать вашу точку доступа, ввести пароль для нее и т.д.

Обязательно ставим отметку "Allow interface to be controlled by Network Manager"

На предпоследней странице нужно обязательно выбрать пункт "Allow interface to be controlled by Network Manager"

B43-allow-by-nm.png

После спросит устанавливать ли соединение сразу - отказываемся.

Перезагружаем компьютер

Если до этого все было сделано верно, то после перезагрузки wi-fi подключится к вашей точке доступа.

ВАЖНО: Если откроете сетевой центр или поиск оборудования, просмотр беспроводных сетей и т.д. - предложит скачать dkms-broadcom-wl и broadcom-wl-kernel, ни в коем случае не делать этого, отказывайтесь и тем более закрывайте окно загрузки если начнет скачивать, вас не спросив. Если эти пакеты скачаются и установятся, даже несмотря на записи в блеклисте они не дадут работать b43 драйверу!

Отказ от NetApplet, установка и настройка NetworkManager

Из-за того, что просмотр беспроводных сетей и любой другой информации через NetApplet будет влечь за собой попытки установки dkms-broadcom-wl и broadcom-wl-kernel (почему нельзя этого допускать расписано в пункте 8), придется заменить его на что-то другое. Я заменил на Network Manager.

Установка Network Manager

# urpmi networkmanager networkmanager-applet

Для пользователей KDE может так же потребоваться установка пакета knetworkmanager

# urpmi knetworkmanager

либо пакета plasma-applet-networkmanagement

# urpmi plasma-applet-networkmanagement

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

Избегаем возможных ошибок в использовании NetworkManager

Заранее лечим его от ошибок подключения: создаем файл

/etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla

# leafpad /etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla

С содержимым

[nm-applet]
Identity=unix-group:%user%
Action=org.freedesktop.NetworkManager.*
ResultAny=yes
ResultInactive=no
ResultActive=yes

Важно: Вместо %user% надо написать главную группу вашего пользователя, обычно совпадает с логином, т.е. у пользователя vasya обычно главная группа vasya. Посмотреть точно главную группу можно в Mageia Control Center - Система - Управление пользователями.

Вместо leafpad (тектовый редактор LXDE) может быть любой другой текстовый редактор - хоть консольный, хоть графический. Как вам самому удобней.

Убираем NetApplet из автозагрузки

В LXDE для этого можно просто убрать в галочку с NetApplet в Меню - Утилиты - lxsession-edit . Подозреваю, что и в других граф. окружениях можно как-то убрать с автозагрузки схожим методом. Так же можно попробовать так: Правой кнопкой мыши на иконку NetApplet'а в трее и убрать галочку с "Всегда запускать на старте"

B43-nm-applet-tray.png

Перезагружаем компьютер и делаем настройку Network Manager

Если все сделано верно, то в трее не будет NetApplet'а, зато будет Network Manager.

Сразу Network Manager не подхватил сеть, т.к. не знает пароля.

  • Нажимаем на иконку Network Manager'а левой кнопкой мыши и выбираем свою точку доступа.
  • После нажимаем на иконку Network Manager'а правой кнопкой мыши и выбираем "Изменить соединения", переходим на вкладку "Беспроводная сеть", нажимаем на свою точку доступа, нажимаем изменить.
  • На вкладке безопасность прописываем пароль от свой точки доступа, нажимаем "Сохранить".
  • После этого снова нажимаем на иконку Network Manager'а левой кнопкой мыши и выбираем свою точку доступа.

Если все сделано правильно Wi-Fi соединение будет установлено. И будет устанавливаться каждый раз автоматически (с этой точкой доступа) при запуске системы.