- Установка драйверов WiFi Broadcom 4311-4312-4313-4321-4322
- Драйверы
- BCM4311, BCM4312, BCM4321, BCM4322 и некоторые другие
- BCM4313 и некоторые другие
- Инструкция для систем с ядром версии до 3.2.0
- Как заставить заработать wifi на чипе broadcom 43xx под Linux
- Решение быстрое
- Запуск драйверов производителя — решение посложнее
- Далее делаем следующее:
- Broadcom 43xx wireless devices
- Identification
- Troubleshooting
- NDISwrapper
- Blacklist Linux kernel drivers
- Installation
- How to Install Broadcom BCM4311/BCM4312/BCM4313 Driver on Ubuntu 22.04
- GNU/Linux Ubuntu 22.04 Installing Broadcom BCM4311/BCM4312/BCM4313 Driver Guide
- GNU/Linux Ubuntu Broadcom BCM4311/BCM4312/BCM4313 Driver Installation Guide
- Follow Us
- The GNU/Linux Free Software Phylosophy
- Steve Jobs’ Last Words
- Credits
Установка драйверов WiFi Broadcom 4311-4312-4313-4321-4322
Если модель WiFi-адаптера Broadcom неизвестна, её можно определить, выполнив следующую команду:
Команда выдаст что-то такое:
02:00.0 Network controller [0280]: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] (rev 01)
BCMxxxx (BCM4322 в данном случае) — это и есть модель WiFi-адаптера.
Драйверы
При работе с WiFi-адаптерами Broadcom чаще всего используется один из следующих драйверов:
- b43 — open-source драйвер, поставляется в системе по умолчанию;
- brcmsmac — open-source драйвер, поставляется в системе по умолчанию;
- wl (он же — broadcom-wl, он же — broadcom-sta) — проприетарный драйвер от Broadcom.
Если WiFi-адаптер поддерживается одним из указанных open-source драйверов, система загрузит нужный драйвер автоматически.
BCM4311, BCM4312, BCM4321, BCM4322 и некоторые другие
Для адаптеров BCM4311, BCM4312, BCM4321, BCM4322 и некоторых других (более подробный, хотя и несколько устаревший список см. тут), как правило, используется драйвер b43. Для его корректной работы необходимо firmware из проприетарного драйвера (сам проприетарный драйвер при этом не устанавливается и не используется).
Если есть проводное подключение к Интернету, то чтобы установить всё необходимое для драйвера b43, достаточно установить пакет b43-firmware-install и перезагрузиться. Всё должно работать.
Если WiFi в системе с драйвером b43 работает нормально, устанавливать и использовать проприетарный драйвер вместо него не рекомендуется.
BCM4313 и некоторые другие
Для адаптера BCM4313 и некоторых других (более подробный, хотя и несколько устаревший список см. тут) обычно используется драйвер brcmsmac.
Как правило, для таких систем WiFi работает нормально, никаких дополнительных действий выполнять не нужно.
На отдельных системах с таким адаптером и драйвером brcmsmac были сложности с качеством соединения (низкая сила сигнала, не все точки доступа видны и пр.). Для таких систем может помочь установка проприетарного драйвера. Достаточно установить пакет dkms-broadcom-wl и перезагрузиться.
Если WiFi нормально работает в системе с open-source драйвером, проприетарный драйвер устанавливать и использовать не рекомендуется.
Инструкция для систем с ядром версии до 3.2.0
Если есть Интернет по сетевой плате, тогда открываем консоль, и проводим следующие операции:
wget http://mirror2.openwrt.org/sources/broadcom-wl-5.10.56.27.3_mipsel.tar.bz2 tar xjf broadcom-wl-5.10.56.27.3_mipsel.tar.bz2 su
b43-fwcutter -w /lib/firmware/ broadcom-wl-5.10.56.27.3/driver/wl_apsta/wl_prebuilt.o modprobe b43
Перезагружаемся. Все должно работать!
Как заставить заработать wifi на чипе broadcom 43xx под Linux
Когда где-то год назад я поставил на свой Dell Latitude D520 с чипом broadcom 4311 Ubuntu 8.10, то столкнулся с тем, что wi-fi работать напрочь отказывался. Я погуглил, пару дней поизучал посты на различных форумах, сделал какие-то шаманские действия и благополучно забыл и про проблему и про те действия, которые делал.
Все бы хорошо, но черт меня дернул поставить Karmic Koala с нуля… Про проблему я вспомнил сразу. А вот решение было забыто напрочь.
Решение быстрое
Итак, загрузившись, я обнаружил, что wi-fi у меня не работает. Посмотрев в /var/log/syslog увидел там следующие подзрительную строчку:
Пройдясь по гуглу я нашел блог, в котором было решение проблемы вида «распакуй архив туда-то и все заработает». Скачал оттуда архив, в котором было недостающее 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 картой.
По субъективным ощущениям на виндовых драйверах все работает действительно лучше и стабильнее.
Broadcom 43xx wireless devices
This page describes how to enable support for WiFi devices based on Broadcom BCM4301, BCM4306, BCM4311, BCM4312, BCM4318, BCM4321 and BCM4322 chips on Debian systems.