Настройка и использование Wi-Fi карты Broadcom BCM4312 с b43 драйвером
Руководство по установке b43 драйвера и соответствующей прошивки для Wi-Fi карт Broadcom (BCM4312 и т.д.).
Это руководство так же может подойти и для других 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 - Сеть и интернет - Удалить подключение
Выбираем там 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 - Оборудование - Поиск и настройка оборудования
Возможно, появится диалоговое окно с предложением установить dkms-broadcom-wl и broadcom-wl-kernel - отказываемся.
В левой колонке выбираем Карта ethernet, открываем выпадающий список, нажимаем на Wi-Fi карту и нажимаем на кнопку в правой нижней части окна - "Запустить утилиту настройки"
Выбираем соединение "Беспроводная связь (Wi-Fi)"
Среди предлагаемых интерфейсов должен быть wlan0: wlan0 (наш b43 драйвер), его и выбираем.
Далее попросит выбрать вашу точку доступа, ввести пароль для нее и т.д.
Обязательно ставим отметку "Allow interface to be controlled by Network Manager"
На предпоследней странице нужно обязательно выбрать пункт "Allow interface to be controlled by Network Manager"
После спросит устанавливать ли соединение сразу - отказываемся.
Перезагружаем компьютер
Если до этого все было сделано верно, то после перезагрузки 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'а в трее и убрать галочку с "Всегда запускать на старте"
Перезагружаем компьютер и делаем настройку Network Manager
Если все сделано верно, то в трее не будет NetApplet'а, зато будет Network Manager.
Сразу Network Manager не подхватил сеть, т.к. не знает пароля.
- Нажимаем на иконку Network Manager'а левой кнопкой мыши и выбираем свою точку доступа.
- После нажимаем на иконку Network Manager'а правой кнопкой мыши и выбираем "Изменить соединения", переходим на вкладку "Беспроводная сеть", нажимаем на свою точку доступа, нажимаем изменить.
- На вкладке безопасность прописываем пароль от свой точки доступа, нажимаем "Сохранить".
- После этого снова нажимаем на иконку Network Manager'а левой кнопкой мыши и выбираем свою точку доступа.
Если все сделано правильно Wi-Fi соединение будет установлено. И будет устанавливаться каждый раз автоматически (с этой точкой доступа) при запуске системы.