Broadcom настройка wi fi

Обновлено: 08.07.2024

Когда где-то год назад я поставил на свой Dell Latitude D520 с чипом broadcom 4311 Ubuntu 8.10, то столкнулся с тем, что wi-fi работать напрочь отказывался. Я погуглил, пару дней поизучал посты на различных форумах, сделал какие-то шаманские действия и благополучно забыл и про проблему и про те действия, которые делал.

Все бы хорошо, но черт меня дернул поставить Karmic Koala с нуля… Про проблему я вспомнил сразу. А вот решение было забыто напрочь.

Решение быстрое


Итак, загрузившись, я обнаружил, что wi-fi у меня не работает. Посмотрев в /var/log/syslog увидел там следующие подзрительную строчку:
ERROR: Firmware file «b43/ucode5.fw» not found or load failed

Пройдясь по гуглу я нашел блог, в котором было решение проблемы вида «распакуй архив туда-то и все заработает». Скачал оттуда архив, в котором было недостающее firmware, распаковал в /lib/firmware/ и все действительно заработало.

Надо сказать, что в 8.10 проблема так легко не решалась, потому что там были другие драйвера. В 8.10 были bcm43xx, сейчас же грузятся b43.
Попутно с поиском решения я набрел на сайт с этими самыми драйверами b43, где есть много информации по поддержке этими драйверами различных чипсетов broadcom 43xx.

Также я в нескольких местах встречал мнение, что b43 работают хуже и нестабильнее нативных драйверов.

Мне тоже показалось, что раньше я видел в списке сетей гораздо больше, поэтому я решил пойти по немного более сложному пути, который был еще в 8.10, а именно:

Запуск драйверов производителя — решение посложнее

Родные драйвера я скачал с сайта поддержки Dell. Были они в виде self-extracting архива, но без проблем распаковались file-roller'ом

Далее делаем следующее:

  • Устанавливаем ndiswrapper — утилиту, которая позволяет драйверам Windows для беспроводных карт работать в Linux.
  • Удаляем модуль b43 из автозагрузки помещая его в blacklist:
    sudo vim /etc/modprobe.d/blacklist.conf
    добавляем туда строчку: blacklist b43
  • Загружаем виндовые драйвера:
    sudo ndiswrapper -i /path_to_drivers/bcmwl5.inf
  • Чтобы ndiswrapper запускался при загрузке системы, дописываем его в /etc/modules (sudo vim /etc/modules и добавляем туда строчку ndiswrapper)
  • Далее после перезагрузки все должно бы заработать, но не тут то было.
    Перезагрузился, а wi-fi по прежнему не работает.

Причиной тому яляется модуль ssb, который загружается перед ndiswrapper и не дает ему взять на себя управление wi-fi картой.

По субъективным ощущениям на виндовых драйверах все работает действительно лучше и стабильнее.

Далее представлены рекомендуемые настройки по умолчанию для беспроводных адаптеров Intel® с поддержкой связи 802.11n. Для изменения этих настроек см. раздел Расширенные настройки беспроводного адаптера Intel®.

Примечание Обновите программное обеспечение вашего адаптера и беспроводного маршрутизатора. Используйте приложение Intel® Driver & Support Assistant для обновления драйверов Intel®.

Настройки по умолчанию/рекомендуемые

  • Настройка Режим 802.11n доступна только для следующих устаревших адаптеров. Для других адаптеров используйте беспроводной режим 802.11n/ac или режим HT:
    • Точка доступа WiFi Intel® 5350
    • Точка доступа WiMAX/WiFi Link 5150
    • Адаптер WiFi Intel® 5300
    • Адаптер WiFi Intel® 5100
    • Точка Intel® Wireless WiFi 4965AGN
    • HT=высокая скорость=802.11n
    • VHT=очень высокая скорость=802.11ac
    • Выключено=скорости 802.11a/g

    Убедитесь в том, что вы сконфигурировали точку доступа или маршрутизатор Wi-Fi для режима 11n. Если вы не уверены, что точка доступа сконфигурирована для режима 11n, обратитесь к производителю точки доступа.

    Важные настройки для режима 11n

    Управляет каналом, который ваша точка доступа использует для взаимодействия с клиентскими устройствами в сети Wi-Fi.
    Большинство точек доступа по умолчанию имеют настройку автоматического режима. Мы не рекомендуем вам менять эту настройку, если вы:

    • Не осведомлены о работе каналов Wi-Fi
    • Узнайте, как определить менее загруженный канал в вашем сетевом окружении

    14 (2,4 ГГц) более загружен, чем канал 36

    Контроль за шириной канала (20 или 40 МГц), который точка доступа использует для связи с клиентскими устройствами по вашей сети Wi-Fi. Увеличенная ширина канала обеспечивает более высокую производительность.

    Примечание Некоторые точки доступа могут не иметь этой настройки, но иметь другую характеристику, называемую скоростью передачи или подобную ей.

    Для достижения оптимальной производительности и совместимости включите поддержку для всех значений диапазонов ширины каналов. Некоторые точки доступа могут работать только в режиме 40 МГц, что не позволяет устаревшим устройствам подключаться к этой точке доступа, поскольку они поддерживают подключение только 20 МГц.

    Эта настройка управляет типами устройств Wi-Fi (802.11a/b/g/n/ac), которые могут подключаться к точке доступа.
    Для достижения оптимальной производительности и совместимости включите поддержку всех беспроводных режимов.
    Если сконфигурирован только режим 11n, устаревшие устройства с поддержкой только режимов 11a/b/g не смогут подключаться к точке доступа.

    Содержание

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

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

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

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

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

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

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

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

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

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

    Заносим в 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.

    Создаем 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"

    B43-allow-by-nm.jpg

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

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

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

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

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

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

    Установка Network Manager

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

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

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

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

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

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

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

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

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

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

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

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

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

    Данное руководство реализовано, учитывая интенсивность поиска решения проблемы установки драйверов на сетевые карты, известные как Broadcom Wireless Cards. В совокупности, есть желание помочь начинающим и не только пользователям, определить и установитъ аппроприативные 1) драйвера на адаптер беспроводной сети. После применения изменений, настоятельно рекомендуется протестировать соединение как минимум в течениe двух часов непрерывного использования, лучше всего - до восьми часов UP-a.

    Для применения нижеследующих действий, нужно подключить компьютер кабелем к сети.

    Список проблем, которые будут решены:

    обрыв соединения после непродолжительного использования (засыпание) остановка запроса пароля доступа к точке доступа, даже, если оный отсутствует случаи полного фриза системы из-за установки неподходящих драйверов появление соединения в Менеджере Сети при физическом отсутствии оного потеря соединения после обновления системы на более новую версию сетевая карта заблокирована системно, или же нет возможности программного включения таковой остальной перечень наиболее упомянутых проблем на Launchpad, форумах *buntu, AskUbuntu.

    Само решение проблемы систематизируется в ТРИ основных ступени:

    Не нужно одновременно устанавливать bcmwl-kernel-source и firmware-b43-installer. Нужно выбрать только один пакет в соответствии с таблицей

    Определение оборудования

    Существует множество модификаций сетевых карт Broadcom и постоянно появляются всё новые версии. Посему, лучшим решением остаётся определение модели
    по PCI.ID. Для этого, необходимо открыть терминал Ctrl+Alt+T и ввести 2) :

    Примерным ответом будет:

    В данном случае установлен bcmwl-kernel-source. 3)
    Обладая этой информацией, мы можем определить правильную версию драйвера из списка Broadcom, который будет приведён ниже.
    Например, как только мы выяснили, что PCI.ID карты - [14e4:4320] (rev 03), то oбратившись к списку драйверов мы увидим, что данный PCI.ID
    соответствует пакету firmware-b43-installer который и необходимо будет впоследствии установить для правильной работы беспроводного адаптера.

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

    Hеважно, что иcпользовалось для установки пакета: терминал, Synaptic, Центр Приложений, dpkg или же ручная компиляция.
    Нам необходимо начать с нуля и очистить систему от всего, что может помешать работе аппропреативного драйвера.
    Т.е., если был установлен пакет bcmwl-kernel-source, его нужно удалить:

    Подготовка системы

    Ha комп-ах с UEFI надо отключить SecureBoot в BIOS для установки bcmwl-kernel-source.

    Если у нас свежеустановленная система, то первым делом необходимо обновить списки источников приложений:

    Также, крайне рекомендуется обновить списки PCI.ID:

    это на случай, если специфичный драйвер устройства появился совсем недавно. Во избежание возможных проблем, установку будем проводить исключительно через терминал.

    Установка необходимого пакетa

    Как уже упомяналось выше, мы будем рассматривать установку пакета firmware-b43-installer
    Для этого набираем в терминале:

    и перезагружаемся для применения изменений:

    Формат установки пакета крайне прост:

    Надеюсь, понятно, что вместо <PACKAGE_NAME> нужно подставить имя пакета из списка ниже:

    Если устройство определилось с иным PCI.ID, задайте свой вопрос автору данной инструкции: AskUbuntu

    Установка Offline

    В том случае, когда проводная сеть недоступна, есть возможность установить bcmwl-kernel-source с установочного диска.
    Для этого нужно вставить установочный CD/DVD или USB и скопировать эти файлы в домашнюю директорию.
    На установочном диске (флешке) эти файлы находятся в директориях:

    После чего, запускаем саму установку:

    Если у Вас Ubuntu 14.04.2 4) , пакет придётся скачивать из сети:
    64-BIT
    32-BIT
    Скопируйте нужную версию в домашнюю директорию и установите тем же способом как показано выше. В обоих случаях необходимо доустановить dkms с установочного диска или USB. Его можно скачать отдельно тут.

    Пакет firmware-b43-installer, при полном отсутствии любого подключения к сети придётся скачать иным путём, например через смартфон. Нужно будет скачать эти два файла и положить их опять-таки в домашнюю директорию:
    Для 64-BIT
    Первый файл, Второй файл
    Для 32-BIT
    Первый файл, Второй файл

    После этого, выполняем в терминале:

    Если будут какие-то ошибки, то продолжать не надо. Значит что-то сделал не так. Проверьте правильность введения команд.
    Осталось переподключить модуль ядра:

    В случае установки Ubuntu 16.04 в режиме dualboot, необходимо отключить SecureBoot. В противном случае, драйвер не запустится.
    На этом всё.
    Удачи в освоении системы.
    Особая благодарность chili555 и Pilot6

    Читайте также: