Wi-Fi Broadcom
На некоторых ноутбуках со встроенными Wi-Fi адаптерами Broadcom BCM43* при установке ALT Linux могут быть проблемы с Wi-Fi, вылеты Wi-Fi соединения или низкая скорость работы беспроводной сети. Проблема решается заменой драйвера Wi-Fi адаптера по умолчанию.
Как узнать модель Wi-Fi адаптера?
Вы можете проверить модель своего 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
Какие модели карт?
Ниже приведена таблица соответствия между моделью Wi-Fi адаптера и возможными драйверами:
Модель | ALT-драйвер | DEB-драйвер | b43 | PCI-ID |
---|---|---|---|---|
В кодах PCI-ID: жирным = b43; простым = ALT/DEB; курсив = оба. | ||||
BCM4306/3 | + | 14e4:4307 14e4:4320 14e4:4324 | ||
BCM4311 | + | + | + | 14e4:4311 14e4:4312 14e4:4313 |
BCM4312 | + | + | + | 14e4:4315 |
BCM4313 | + | + | 14e4:4313 14e4:4727 | |
BCM4318 | + | 14e4:4318 14e4:4319 | ||
BCM4321 | + | + | 14e4:4328 14e4:4329 14e4:432a | |
BCM4322 | + | + | + | 14e4:432b 14e4:432c 14e4:432d |
BCM43142 | + | 14e4:4365 | ||
BCM43224 | + | + | + | 14e4:4353 |
BCM43225 | + | + | + | 14e4:4357 |
BCM43227 | + | + | + | 14e4:4358 |
BCM43228 | + | + | + | 14e4:4359 |
BCM4331 | +? | + | + | 14e4:4331 |
BCM4360 | + | + | 14e4:43a0 | |
BCM4352 | + | 14e4:43a0 |
Доступные драйверы
ALT-драйвера
Данный способ меняет драйвер по умолчанию на модуль wl
из пакета kernel-modules-bcmwl-std-def (un-def)
Для обновления ядра выполните команды:
$ su - # apt-get update # update-kernel # reboot
Основная статья - Обновление ядра
Затем, после перезагрузки, определите версию и тип своего ядра:
$ uname -r 5.10.185-std-def-alt1
И выполните следующие команды:
$ su - # apt-get install kernel-modules-bcmwl-std-def (un-def)
Выбор пакета std-def или un-def зависит от типа вашего ядра. Затем:
# apt-get install bcmwl-kernel-conf # reboot
После перезагрузки может понадобиться заново соединиться с беспроводной сетью.
развернуть[Содержимое пакета] |
---|
Проверяем
# 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
Установка закрытых Deb-драйверов
В Debian есть пакет с несвободными драйверами для wifi карт broadcom для фрамеворка DKMS, который поддерживает большее количество Wi-fi карт.
Ставим dkms:
# apt-get install dkms
Ставим исходники ядра:
# apt-get install kernel-headers-std-def
или
# apt-get install kernel-headers-un-def
Ставим debian-овский пакет с dkms-модулями BCM через epm:
# epm install /home/petr/Загрузки/broadcom-sta-dkms_6.30.223.271-16_all.deb
Пакет содержит модули для dkms.
развернуть[Содержимое пакета] |
---|
Проверяем
# 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
О NDIS-wrapper
NDISwrapper — программная прослойка, позволяющая использовать драйверы WiFi, предназначенные для Windows в Linux.
НО!
- NDISwrapper реализует NDISv5 и драйвера структуры WDM (XP), в то время как современные драйвера имеют структуру WDF (NT6+) и NDISv6.
- Видимо по этой причине модуль ядра в ALT Linux больше не собирается (но исходники есть и можно собирать вручную)
B43
B43 - проект по написанию методом реверс-инжениринга драйверов для wi-fi устройств Broadcom.[i]
Для использования B43 нужно установить сам драйвер и прошивку.
Установка драйвера:
# apt-get install b43-fwcutter
Установка прошивки:
# export FIRMWARE_INSTALL_DIR="/lib/firmware" # 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 # b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" broadcom-wl-5.10.56.27.3/driver/wl_apsta/wl_prebuilt.o # modprobe b43
Решение проблем
Проблемы с драйверами 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