LinuxForum.Fans
Тема

HOW-TO: Wi-Fi карта Broadcom BCM4312 и b43 драйвер в Mageia 2

Автор: xxblx 1 сообщений 6007 просмотров
#262768

Руководство по установке b43 драйвера и соответствующей прошивки для Wi-Fi карты Broadcom BCM4312.
Это руководство так же может подойти и для других wi-fi карт от broadcom, совместимых с b43 драйвером.
Список поддерживаемых устройств драйвером b43

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

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

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

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

1) Удаляем драйвера и модули, которые будут мешать нам использовать b43.
[console]# urpme dkms-broadcom-wl broadcom-wl-kernel-3.3.6-desktop586-2.mga2 broadcom-wl-kernel-desktop586-latest dkms-ndiswrapper ndiswrapper[/console]
Важно: Обращаю ваше внимание, что broadcom-wl-kernel установлен по версии ядра! У меня desktop586 для kernel-3.3.6, у вас может быть другой.

2) Устанавливаем необходимые утилиты для установки драйвера и прошивки
[console]# urpmi b43-fwcutter b43-tools[/console]

3) Удаляем настройки wi-fi соединения
Mageia Control Center - Сеть и интернет - Удалить подключение

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

4) На всякий случай заносим в blacklist модули
[console]# echo "blacklist wl" >> /etc/modprobe.d/blacklist
# echo "blacklist ndiswrapper" >> /etc/modprobe.d/blacklist
# echo "" >> /etc/modprobe.d/blacklist[/console]
Обращаю ваше внимание на последнюю команду, последняя строчка в /etc/modprobe.d/blacklist должна быть пустая, иначе предпоследняя может оказаться недействительна. А echo "" как раз и добавит пустую строку.

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

6) Скачиваем, распаковываем и устанавливаем b43 драйвер подходящий для ядер kernel 3.2+
В репозиториях Mageia доступен b43-fwcutter 0.15 версии, как раз распаковывающий необходимый нам драйвер. Для более старого ядра потребовалось бы еще собрать более старый b43-fwcutter.
[console]$ 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[/console]

7) Создаем Wi-Fi подключение с нужным нам драйвером
Пункт достаточно объемный, по этому его содержимое спрятано под спойлер.

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


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


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


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


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


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

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


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

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

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

Пункт достаточно объемный, по этому его содержимое спрятано под спойлер.

Показать
Устанавливаем Network Manager
[console]# urpmi networkmanager networkmanager-applet[/console]
После установки он должен автоматически прописаться в автозагрузку (по крайней мере в LXDE так).

Заранее лечим его от ошибок подключения: создаем файл
/etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla
[console]# leafpad /etc/polkit-1/localauthority/50-local.d/org.freedesktop.NetworkManager.pkla[/console]
С содержимым
text
[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'а в трее и убрать галочку с "Всегда запускать на старте"

10) Перезагружаем компьютер и делаем настройку Network Manager.
Если все сделано верно, то в трее не будет NetApplet'а, зато будет Network Manager.
Сразу Network Manager не подхватил сеть, т.к. не знает пароля.

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

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

Войдите или зарегистрируйтесь, чтобы ответить.