- Wi-fi Broadcom
- Как узнать модель Wi-Fi адаптера?
- Какие модели карт?
- Доступные драйверы
- ALT-драйвера
- Установка закрытых Deb-драйверов
- О NDIS-wrapper
- B43
- Решение проблем
- Проблемы с драйверами ALT
- Ссылки
- Блог X-PRESS
- Скачать драйвер Wi-Fi адаптера
- Извлечение драйверов
- Установка Ndiswrapper
- Установка Windows драйверов
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
Какие модели карт?
Ниже приведена таблица соответствия между моделью 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)
Примечание: Данный вариант поддерживает следующие модели — BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43224-, and BCM43225-, BCM43227- and BCM43228-based оборудование.
Внимание! Не забудьте обновить ядро перед установкой, иначе может не загрузится система после установки. Если в репозитории ядро новее, чем в вашей системе, при установке запрошенного модуля может установиться новое ядро с одним-единственным модулем.
Для обновления ядра выполните команды:
$ su - # apt-get update # update-kernel # reboot
Затем, после перезагрузки, определите версию и тип своего ядра:
И выполните следующие команды:
$ su - # apt-get install kernel-modules-bcmwl-std-def (un-def)
Выбор пакета std-def или un-def зависит от типа вашего ядра. Затем:
# apt-get insall bcmwl-kernel-conf # reboot
После перезагрузки может понадобиться заново соединиться с беспроводной сетью.
bcmwl-kernel-conf.rpm `--etc `--modprobe.d |--blacklist-bcm.conf `--blacklist-bcm2.conf kernel-modules-bcmwl-*-def.rpm `--lib `--modules `--*krnlver-*-def-alt1 `--net `--wl.ko
Установка закрытых Deb-драйверов
Предварительно ознакомьтесь со статьёй Где и как искать программы: установку deb-пакетов Вы делаете на свой страх и риск.
Примечание: Данный вариант поддерживает следующие модели BCM4311, BCM4312, BCM4313, BCM4321, BCM4322, BCM43142, BCM43224, BCM43225, BCM43227, BCM43228, BCM4331, BCM4360, и BCM4352
В Debian есть пакет с несвободными драйверами для wifi карт broadcom для фрамеворка DKMS, который поддерживает большее количество Wi-fi карт.
Ставим debian-овский пакет с dkms-модулями BCM через epm:
# epm install /home/petr/Загрузки/broadcom-sta-dkms_6.30.223.271-16_all.deb
Пакет содержит модули для dkms.
broadcom-sta-dkms_6.30.223.271-16_all.deb |--etc | `--modprobe.d | `--broadcom-sta-dkms.conf `--usr |--src | `--broadcom-sta-6.30.223.271 | |--src | | |--wl | | | `--sys | | | |--wl_iw.c | | | |--wl_linux.h | | | |--wlc_wowl.h | | | |--wlc_pub.h | | | |--wl_iw.h | | | |--wlc_key.h | | | |--wl_cfg80211_hybrid.h | | | |--wl_dbg.h | | | |--wlc_ethereal.h | | | |--wlc_utils.h | | | |--wl_linux.c | | | |--wlc_types.h | | | |--wl_cfg80211_hybrid.c | | | `--wl_export.h | | |--common | | | `--include | | | `--proto | | | |--bcmeth.h | | | |--bcmip.h | | | |--ieee80211_radiotap.h | | | |--802.11.h | | | |--bcmevent.h | | | |--ethernet.h | | | |--wpa.h | | | `--802.1d.h | | |--shared | | | |--linux_osl.c | | | `--bcmwifi | | | `--include | | | |--bcmwifi_rates.h | | | `--bcmwifi_channels.h | | `--include | | |--wlioctl.h | | |--osl.h | | |--packed_section_start.h | | |--epivers.h | | |--packed_section_end.h | | |--bcmcrypto | | | `--tkhash.h | | |--bcmendian.h | | |--bcmdefs.h | | |--linux_osl.h | | |--linuxver.h | | |--pcicfg.h | | |--bcmutils.h | | |--siutils.h | | `--typedefs.h | |--dkms.conf | |--Makefile | `--lib | |--wlc_hybrid.o_i386 | `--wlc_hybrid.o_amd64 `--share |--broadcom-sta | |--broadcom-sta.ids |--doc | `--broadcom-sta-dkms | |--changelog.Debian.gz | |--README.txt.gz | |--copyright | `--README.Debian `--lintian `--overrides `--broadcom-sta-dkms
О 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
Решение проблем
Проблемы с драйверами ALT
В случае, если модель вашего адаптера поддерживается драйверами ALT, драйверы установлены, но Wi-Fi не работает, или работает нестабильно, возможно, нужный модуль Wi-Fi не загружается, и была нарушена последовательность установки пакетов. Можно попробовать следующее решение:
Определим версию и тип вашего ядра:
Проверим, какой драйвер 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
Ссылки
Блог X-PRESS
Linux прошла долгий путь с аппаратной поддержкой, но если у вас есть Wi-Fi адаптер, который все еще не имеет встроенных Linux-драйверов, то вы могли бы подключить его используя драйвера для Windows и специальное приложение Ndiswrapper.
Используя драйверы Windows в Linux, вы также можете получить более быструю скорость передачи или лучшую поддержку шифрования в зависимости от вашей Wi-Fi карты. Если ваш Wi-Fi адаптер работает в Linux, то не рекомендуется устанавливать драйверы Windows просто так ради удовольствия, поскольку это может привести к конфликту с родными Linux драйверами.
Скачать драйвер Wi-Fi адаптера
Первое что вам нужно сделать, это выяснить точную модель вашего Wi-Fi адаптера. Есть несколько способов это сделать, некоторые включают обнаружение чипсета устройства, а некоторые используют системный журнал. Легче всего просто посмотреть на само устройство, если у вас внешний адаптер, или узнать на сайте производителя, если адаптер встроенный и поставляется вместе с компьютером.
После того как вы узнали модель Wi-Fi адаптера, который пытаетесь установить, зайдите на сайт производителя и скачайте Windows драйвера для устройства.
Если есть возможность, то вам следует попытаться загрузить 32-разрядные Windows XP драйверы в ZIP Формате, а не в EXE. Если такой возможности нет выберите последние доступные драйвера ОС Windows, которые предоставляет производитель.
Извлечение драйверов
Для извлечения файлов нажмите правой кнопкой мыши на .EXE или Архив, и выберите “открыть с помощью архиватора” (open with archive manager).
Примечание: Хотя менеджером архивов можно извлечь как EXE так и архивные файлы, иногда файлы в EXE формате могут не работать с Ndiswrapper.
Установка Ndiswrapper
Ndiswrapper является инструментом, который позволяет Linux использовать драйверы Windows для поддержки Wi-Fi-адаптеров.
Для его установки в Ubuntu перейдите в “центр программного обеспечения” (Software Center) и найдите ndisgtk.
Установка Windows драйверов
Теперь, когда у вас есть извлеченный драйвер и установленный Ndiswrapper, откройте Система -> Администрирование -> Windows Wireless Drivers.
В открывшемся окне щелкните по установке нового драйвера (install new driver) и выберете распакованный драйвер.
Иногда .inf файлы будут в подкаталогах внутри драйверов, так что возможно вам придется немного покопаться, чтобы найти нужный файл для использования.
После выбора .inf файла для вашего Wi-Fi адаптера нажмите кнопку “Установить” (install). Это займет несколько минут.
После установки драйвера в главном окне будет сообщаться, правильно ли вы выбрали .inf файл, установлено оборудование или нет. Если вы выбрали неправильный драйвер вы можете попытаться установить другой .inf файл, который был извлечен из драйвера.
Если ни один из .inf файлов не работает вы можете попробовать драйвер для того же адаптера но для различных версий Windows (например, XP, Vista, 7).
После того как вы установите нужный драйвер нажмите “настроить сеть” (configure network), чтобы открыть сетевые соединения и подключения к беспроводной сети.
P.S. У меня с ASUS USB N-13 проблема драйвера не рашилась