1

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

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

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

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

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

1) Удаляем драйвера и модули, которые будут мешать нам использовать 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, у вас может быть другой.

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

Консоль
# urpmi b43-fwcutter b43-tools

3) Удаляем настройки wi-fi соединения
Mageia Control Center - Сеть и интернет - Удалить подключение
http://storage2.static.itmages.ru/i/12/0703/s_1341332329_1949345_b17f569cfa.png
Выбираем там wi-fi подключение, чаще всего с данной wi-fi картой оно будет на интерфейсе eth1 (так уж проприетарный wl драйвер сделан... ).
Выбираем очень внимательно, дабы не удалить случайно, например, свое проводное подключение к интернету.

4) На всякий случай заносим в 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 "" как раз и добавит пустую строку.

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

6) Скачиваем, распаковываем и устанавливаем 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

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

Spoiler

Mageia Control Center - Оборудование - Поиск и настройка оборудования
http://storage8.static.itmages.ru/i/12/0703/s_1341334557_7191658_c6533a3575.png

Возможно, появится диалоговое окно с предложением установить dkms-broadcom-wl и broadcom-wl-kernel - отказываемся.
http://storage5.static.itmages.ru/i/12/0703/s_1341334753_1189614_1e05ee7a6b.png

В левой колонке выбираем Карта ethernet, открываем выпадающий список, нажимаем на Wi-Fi карту и нажимаем на кнопку в правой нижней части окна - "Запустить утилиту настройки"
http://storage1.static.itmages.ru/i/12/0703/s_1341334935_8482555_f42b742648.png

Выбираем соединение "Беспроводная связь (Wi-Fi)"
http://storage3.static.itmages.ru/i/12/0703/s_1341335044_4153687_71ae9086e7.png

Среди предлагаемых интерфейсов должен быть wlan0: wlan0 (наш b43 драйвер), его и выбираем.
http://storage6.static.itmages.ru/i/12/0703/s_1341335116_5221570_3be5529021.png

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

На предпоследней странице нужно обязательно выбрать пункт "Allow interface to be controlled by Network Manager"
http://storage1.static.itmages.ru/i/12/0703/s_1341335961_9780178_2701ecdf1e.png

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

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

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

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

Spoiler

Устанавливаем Network Manager

Консоль
# urpmi networkmanager networkmanager-applet

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

Заранее лечим его от ошибок подключения: создаем файл
/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'а в трее и убрать галочку с "Всегда запускать на старте"
http://storage6.static.itmages.ru/i/12/0703/s_1341336672_7444730_c59a3e992c.png

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

  • Нажимаем на иконку Network Manager'а левой кнопкой мыши и выбираем свою точку доступа.

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

  • На вкладке безопасность прописываем пароль от свой точки доступа, нажимаем "Сохранить".

  • После этого снова нажимаем на иконку Network Manager'а левой кнопкой мыши и выбираем свою точку доступа.

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

Fedora & GNOME
Спасибо сказали: Zomby, Vagulo2

2

А стоит ли его ставить если и так Wi-fi поймал на дефолтных? Или качество лучше?

3

Hardalarul⇓ пишет:

А стоит ли его ставить если и так Wi-fi поймал на дефолтных?

Нет. Если на дефолтном все работает, то лучше использовать дефолтный.

Fedora & GNOME
Спасибо сказали: Hardalarul1

4

Если всё работает, то суетиться не надо.

Аккаунт отключен по просьбе пользователя. (28.12.2014)
Спасибо сказали: Hardalarul1