Broadcom wifi настройка linux

Как заставить заработать wifi на чипе broadcom 43xx под Linux

Когда где-то год назад я поставил на свой Dell Latitude D520 с чипом broadcom 4311 Ubuntu 8.10, то столкнулся с тем, что wi-fi работать напрочь отказывался. Я погуглил, пару дней поизучал посты на различных форумах, сделал какие-то шаманские действия и благополучно забыл и про проблему и про те действия, которые делал.

Все бы хорошо, но черт меня дернул поставить Karmic Koala с нуля… Про проблему я вспомнил сразу. А вот решение было забыто напрочь.

Решение быстрое

ERROR: Firmware file «b43/ucode5.fw» not found or load failed

Пройдясь по гуглу я нашел блог, в котором было решение проблемы вида «распакуй архив туда-то и все заработает». Скачал оттуда архив, в котором было недостающее 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 картой.

Если этот модуль загружен (смотрим с помощью lsmod | grep ssd ), то опять открываем /etc/modprobe.d/blacklist.conf и добавляем туда ssd и b44 — который вызывает загрузку ssd.

  • Далее запускаем sudo update-initramfs -u и обновляем список подгружаемых модулей, чтобы ssb не грузился
  • Теперь можно перезагрузиться или же вручную выгрузить ненужные модули и загрузить нужный ndiswrapper и wi-fi заработает
  • По субъективным ощущениям на виндовых драйверах все работает действительно лучше и стабильнее.

    Источник

    Установка драйверов на устройства беспроводной сети Broadcom

    Содержание

    Данное руководство реализовано, учитывая интенсивность поиска решения проблемы установки драйверов на сетевые карты, известные как Broadcom Wireless Cards. В совокупности, есть желание помочь начинающим и не только пользователям, определить и установитъ аппроприативные 1) драйвера на адаптер беспроводной сети. После применения изменений, настоятельно рекомендуется протестировать соединение как минимум в течениe двух часов непрерывного использования, лучше всего — до восьми часов UP-a.

    Список проблем, которые будут решены:

    Само решение проблемы систематизируется в ТРИ основных ступени:

    Определение оборудования

    Существует множество модификаций сетевых карт Broadcom и постоянно появляются всё новые версии. Посему, лучшим решением остаётся определение модели
    по PCI.ID. Для этого, необходимо открыть терминал Ctrl+Alt+T и ввести 2) :

    Примерным ответом будет:

    В данном случае установлен bcmwl-kernel-source. 3)
    Обладая этой информацией, мы можем определить правильную версию драйвера из списка Broadcom, который будет приведён ниже.
    Например, как только мы выяснили, что PCI.ID карты — [14e4:4320] (rev 03), то oбратившись к списку драйверов мы увидим, что данный PCI.ID
    соответствует пакету firmware-b43-installer который и необходимо будет впоследствии установить для правильной работы беспроводного адаптера.

    Hеважно, что иcпользовалось для установки пакета: терминал, Synaptic, Центр Приложений, dpkg или же ручная компиляция.
    Нам необходимо начать с нуля и очистить систему от всего, что может помешать работе аппропреативного драйвера.
    Т.е., если был установлен пакет bcmwl-kernel-source, его нужно удалить:

    Подготовка системы

    Если у нас свежеустановленная система, то первым делом необходимо обновить списки источников приложений:

    Также, крайне рекомендуется обновить списки PCI.ID:

    это на случай, если специфичный драйвер устройства появился совсем недавно. Во избежание возможных проблем, установку будем проводить исключительно через терминал.

    Установка необходимого пакетa

    Как уже упомяналось выше, мы будем рассматривать установку пакета 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:

    Если устройство определилось с иным PCI.ID, задайте свой вопрос автору данной инструкции: AskUbuntu

    Установка Offline

    В том случае, когда проводная сеть недоступна, есть возможность установить bcmwl-kernel-source с установочного диска.
    Для этого нужно вставить установочный CD/DVD или USB и скопировать эти файлы в домашнюю директорию.
    На установочном диске (флешке) эти файлы находятся в директориях:

    После чего, запускаем саму установку:

    Если у Вас Ubuntu 14.04.2 4) , пакет придётся скачивать из сети:
    64-BIT
    32-BIT
    Скопируйте нужную версию в домашнюю директорию и установите тем же способом как показано выше. В обоих случаях необходимо доустановить dkms с установочного диска или USB. Его можно скачать отдельно тут.

    Пакет firmware-b43-installer, при полном отсутствии любого подключения к сети придётся скачать иным путём, например через смартфон. Нужно будет скачать эти два файла и положить их опять-таки в домашнюю директорию:
    Для 64-BIT
    Первый файл, Второй файл
    Для 32-BIT
    Первый файл, Второй файл

    После этого, выполняем в терминале:

    Если будут какие-то ошибки, то продолжать не надо. Значит что-то сделал не так. Проверьте правильность введения команд.
    Осталось переподключить модуль ядра:

    В случае установки Ubuntu 16.04 в режиме dualboot, необходимо отключить SecureBoot. В противном случае, драйвер не запустится.
    На этом всё.
    Удачи в освоении системы.
    Особая благодарность chili555 и Pilot6

    Источник

    Ubuntu Documentation

    Introduction

    This page provides support information on Broadcom BCM43xx wireless network cards. The aim of Ubuntu is to ensure all card models work automatically with no, or minimal configuration. For example, via System > Administration > Hardware/Additional Drivers. If you are having a WiFi issue, please see below on getting this addressed.

    Identifying Your Broadcom BCM43xx Chipset

    With this information, you may assess what drivers are supported for your card, and how to switch to a different driver from the instructions below.

    Internal cards

    To identify a card that was installed inside your computer prior to purchase, please open a Terminal and execute:

    This will display:

    You now know:

    • The Chip ID: BCM4331
    • The PCI-ID: 14e4:4331
    • Kernel driver in use: wl

    USB cards

    One will want to execute at a terminal:

    Drivers available in Ubuntu

    The following is an overview of the different drivers that are available for Broadcom wireless devices.

    Broadcom STA Wireless driver (Proprietary)

    The propietary Broadcom STA Wireless driver is maintained upstream by Broadcom. As this driver is closed source, fixes in the driver itself may only be provided by Broadcom. As a convenience, Ubuntu offers two versions of this driver:

    The bcmwl-kernel-source package aims to offer a later version for a given release. Instructions for installation may be found later in this article.

    The broadcom-sta package aims to offer an earlier version for a given release.

    As per the Broadcom readme file for driver version 6.30.223.271, the following devices are compatible:

    b43 driver (Open-source)

    For Chip ID BCM 4306 (rev 03), 4311, 4312, 4318, 4322, 4331, 43224 and 43225.

    The b43 infrastructure is composed of two parts. The first is the firmware-b43-installer package. This is simply a script to extract and install the b43 driver firmware, maintained by the Ubuntu community. The second is the b43 driver, maintained upstream by the Linux kernel community. Instructions to install the package may be found below.

    b43legacy driver (Open-source)

    For Chip ID BCM 4301, 4306 (rev 02), and 4309.

    The b43legacy infrastructure is composed of two parts. The first is the firmware-b43legacy-installer package. This is simply a script to extract and install the b43legacy driver firmware, maintained by the Ubuntu community. The second is the b43 driver, maintained upstream by the Linux kernel community. Instructions to install the package may be found below.

    brcmsmac driver (Open-source)

    For Chip ID BCM 4313, 43224 and 43225.

    The open-source brcmsmac driver for PCIe devices is available from the brcm80211 module of the linux kernel package, maintained upstream by the linux kernel community. For more granular support information, please see their wiki page here.

    brcmfmac driver (Open-source)

    SDIO: For Chip ID BCM 4329, 4330, 4334, 4335, 4354, 43143, 43241, and 43362.
    USB: For Chip ID BCM 43143, 43242, 43566, and 43569.

    The open-source brcmfmac driver is available from the brcm80211 module of the linux kernel package, maintained upstream by the linux kernel community. For more granular support information, please see their wiki page here.

    rndis_wlan driver (Open-source)

    For Chip ID BCM 4320.

    The open-source rndis_wlan driver is available from the linux kernel package, maintained upstream by the linux kernel community. For more granular support information, please see their wiki page here.

    ndiswrapper (Open-source)

    For all chip IDs.

    The ndiswrapper package utilizes the Windows closed source drivers to activate your WiFi card. It is maintained upstream here. For installation instructions, please see here.

    Installing STA drivers

    STA — Internet access

    If you have some other kind of Internet access on your computer (e.g. via an ethernet cable) then use the instructions below.

    12.04 (Precise Pangolin)

    Open a Terminal and install the bcmwl-kernel-source package:

    Note: If you see the message «Module build for the currently running kernel was skipped since the kernel source for this kernel does not seem to be installed» then you are missing the appropriate generic linux-header package(s).

    To test the driver (and remove the need for a computer restart) use:

    Allow several seconds for the network manager to scan for available networks before attempting a connection.

    The bcmwl-kernel-source package should automatically blacklist the open source drivers so that the STA driver is the only one in use.
    Back to top

    STA — No Internet access

    If you do not have any other means of Internet access on your computer, you can install the bcmwl-kernel-source package from the restricted folder under ../pool/restricted/b/bcmwl on the Ubuntu install media.

    Note: The bcmwl-kernel-source package depends on the linux-headers packages so you may need to first retrieve the appropriate package(s) from the online repositories. A running LiveCD/LiveUSB environment has these packages (allowing the wireless to work), but an installed system may not. Make sure you have the linux-headers package that matches your current kernel version, plus the appropriate generic header packages so that they are automatically updated on a kernel upgrade. To find out your current kernel use the command:

    To find what linux-headers packages you have installed use the command:

    Systems installed from CDROM can add the install CD as a package source and install bcmwl-kernel-source using apt-get as above. However, if you want to do it manually then the instructions are as follows:

    Navigate the install media and install the packages listed below by double clicking OR install the packages consecutively from a Terminal (in the commands below the install media is mounted at /cdrom, but yours maybe different):

    Upstream 802.11 Linux STA driver

    Installing b43/b43legacy firmware

    The Ubuntu kernel now provides the b43 driver, however due to copyright restrictions not the proprietary firmware which is required to run your card. The following instructions explain how to extract the required firmware.

    b43 — Internet access

    12.04 (Precise Pangolin) — 14.04 (Trusty Tahr)

    Open a Terminal and if you haven’t already done so, update your package list:

    If you have a b43 card use the command

    or, if you need the b43legacy driver, use:

    or, (12.04) if you need a LP-PHY version (e.g BCM4312), use:

    Restart the computer or reload the b43/b43legacy module as outlined in the Switching between drivers section below (replace b43 with b43legacy where appropriate).

    b43 — No Internet access

    If you do not have any other means of Internet access from Ubuntu, then you will have to download the firmware from another computer with Internet access, from an existing OS on another partition, or before you install Ubuntu. You will also need the b43-fwcutter package which is usually included on the install media or can be downloaded from the official online repositories.

    Install the b43-fwcutter package. This is usually located on the Ubuntu install media under /cdrom/pool/main/b/b43-fwcutter/ or you can download the binary ‘.deb’ package by following the links on launchpad.

    Double click on the package to install or in a Terminal issue the following commands:

    On a computer with Internet access, download the required firmware file:

    Copy the downloaded file to your home folder. Open a new Terminal and use b43-fwcutter to extract and install the firmware:

    b43legacy

    b43 (12.04 Precise Pangolin)

    b43 (14.04 Trusty Tahr)

    Restart the computer or reload the b43/b43legacy module as outlined in the Switching between drivers section below (replace b43 with b43legacy where appropriate).

    Switching between drivers

    If you card is supported by more than one driver then use the modprobe command to test the drivers. First unload all conflicting drivers (this includes removing the driver you’re trying to install):

    To load a specific driver use one of the following commands:

    Allow several seconds for the network manager to scan for available networks before attempting a connection.

    After a reboot the system may auto-load a different driver to the one you wanted to use. Consequently, for permanent use, you may find it necessary to blacklist the driver/module you are not using. In the command below replace drivername with the driver you want to blacklist:

    Update the initramfs after any changes to the blacklist files:

    Note: The bcmwl-kernel-source package will automatically blacklist the open source drivers/modules in /etc/modprobe.d/blacklist-bcm43.conf.

    If you wish to permanently use the open source drivers then remove the bcmwl-kernel-source package:

    Ensure that the driver/modules you wish to use are not blacklisted in any of the other files in /etc/modprobe.d .

    Unsupported devices

    If your wifi card/chipset and/or various modes are not supported by the STA driver or the open source kernel drivers, then you will need to go for ndiswrapper — this will allow you to use the Windows closed source drivers to activate your wifi card.

    Known Issues

    * LP#1010931 14e4:4727 [Dell Vostro 3555] Broadcom BCM4313 5GHz doesn’t work but 2.4GHz does

    • The root cause is the card only transmits/receives on the single-band 2.4GHz only, so it would never broadcast at 5GHz.

    Filing bug reports

    Broadcom STA Wireless driver

    While using either the bcmwl-kernel-source or broadcom-sta-source package from the Ubuntu repositories (not a recompiled/custom version) execute one of the following via a terminal:

    This will file a new report. In it, please ensure all of the below is provided if missing:

    Please include only one (not both) of the following corresponding to which driver series you are filing a report against:

    Please execute the following via a terminal and post the results in your report:

  • The full manufacturer and model of your computer as noted on the sticker of the computer itself.
  • Did this problem not occur in a previous release? If so, which one(s) specifically?
  • Does this problem occur with the latest version of Ubuntu?
  • If available, please comment to how testing the relevant open source driver for your card type provides a WORKAROUND. If your chipset is supported as per above, but doesn’t work, please file a bug following the b43 driver procedure below.
  • Please provide the router manufacturer, model, and firmware version.

    Please comment to how testing ndiswrapper for your card type provides a WORKAROUND. If it doesn’t work, please file a bug report as per the support article.

    If the version of the driver you are using in the repository is the latest version available as per Broadcom, Broadcom wants you to send them an email about this to linux-wlan-client-support-list@broadcom.com. Please post their response to your report.

    If the version of the driver you are using in the repository is an older version than that available from Broadcom, then contacting them would not apply. Instead, an investigation would need to occur to see if the version available for your release should be updated.

    b43/b43legacy firmware utility

    Before filing a bug report about b43 or b43legacy, it’s important to distinguish this as a issue with the firmware extraction script, or the driver itself. If it’s an issue with the script, one will need to install the version from the Ubuntu repositories (not a recompiled/custom version) and then execute via a terminal either:

    b43/b43legacy driver

    For bugs regarding the b43 or b43legacy driver, please execute the following via a terminal:

    Also, please provide the following:

    1. The full manufacturer and model of your computer as noted on the sticker of the computer itself.
    2. Did this problem not occur in a previous release? If so, which one(s) specifically?
    3. Does this problem occur with the latest version of Ubuntu?
    4. If available, please comment to how testing test the relevant Broadcom STA Wireless driver for your card type provides a WORKAROUND. If it doesn’t, please file a report as per the procedure above.
    5. Please provide the router manufacturer, model, and firmware version.

    Please comment to how testing ndiswrapper for your card type provides a WORKAROUND. If it doesn’t work, please file a bug report as per the support article.

    Once all of the required information is present, if the version of the driver you are using is the latest version available from the Ubuntu repositories, then one would want to e-mail the b43-dev mailing list following this procedure.

    See Also

    Installing Windows drivers with NdisWrapper.

    Источник

    Читайте также:  Почему у dns статический ip