Содержание
Данное руководство реализовано, учитывая интенсивность поиска решения проблемы установки драйверов на сетевые карты, известные как Broadcom Wireless Cards. В совокупности, есть желание помочь начинающим и не только пользователям, определить и установитъ аппроприативные1) драйвера на адаптер беспроводной сети. После применения изменений, настоятельно рекомендуется протестировать соединение как минимум в течениe двух часов непрерывного использования, лучше всего - до восьми часов UP-a.
Список проблем, которые будут решены:
- обрыв соединения после непродолжительного использования (засыпание)
- блокировка поиска иных устройств соедиенения
- остановка запроса пароля доступа к точке доступа, даже, если оный отсутствует
- блокировка приёма/отдачи трафика
- случаи полного фриза системы из-за установки неподходящих драйверов
- беспрерывное подсоединение/разъединение
- появление соединения в Менеджере Сети при физическом отсутствии оного
- завышенное время попытки соединения
- потеря соединения после обновления системы на более новую версию
- сетевая карта заблокирована системно, или же нет возможности программного включения таковой
- остальной перечень наиболее упомянутых проблем на Launchpad, форумах *buntu, AskUbuntu.
Само решение проблемы систематизируется в ТРИ основных ступени:
- Определение оборудования
- Подготовка системы
- Установка необходимого пакета
Определение оборудования
Существует множество модификаций сетевых карт Broadcom и постоянно появляются всё новые версии. Посему, лучшим решением остаётся определение модели
по PCI.ID.
Для этого, необходимо открыть терминал Ctrl+Alt+T и ввести2):
lspci -knn | grep Net -A2
Примерным ответом будет:
07:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter [14e4:4320] (rev 03) Subsystem: Hewlett-Packard Company Device [103c:1795] Kernel driver in use: wl
В данном случае установлен bcmwl-kernel-source. 3)
Обладая этой информацией, мы можем определить правильную версию драйвера из списка Broadcom, который будет приведён ниже.
Например, как только мы выяснили, что PCI.ID карты - [14e4:4320] (rev 03), то oбратившись к списку драйверов мы увидим, что данный PCI.ID
соответствует пакету firmware-b43-installer который и необходимо будет впоследствии установить для правильной работы беспроводного адаптера.
Hеважно, что иcпользовалось для установки пакета: терминал, Synaptic, Центр Приложений, dpkg или же ручная компиляция.
Нам необходимо начать с нуля и очистить систему от всего, что может помешать работе аппропреативного драйвера.
Т.е., если был установлен пакет bcmwl-kernel-source, его нужно удалить:
sudo apt-get purge bcmwl-kernel-source
Подготовка системы
Если у нас свежеустановленная система, то первым делом необходимо обновить списки источников приложений:
sudo apt-get update
Также, крайне рекомендуется обновить списки PCI.ID:
sudo update-pciids
это на случай, если специфичный драйвер устройства появился совсем недавно. Во избежание возможных проблем, установку будем проводить исключительно через терминал.
Установка необходимого пакетa
Как уже упомяналось выше, мы будем рассматривать установку пакета firmware-b43-installer
Для этого набираем в терминале:
sudo apt-get install firmware-b43-installer
и перезагружаемся для применения изменений:
sudo reboot
Формат установки пакета крайне прост:
sudo apt-get install <PACKAGE_NAME>
Надеюсь, понятно, что вместо <PACKAGE_NAME> нужно подставить имя пакета из списка ниже:
------------------------------------------------------------------------------------ PCI.ID 14.04 LTS 15.04+ ------------------------------------------------------------------------------------ 14e4:0576 Special Case #1 UNKNOWN 14e4:4301 firmware-b43-installer firmware-b43-installer 14e4:4306 firmware-b43-installer firmware-b43-installer 14e4:4306 rev 02 firmware-b43-installer firmware-b43-installer 14e4:4306 rev 03 firmware-b43-installer firmware-b43-installer 14e4:4307 firmware-b43-installer firmware-b43-installer 14e4:4311 firmware-b43-installer firmware-b43-installer 14e4:4312 firmware-b43-installer firmware-b43-installer 14e4:4313 firmware-b43-installer firmware-b43-installer 14e4:4315 firmware-b43-installer firmware-b43-installer 14e4:4315 rev 01 firmware-b43-installer firmware-b43-installer 14e4:4318 firmware-b43-installer firmware-b43-installer 14e4:4318 rev 02 firmware-b43-installer firmware-b43-installer 14e4:4319 firmware-b43-installer firmware-b43-installer 14e4:4320 rev 02 firmware-b43-installer firmware-b43-installer 14e4:4320 rev 03 firmware-b43-installer firmware-b43-installer 14e4:4324 firmware-b43-installer firmware-b43-installer 14e4:4325 firmware-b43-installer firmware-b43-installer 14e4:4328 firmware-b43-installer firmware-b43-installer 14e4:4329 bcmwl-kernel-source bcmwl-kernel-source 14e4:432a bcmwl-kernel-source bcmwl-kernel-source 14e4:432b bcmwl-kernel-source bcmwl-kernel-source 14e4:432c bcmwl-kernel-source bcmwl-kernel-source 14e4:432d bcmwl-kernel-source bcmwl-kernel-source 14e4:4331 firmware-b43-installer firmware-b43-installer 14e4:4335 firmware-b43-installer firmware-b43-installer 14e4:4353 Special Case #1 UNKNOWN 14e4:4357 Special Case #1 UNKNOWN 14e4:4358 bcmwl-kernel-source bcmwl-kernel-source 14e4:4359 bcmwl-kernel-source bcmwl-kernel-source 14e4:4365 bcmwl-kernel-source bcmwl-kernel-source 14e4:4365 rev 01 bcmwl-kernel-source bcmwl-kernel-source 14e4:43a0 bcmwl-kernel-source bcmwl-kernel-source 14e4:43b1 bcmwl-kernel-source bcmwl-kernel-source 14e4:43b1 rev 03 bcmwl-kernel-source bcmwl-kernel-source 14e4:4727 bcmwl-kernel-source bcmwl-kernel-source 14e4:4727 rev 01 bcmwl-kernel-source bcmwl-kernel-source 14e4:a962 firmware-b43-installer firmware-b43-installer --------------------------------------------------------------------------------
Special Case #1 - используется комбинация драйверов bcma и brcmsmac. Требуется прошивка, устанавливаемая по умолчанию пакетом linux-firmware.
Special Case #2 - в аппаратных средствах, таких как например Lenovo S10-2, Ваша карта может зациклиться в процессе соединения SSID.
Альтернативным решением может послужить установка пакета bcmwl-kernel-source.
Следует упомянуть, что в некоторых особых случаях после установки firmware-b43-installer, нужно будет удалить модуль b43, a затем активировать его заново и произвести разблокировку средствами rfkill:
sudo modprobe -r b43 sudo modprobe b43 sudo rfkill unblock all
Если устройство определилось с иным PCI.ID, задайте свой вопрос автору данной инструкции: AskUbuntu
Установка Offline
В том случае, когда проводная сеть недоступна, есть возможность установить bcmwl-kernel-source с установочного диска.
Для этого нужно вставить установочный CD/DVD или USB и скопировать эти файлы в домашнюю директорию.
На установочном диске (флешке) эти файлы находятся в директориях:
/pool/main/d/dkms/dkms_XXXXX.deb /pool/restricted/b/bcmwl/bcmwl-kernel-source_XXXXX.deb
После чего, запускаем саму установку:
sudo dpkg -i *.deb
Если у Вас Ubuntu 14.04.24), пакет придётся скачивать из сети:
64-BIT
32-BIT
Скопируйте нужную версию в домашнюю директорию и установите тем же способом как показано выше.
В обоих случаях необходимо доустановить dkms с установочного диска или USB. Его можно скачать отдельно тут.
Пакет firmware-b43-installer, при полном отсутствии любого подключения к сети придётся скачать иным путём, например через смартфон.
Нужно будет скачать эти два файла и положить их опять-таки в домашнюю директорию:
Для 64-BIT
Первый файл, Второй файл
Для 32-BIT
Первый файл, Второй файл
После этого, выполняем в терминале:
sudo dpkg -i b43*.deb tar xfvj broadcom-wl-5.100.138.tar.bz2 sudo b43-fwcutter -w /lib/firmware broadcom-wl-5.100.138/linux/wl_apsta.o
Если будут какие-то ошибки, то продолжать не надо. Значит что-то сделал не так. Проверьте правильность введения команд.
Осталось переподключить модуль ядра:
sudo modprobe -r b43 sudo modprobe b43
В случае установки Ubuntu 16.04 в режиме dualboot, необходимо отключить SecureBoot. В противном случае, драйвер не запустится.
На этом всё.
Удачи в освоении системы.
Особая благодарность chili555 и Pilot6
Ссылки
Обсуждение статьи на форуме Ubuntu.ru
Original text translated by τοΖεη