Wi-Fi Broadcom
На некоторых ноутбуках со встроенными Wi-Fi адаптерами Broadcom BCM43* при установке ALT Linux могут быть проблемы с Wi-Fi, вылеты Wi-Fi соединения или низкая скорость работы беспроводной сети. Проблема решается заменой драйвера Wi-Fi адаптера по умолчанию.
Как узнать модель Wi-Fi адаптера?
$ , суперпользователя root - #
Вы можете проверить модель своего Wi-Fi адаптера командой:
$ lspci -nn -d 14e4: 03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43142 802.11b/g/n [14e4:4365] (rev 01)
Или узнать модель своего Wi-Fi адаптера и используемый драйвер с помощью команды:
$ inxi -N
Network: Device-1: Broadcom BCM4313 802.11bgn Wireless Network Adapter driver: bcma-pci-bridge
Device-2: Realtek RTL810xE PCI Express Fast Ethernet driver: r8169
Какие модели карт?
Обрезка имени ядра
std-def/un-def
Для std-def/un-def:
- echo $(uname -r) - версия ядра: 6.12-std-def-alt1
- echo $(uname -r) | cut -d '-' -f 2-3 - версия ядра: std-def
С числовой версией
Для ядра с числовой "версией":
# apt-get install kernel-modules-bcmwl-$(uname -r | cut -d '-' -f 2-3 | rev | cut -d '-' -f 2- | rev)
- echo $(uname -r) - версия ядра: 6.12.34-6.12-alt1
- echo $(uname -r | cut -d '-' -f 2-3) - версия ядра: 6.12-alt1
- echo $(uname -r | cut -d '-' -f 2-3 | rev) - версия ядра: 1tla-21.6
- echo $(uname -r | cut -d '-' -f 2-3 | rev | cut -d '-' -f 2- | rev) - версия ядра: 6.12
Подготовительные действия
Перед установкой драйверов обновите систему и ядро до последней версии.
# apt-get update # apt-get dist-upgrade # update-kernel -f
Выбор драйвера
Более-менее проверенные
Bcmwl
Удаляем остальные, чтобы не было конфликтов
# rm -fr /usr/lib/firmware/b43 # rm /etc/modprobe.d/blacklist-bcm.conf # rm /etc/modprobe.d/blacklist-bcm2.conf # apt-get remove kernel-modules-bcmwl-$(uname -r) | cut -d '-' -f 2-3 # apt-get remove kernel-modules-bcmwl-$(uname -r | cut -d '-' -f 2-3 | rev | cut -d '-' -f 2- | rev) # apt-get remove bcmwl-kernel-conf # reboot
Модуль ядра
Буквенная версия (std-def/un-def)
# apt-get install kernel-modules-bcmwl-$(uname -r) | cut -d '-' -f 2-3
Цифренная версия (6.12)
# apt-get install kernel-modules-bcmwl-$(uname -r | cut -d '-' -f 2-3 | rev | cut -d '-' -f 2- | rev)
Конфиг-файл
# apt-get install bcmwl-kernel-conf # reboot
Пакет содержит файлы:
/etc/modprobe.d/blacklist-bcm.conf /etc/modprobe.d/blacklist-bcm2.conf
Содержащие:
blacklist bcm43xx blacklist ssb blacklist b43 blacklist b44 blacklist b43legacy blacklist bcma blacklist brcmsmac blacklist brcmfmac blacklist bcma-pci-bridge
Не дающие этим модулям загружаться
Наверное, еще стоит добавить:
blacklist brcm80211
После перезагрузки может понадобиться заново соединиться с беспроводной сетью.
Проверяем
# inxi -N | grep Broadcom Device-2: Broadcom BCM43142 802.11b/g/n driver: wl
# modinfo wl | head -n1 filename: /lib/modules/5.10.198-std-def-alt1/updates/dkms/wl.ko
B43
B43 - проект по написанию методом реверс-инжениринга драйверов для wi-fi устройств Broadcom.[i]
Удаляем остальные, чтобы не было конфликтов
# rm -fr /usr/lib/firmware/b43 # rm /etc/modprobe.d/blacklist-bcm.conf # rm /etc/modprobe.d/blacklist-bcm2.conf # apt-get remove kernel-modules-bcmwl-$(uname -r) | cut -d '-' -f 2-3 # apt-get remove kernel-modules-bcmwl-$(uname -r | cut -d '-' -f 2-3 | rev | cut -d '-' -f 2- | rev) # apt-get remove bcmwl-kernel-conf # reboot
Установка
Готовые файлы
Скачайте отсюда архив вида b43fw_508.tar.gz и распакуйте его содержимое в /usr/lib/firmware/b43/
Распаковка с утилитой
Для использования B43 нужно установить утилиту для извлечения и прошивку.
Установка утилиты:
# apt-get install b43-fwcutter
Установка прошивки:
Качаем с:
https://github.com/minios-linux/b43-firmware/releases
прошивку.
Например, в Debian 13 качался архив broadcom-wl-6.30.163.46.tar.bz2.
Архив содержит файл вида:
broadcom-wl-6.30.163.46.wl_apsta.o
Извлекаем файлы прошивки командой:
# b43-fwcutter -w /usr/lib/firmware wl_apsta.o
В итоге в каталоге /usr/lib/firmware будет создан каталог b43 с файлами *.fw, которые использует B43.
Конфиг-файл
Делаем конфиг-файл:
/etc/modprobe.d/blacklist-bcm.conf
Содержащий:
blacklist bcm43xx blacklist ssb blacklist b44 blacklist b43legacy blacklist bcma blacklist brcmsmac blacklist brcmfmac blacklist bcma-pci-bridge blacklist brcm80211
Не дающий этим модулям загружаться
После перезагрузки может понадобиться заново соединиться с беспроводной сетью.
brcm80211
brcm80211 - уже входит в ядро Linux.
Удаляем другие драйвера и конфиги, чтобы не было конфликтов:
# rm -fr /usr/lib/firmware/b43 # rm /etc/modprobe.d/blacklist-bcm.conf # rm /etc/modprobe.d/blacklist-bcm2.conf # apt-get remove kernel-modules-bcmwl-$(uname -r) | cut -d '-' -f 2-3 # apt-get remove kernel-modules-bcmwl-$(uname -r | cut -d '-' -f 2-3 | rev | cut -d '-' -f 2- | rev) # apt-get remove bcmwl-kernel-conf # reboot
Конфиг-файл
Делаем конфиг-файл:
/etc/modprobe.d/blacklist-bcm.conf
Содержащий:
blacklist bcm43xx blacklist ssb blacklist b44 blacklist b43legacy blacklist bcma blacklist brcmsmac blacklist brcmfmac blacklist bcma-pci-bridge blacklist b43
Не дающий этим модулям загружаться
После перезагрузки может понадобиться заново соединиться с беспроводной сетью.
brcmfmac
brcmfmac - входит в ядро Linux.
Удаляем другие драйвера и конфиги, чтобы не было конфликтов:
# rm -fr /usr/lib/firmware/b43 # rm /etc/modprobe.d/blacklist-bcm.conf # rm /etc/modprobe.d/blacklist-bcm2.conf # apt-get remove kernel-modules-bcmwl-$(uname -r) | cut -d '-' -f 2-3 # apt-get remove kernel-modules-bcmwl-$(uname -r | cut -d '-' -f 2-3 | rev | cut -d '-' -f 2- | rev) # apt-get remove bcmwl-kernel-conf # reboot
Конфиг-файл
Делаем конфиг-файл:
/etc/modprobe.d/blacklist-bcm.conf
Содержащий:
blacklist bcm43xx blacklist ssb blacklist b44 blacklist b43legacy blacklist bcma blacklist brcmsmac blacklist bcma-pci-bridge blacklist brcm80211 blacklist b43
Не дающий этим модулям загружаться
После перезагрузки может понадобиться заново соединиться с беспроводной сетью.
Экспериментальные
У меня 432142.
$ inxi -N | grep Broadcom Device-2: Broadcom BCM43142 802.11b/g/n driver: wl
У нее на сети низкая скорость.
Согласно заметке на askubuntu.com, ему посоветовали установить dkms-модуль. Как пишет один из пользователей:
...Это помогло моему ноутбуку HP ProBook6570b. До этого скорость была около 20 Мбит/с. Я выполнил команду и перезагрузил ноутбук для чистого старта. После этого я внезапно увидел 180 Мбит/с. Я счастлив!
Я проэкспериментирую с этим.
Установка
# apt-get install dkms
- Буквенная версия (std-def/un-def)
# apt-get install kernel-headers-$(uname -r) | cut -d '-' -f 2-3 # apt-get install kernel-headers-modules-$(uname -r) | cut -d '-' -f 2-3 # apt-get install kernel-headers-common
- Цифренная версия (6.12)
# apt-get install kernel-headers-$(uname -r | cut -d '-' -f 2-3 | rev | cut -d '-' -f 2- | rev) # apt-get install kernel-headers-modules-$(uname -r | cut -d '-' -f 2-3 | rev | cut -d '-' -f 2- | rev) # apt-get install kernel-headers-common
Качаем этот пакет:
Ставим через eepm:
# eepm install --repack /home/petr/Загрузки/broadcom-sta-dkms_6.30.223.271-26_amd64.deb
- Файлы располагаются в /usr/src/broadcom-sta*.
# cd $(ls -d /usr/src/broadcom-sta*)
- Компилируем драйвер (укажите ту версию, которая в пакете):
# dkms add -m broadcom-sta -v $(rpm -qv broadcom-sta-dkms | cut -d '-' -f 4) # dkms build -m broadcom-sta -v $(rpm -qv broadcom-sta-dkms | cut -d '-' -f 4)
- Устанавливаем драйвер:
# dkms install -m broadcom-sta -v $(rpm -qv broadcom-sta-dkms | cut -d '-' -f 4) Installing /lib/modules/6.12.45-6.12-alt1/updates/dkms/wl.ko.zst
- Подгружаем драйвер
# modprobe wl.ko
- Копируем в папку с драйверами
# cp /lib/modules/6.12.45-6.12-alt1/updates/dkms/wl.ko.zst /lib/modules/6.12.45-6.12-alt1/
Проверяем:
# modinfo wl | head -n1 filename: /lib/modules/6.12.45-6.12-alt1/updates/dkms/wl.ko.zst
Конфиг-файл
Делаем конфиг-файл:
# mcedit /etc/modprobe.d/blacklist-bcm.conf
Содержащий:
blacklist bcm43xx blacklist ssb blacklist b43 blacklist b44 blacklist b43legacy blacklist bcma blacklist brcmsmac blacklist brcmfmac blacklist bcma-pci-bridge
Не дающий этим модулям загружаться
Поддержка
| Сетевая карта (Broadcom) | Bcmwl (проприетарный) | B43 (открытый) | brcm80211 (открытый) | brcmfmac (открытый) | dkms |
|---|---|---|---|---|---|
| BCM4311 | |||||
| BCM4312 (LP-PHY) | |||||
| BCM4313 | |||||
| BCM4321 / BCM4322 | |||||
| BCM43224 / BCM43225 | |||||
| BCM43227 / BCM43228 | |||||
| BCM4331 | |||||
| BCM43142 | 7.48/1.14 | 10.27/2.59 | 1.88/1.59 | 3.78/1.67 | 4.53/1.59 |
| BCM4352 | |||||
| BCM4360 | |||||
| BCM4365 / BCM4366 | |||||
| BCM4377 / BCM4378 / BCM4379 |
Тесты пользователей
| Ахламов Петр, BCM43142, P11 | |
|---|---|
| Тестировалось 20.09.2025 на ноутбуке ASUS X555LNB | |
| Драйвер | Тест |
| Bcmwl | |
| B43 | |
| brcm80211 | |
| brcmfmac | |
| dkms | |
Решение проблем
Wi-fi не подключается
Бывает проблема что Wi-fi "крутится", но не подключается. Это решается странным решением:
- вы выбираете сеть
- вводите пароль
- wi-fi начинает "крутиться"
- вы отменяете
- выбираете второ раз
- wi-fi подключается
Проблемы с драйверами ALT
В случае, если модель вашего адаптера поддерживается драйверами ALT, драйверы установлены, но Wi-Fi не работает, или работает нестабильно, возможно, нужный модуль Wi-Fi не загружается, и была нарушена последовательность установки пакетов. Можно попробовать следующее решение:
Определим версию и тип вашего ядра:
$ uname -r 5.10.185-std-def-alt1
Проверим, какой драйвер Wi-Fi загружен:
$ inxi -N
Network: Device-1: Broadcom BCM4313 802.11bgn Wireless Network Adapter driver: bcma-pci-bridge
Device-2: Realtek RTL810xE PCI Express Fast Ethernet driver: r8169
Мы видим, что загружен неверный драйвер bcma-pci-bridge вместо нужного драйвера wl
Проверяем наличие установленного пакета драйвера из репозитория ALT:
$ rpm -q kernel-modules-bcmwl-std-def kernel-modules-bcmwl-std-def-6.30.223.271-alt15.330425.1.x86_64
Нужный пакет драйвера установлен и тип совпадает с типом ядра, затем:
$ rpm -q bcmwl-kernel-conf пакет bcmwl-kernel-conf не установлен $ ls /etc/modprobe.d/ alsa-modindex.conf
В системе не установлен пакет bcmwl-kernel-conf с параметрами настройки ядра, поэтому нужный нам модуль ядра не загружается. Для того, чтобы это исправить, выполните команды:
$ su - # apt-get update # apt-get install bcmwl-kernel-conf # reboot
После перезагрузки нужный нам модуль Wi-Fi должен заработать, может понадобиться заново соединиться с беспроводной сетью.
Другим способом является запрет загрузки ненужного драйвера вручную, без установки пакета bcmwl-kernel-conf:
$ su - # echo "blacklist bcma" >> /etc/modprobe.d/blacklist-bcma.conf # reboot