Card driver linux wireless

Как заставить заработать 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 заработает
  • По субъективным ощущениям на виндовых драйверах все работает действительно лучше и стабильнее.

    Источник

    Linux Find Wireless Wifi Driver Chipset Information

    H ow do I find out Wireless driver chipset information under a Linux operating system? How do I get wireless card chipeset information without opening my systems or laptop using a Linux? How can I find out which Wi-Fi driver is installed on my Linux laptop? How do I see the information of currently installed WiFi drivers on my Ubuntu or Debian Linux laptop?

    The simplest command to get this information is to use the lspci command. This utility show information about PCI buses in the system and devices connected to them. The PCI configuration space is restricted to root user. [donotprint]

    Tutorial details
    Difficulty level Easy
    Root privileges Yes
    Requirements lspci
    Est. reading time 1m

    [/donotprint]So you need to run the following commands as root user to get all possible information about your wifi card chipset and Linux driver.

    You may need to run update-pciids command to get the current version of the pci.ids file from the Internet and install it to get accurate results.

    Linux Find Wireless Wifi Driver Chipset Information

    The syntax is as follows for the lspci command and grep command:

    Note down 0c:00.0 and enter the following command:
    lspci -vv -s 0c:00.0
    Sample outputs:

    So I am using iwlagn driver. To get driver information type the following modinfo command:
    $ modinfo iwlagn
    Sample outputs:

    Finally, you can run the following to get info about vendor & product code:
    lspci -n -s 0c:00.0
    Sample outputs:

    • 0280 – Network controller:
    • 8086:4235 – Intel Corporation Ultimate N WiFi Link 5300

    Or the all in one following option:
    $ lspci -nn -s 0c:00.0
    Sample outputs:

    Tip: Update pci database on Linux to get accurate infomation about the wireless / wifi chipset

    Type the following update-pciids command to download new version of the PCI ID list to get accurate info from lspci:

    • No ads and tracking
    • In-depth guides for developers and sysadmins at Opensourceflare✨
    • Join my Patreon to support independent content creators and start reading latest guides:
      • How to set up Redis sentinel cluster on Ubuntu or Debian Linux
      • How To Set Up SSH Keys With YubiKey as two-factor authentication (U2F/FIDO2)
      • How to set up Mariadb Galera cluster on Ubuntu or Debian Linux
      • A podman tutorial for beginners – part I (run Linux containers without Docker and in daemonless mode)
      • How to protect Linux against rogue USB devices using USBGuard

    Join Patreon

    Fig.01: Running update-pciids and lspci commands on a Linux

    Using lshw command

    One can use the lshw command as follows
    $ lshw -C network
    $ lshw -C network | more
    Look for “Wireless interface”. Here is a sample outputs:

    Fig.02: Finding WiFi chipset and driver information on Linux

    A note about USB WiFi device

    You need to use the lsusb command:
    $ lsusb
    Try to look a wireless or network device in the list.

    A note about lsmod command

    To see the status or list of all drivers (modules) loaded in the Linux Kernel, run the lsmod command:
    $ lsmod
    $ lsmod | more
    OR use the grep command/egrep command to filter outputs:
    $ lsmod | grep -i wifi
    Sample outputs:

    Look like I am using iwlwifi. Verify it with the following modinfo command:
    $ modinfo iwlwifi
    See the following tutorials for more info on Linux wifi drivers and commands:

    Conclusion

    You just learned how to find Wifi driver and chipset information on Linux based systems. I suggest you visit the main source of Documentation for the Linux wireless (IEEE-802.11) subsystem here. It features information for end-users, developers and vendors. Also read the man pages for the following command using the man command:
    $ man lspci

    🐧 Get the latest tutorials on Linux, Open Source & DevOps via

    Category List of Unix and Linux commands
    Documentation help • mandb • man • pinfo
    Disk space analyzers df • duf • ncdu • pydf
    File Management cat • cp • less • mkdir • more • tree
    Firewall Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04
    Linux Desktop Apps Skype • Spotify • VLC 3
    Modern utilities bat • exa
    Network Utilities NetHogs • dig • host • ip • nmap
    OpenVPN CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04
    Package Manager apk • apt
    Processes Management bg • chroot • cron • disown • fg • glances • gtop • jobs • killall • kill • pidof • pstree • pwdx • time • vtop
    Searching ag • grep • whereis • which
    Shell builtins compgen • echo • printf
    Text processing cut • rev
    User Information groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w
    WireGuard VPN Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04

    Comments on this entry are closed.

    Neat, useful, clear.
    Thanks Vivek.

    May the last item should have been [-nn] instead of [-n]

    lspci -nn -s 0c:00.0

    which gives both PCI IDs and description.

    Ah, yes it take out all guess work. Thanks for pointing it out 🙂

    Amazing help, I really appreciate it.

    Amazing!
    very detailed approach, helped alot
    very usefull for new/beginers
    Thanks!

    the output is below,can anyone tell me my chipset information,

    00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 18)
    00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 18)
    00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
    00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
    00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
    00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)
    00:1c.1 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 (rev 06)
    00:1c.2 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 3 (rev 06)
    00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)
    00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a6)
    00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 06)

    when I ran the command ” lspci | grep -i wireless ” I got nothing. what exactly that means? What shall I do?

    And what about the same information for wireless USB interfaces??

    Источник

    Установка драйверов на устройства беспроводной сети 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

    Источник

    Читайте также:  Установка принтера epson linux
    Оцените статью