Ubuntu bcm4313 не работает wifi

Обновлено: 07.07.2024

Не давно я писал, что после обновления Ubuntu c версии 10.04 до 11.04, у меня перестал работать модуль беспроводной сети. А хотите узнать, как определить установленное в компьютере оборудование? Ведь для начала я должен был убедиться в том, что модуль Wi-Fi системой найден.

Вводим в консоль следующую команду:

Эта команда выведет на экран список устройств, которые подключены к шине PCI. У меня вывело следующее:

00:00.0 RAM memory: nVidia Corporation MCP67 Memory Controller (rev a2)
00:01.0 ISA bridge: nVidia Corporation MCP67 ISA Bridge (rev a2)
00:01.1 SMBus: nVidia Corporation MCP67 SMBus (rev a2)
00:01.2 RAM memory: nVidia Corporation MCP67 Memory Controller (rev a2)
00:01.3 Co-processor: nVidia Corporation MCP67 Co-processor (rev a2)
00:02.0 USB Controller: nVidia Corporation MCP67 OHCI USB 1.1 Controller (rev a2)
00:02.1 USB Controller: nVidia Corporation MCP67 EHCI USB 2.0 Controller (rev a2)
00:04.0 USB Controller: nVidia Corporation MCP67 OHCI USB 1.1 Controller (rev a2)
00:04.1 USB Controller: nVidia Corporation MCP67 EHCI USB 2.0 Controller (rev a2)
00:06.0 IDE interface: nVidia Corporation MCP67 IDE Controller (rev a1)
00:07.0 Audio device: nVidia Corporation MCP67 High Definition Audio (rev a1)
00:08.0 PCI bridge: nVidia Corporation MCP67 PCI Bridge (rev a2)
00:09.0 IDE interface: nVidia Corporation MCP67 AHCI Controller (rev a2)
00:0a.0 Ethernet controller: nVidia Corporation MCP67 Ethernet (rev a2)
00:0c.0 PCI bridge: nVidia Corporation MCP67 PCI Express Bridge (rev a2)
00:0d.0 PCI bridge: nVidia Corporation MCP67 PCI Express Bridge (rev a2)
00:12.0 VGA compatible controller: nVidia Corporation C67 [GeForce 7000M / nForce 610M] (rev a2)
00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
05:00.0 Network controller: Broadcom Corporation BCM4311 802.11a/b/g (rev 01)

В последней строке можно увидеть как раз модуль беспроводной связи. Он у меня действительно от Broadcom, модель BCM4311.

Для всех, кто точно знает, что производитель модуля Broadcom, можно сразу же вбить следующую команду:

lspci -vnn | grep 14e4

Команда вывела более чуть подробную информацию:

05:00.0 Network controller [0280]: Broadcom Corporation BCM4311 802.11a/b/g [14e4:4312] (rev 01)

Из всех испробованных мною средств, оживить Wi-Fi удалось следующей командой:

У меня серьезные проблемы с установкой драйверов Broadcom для Ubuntu. Он отлично работал на моей предыдущей версии, но сейчас это невозможно.

Как установить драйверы беспроводной связи Broadcom для карты BCM43xx?

Я пользователь без предварительных знаний в Linux, поэтому мне нужны четкие объяснения о том, как создавать, компилировать и т. Д.

lspci -vnn | grep Network показал:

ПРИМЕЧАНИЕ: ответ ниже обновляется каждый раз, когда добавляется новая информация и подтверждается работа.

10.10, кстати, я пробовал эти шаги раньше, и карта была установлена ​​нормально, но с проблемой низкой скорости Вы можете попробовать использовать гибридный драйвер Broadcoms с патчем. надеюсь, что эта статья от mindwerks поможет вам решить вашу проблему. Задача Ask Ubuntu - собирать ответы, а не ссылки на ответы. Я лишь вручную назначу вознаграждение за вопрос, который предоставляет пошаговое решение для работы BCM4313 (если это работает и для аналогичных чипсетов, это хорошо и следует отметить). Также убедитесь, что вы сами проверили ответ, а не просто копируете и вставляете что-то из сети. Спасибо!

Этот ответ основан на обширном исследовании, проведенном различными пользователями Ubuntu, которые работали вместе практически по всем вопросам, связанным с Broadcom. Выражаем особую благодарность chili555, который помогал на форумах Ubuntu и на этом сайте, задавал много вопросов, касающихся беспроводных устройств, и другим, которые внесли свой вклад в электронную почту, чаты, IRC и многое другое в тестировании различных драйверов с помощью нескольких самых популярных карт Broadcom Wireless. (Огромное спасибо Chili555 на самом деле. Этот парень знает свое дело).

В целом мы хотели предложить ответ, который мог бы быть простым для понимания и охватывал большинство карт / драйверов Broadcom. После того, как вы будете следовать этому руководству, вам НУЖНО проверить беспроводное соединение в течение не менее 2 часов (я на самом деле рекомендую 8 часов) с другим устройством в режиме Ad-Hoc, инфраструктуре или в обоих режимах. Распространенные проблемы, которые будут решены (кроме драйверов, не устанавливаемых):

  • Тайм-аут соединения через несколько минут или часов
  • Останавливает поиск других устройств (не видит других устройств)
  • Продолжает запрашивать пароль даже в тех случаях, когда у AP нет
  • Останавливает любой прием / передачу трафика (требуется временная перезагрузка для временного исправления)
  • Сбой системы с ошибками dmesg в журнале (ссылка 1 ниже)
  • Система полностью зависает (Вы можете нажать только кнопку «Перезагрузка / Питание») (ссылка 1 ниже)
  • Создает огромные отчеты журнала, пытаясь правильно настроить или подключиться
  • Сбой при установке через дополнительные драйверы / дополнительное оборудование (ссылка 3 ниже)
  • Подключается и отключается непрерывно каждые X секунд
  • Появляется подключенным к Network Manager, но не получает Интернет
  • Пытается подключиться много раз без правильного завершения соединения
  • Занимает слишком много времени для подключения
  • После обновления с предыдущей версии (например: 12.04 до 12.10) он перестает работать
  • Беспроводная карта не включается, не включается и не отключается (ссылка 2 ниже)
  • Беспроводная карта заблокирована оборудованием
  • Больше проблем найдено в Launchpad, Ubuntu Forum и Askubuntu

Итак, имея в виду следующее, мы имеем сейчас следующее, которое упрощается всего за 3 шага:

Существуют десятки беспроводных карт Broadcom, и каждый день появляются новые. Ключом к поиску правильного драйвера для любой сетевой карты является то, что известно как PCI ID (PCI.ID). Чтобы выяснить, какой у вас PCI.ID, перейдем к открытию терминала, нажав CTRL + ALT + T (должно открыться окно с пустым фоном), и внутри этого терминала мы запустим следующую команду:

Если у вас есть беспроводной адаптер Broadcom, вы получите что-то вроде следующего (идентификатор 14e4, используемый в приведенном выше примере, в большинстве случаев является беспроводной картой Broadcom):

PCI.ID в этом примере это 14e4: 4320, как видно из скобок [. ]. В некоторых случаях вам также потребуется версия ревизии (если она появится) для некоторых особых случаев. В этом случае версия ревизии - версия 03, как показано в скобках (. ) в конце. Итак, что вам нужно после этого поиска:

С этой новой информацией вы можете посмотреть в таблице ниже и выбрать подходящий метод для установки вашего драйвера. Например, в этом случае, поскольку у вас есть 14e4: 4320 rev 03 , если мы перейдем вниз по списку к тому, который показывает точно такой же PCI.ID, вы увидите, что в столбцах для Ubuntu 12.04, 13.10 или 14.04 он показывает firmware-b43-installer пакет драйвера. Это означает, что вам нужно будет только установить этот конкретный пакет, поскольку он появляется во всех столбцах версий Ubuntu.

ПРИМЕЧАНИЕ. - Прежде чем продолжить, если вы ранее установили какие-либо драйверы, занесли в черный список или раскомментировали какие-либо файлы драйверов или файлы конфигурации или внесли какие-либо изменения в систему, чтобы драйверы работали в предыдущих попытках, вам придется отменить их, чтобы следуйте этому руководству. Мы предполагаем, что вы делаете это с нуля и не изменили никакие файлы конфигурации, модули или драйверы в системе каким-либо образом (кроме обновления системы). Это включает любые установки, использующие apt-get, aptitude, synaptic, dpkg, центр программного обеспечения или ручную компиляцию и установку пакетов. Система должна начинаться с нуля, чтобы это работало и чтобы не возникало конфликтов, которые могут возникнуть, если ранее была сделана работа.

Например, если вы ранее установили bcmwl-kernel-source пакет, вам необходимо удалить его с помощью метода очистки:

Если вы только что установили Ubuntu, вам нужно будет создать индекс доступных пакетов, прежде чем мы сможем установить ваш драйвер, если вы еще этого не сделали:

Я бы даже пошел дальше, чтобы обновить список Ubuntu PCI.ID:

На тот случай, если только что появился идентификатор конкретного нового устройства Broadcom, которое вы используете.

Теперь, используя PCI.ID, который вы нашли в приведенных выше шагах, мы затем ищем в списке ниже, чтобы найти соответствующий PCI.ID и способ простой и правильной установки драйвера, связанного с ним. Терминал будет использоваться, чтобы избежать любых проблем, связанных с GUI. Это относится ко всем случаям, кроме отмеченных. Процедура установки выполняется только через терминал, а также при подключении к Интернету с помощью временного проводного Ethernet-подключения или USB-модема или любых возможных средств, которые могут на время предоставить вашему ПК доступ в Интернет. После того, как вы найдете в списке ниже правильный пакет, мы приступаем к установке.

Предполагая, что вы использовали PCI.ID 14e4: 4320 rev 03, как показано в поиске выше, а затем посмотрели на таблицу ниже и обнаружили, что правильный пакет для установки - это firmware-b43-installer , мы затем приступаем к простой установке этого пакета в терминале:

а затем перезагрузите

Формат для установки довольно прост, это просто:

В приведенном выше примере PACKAGE_NAME - это firmware-b43-installer .

WIRELESS TABLE BROADCOM (Обновлено 18 августа 2017 г.)

Особый случай № 1 - Использование bcma и brcmsmac комбинация драйверов. Требуемая прошивка установлена ​​по умолчанию в пакете linux-firmware .

Особый случай № 2 - Для ASUS PCE-AC88 AC3100 :

    и после распаковки поместите его в / lib / firmware / brcm
    sudo cp brcmfmac4366c-pcie.bin /lib/firmware/brcm/brcmfmac4366c-pcie.bin
  1. Затем sudo nano /etc/rc.local добавьте modprobe brcmfmac и сохраните
  2. sudo reboot

В оборудовании, таком как Lenovo S10-2, если ваша беспроводная карта застревает при попытке подключиться к SSID (продолжает пытаться подключиться), то альтернативой, чтобы заставить ее работать, было бы установить bcmwl-kernel-source пакет (удалить все другие установленные пакеты, связанные с ним ). Прочитайте раздел «Отладка» ниже для получения дополнительной информации об этом беспроводном устройстве.

ВАЖНОЕ ПРИМЕЧАНИЕ. После сентября 2014 года, если вы последуете этому ответу, но у вас по-прежнему возникают проблемы с установкой правильного драйвера, попробуйте firmware-b43-installer пакет и сообщите нам об этом в комментариях. Произошли некоторые изменения, и некоторые драйверы будут работать только с этим пакетом. Не забудьте иметь чистую систему перед ее установкой:

В некоторых особых случаях после установки firmware-b43-installer вам необходимо удалить модуль b43, снова включить его и даже перейти к разблокировке с помощью rfkill:

Если у вас есть карта Broadcom с другим pci.id, задайте новый вопрос. После решения решение будет добавлено в это руководство.

4.1 Установка firmware-b43-installer

Для установки в firmware-b43-installer автономном режиме смотрите этот ответ .

4.2 Установка bcmwl-kernel-source

Для случаев, когда вам нужно установить, bcmwl-kernel-source но вы находитесь в автономном режиме, вот отличный ответ об этом. Но в основном выполните следующие действия:

  1. Поиск пакета в репозиториях пакетов Ubuntu
  2. Убедитесь, что вы выбрали правильную архитектуру (32-битная, 64-битная и т. Д.)
  3. Загрузите пакет и связанные с ним пакеты зависимостей в одной папке.
  4. Когда у вас есть все необходимые пакеты (и их зависимости), перейдите в папку, в которой есть все пакеты, и запустите sudo dpkg -i *.deb . Это установит все пакеты в этой папке. Если это дает какие-либо ошибки, прочитайте ошибку и выполните шаги, которые она упоминает.

Чтобы привести пример, после перехода к пункту 1, упомянутому выше, если бы у вас был Broadcom 14e4:43a0 , вы бы искали bcmwl-kernel-source пакет, и после выбора соответствующей версии Ubuntu (в моем случае 16.04 или Xenial) я попал бы на следующую страницу:

На этой странице я бы выбрал соответствующую архитектуру (32 или 64), но также должен был бы загрузить 3 зависимости пакета, упомянутые на этой странице, как показано на следующем рисунке:

введите описание изображения здесь

После загрузки всех пакетов и зависимостей вы можете продолжить копирование всех пакетов в одну папку и выполнить dpkg команду, как указано в шаге 4 выше.

На некоторых компьютерах перед выполнением команд необходимо отключить параметры безопасной загрузки в BIOS. Это относится к случаям, например, когда bcmwl-kernel-source уже установлен, но драйвер еще не работает. Вы можете сделать переустановку следующим образом или отключить безопасную загрузку, зайдя в BIOS Setup:

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

Перед прочтением пунктов, упомянутых ниже, убедитесь, что все репозитории включены в вашей системе Ubuntu. Чтобы проверить, запустите на терминале software-properties-gtk и убедитесь, что все опции на вкладке программного обеспечения Ubuntu включены.

Для настройки беспроводных устройств через терминал я рекомендую Как подключиться и отключиться от сети вручную в терминале?

Если ваше соединение прерывается время от времени, некоторые пользователи предлагают установить для IPv6 значение Игнорировать . Просто зайдите в Network Manager (значок сети на верхней панели). Нажмите на нее, затем выберите « Изменить настройки» . Затем перейдите к беспроводному соединению, которое вы используете, выберите его. Теперь перейдите к последней вкладке, где упоминаются настройки IPv6 . В поле Метод выберите Игнорировать .

Если ваш ноутбук не обнаружил вашу беспроводную карту, некоторые пользователи упомянули, что использование rfkill unblock all решит проблему. Другие просто выключили и снова включили переключатель WiFi на своих ноутбуках (физический переключатель доступен на этих ноутбуках). Для получения дополнительной информации, rfkill пожалуйста, прочитайте rf kill unblock all НЕ РАБОТАЕТ!

Если вы получаете b43-phy0 ОШИБКА: Фатальная ошибка прямого доступа к памяти / предупреждение b43-phy0: Принудительный PIO делает следующее:

Если это работает, добавьте его в RC-файлы, чтобы он выполнялся при каждой загрузке. Вы можете изменить PIO на 1, если вам это нужно.

Если у вас есть требуемый ключ, недоступный при установке модуля DKMS (например, Nvidia, Broadcom или другие), вы можете перейти к ответу пилота здесь.

Если ваша беспроводная карта видит / не видит маршрутизатор и застревает в бесконечном цикле «Попытка подключения (попробуйте 1/3)», решение может заключаться в правильной конфигурации вашего маршрутизатора или беспроводного устройства SSID.

Для всех беспроводных карт в целом очень важно также учитывать используемые вами сетевые устройства (маршрутизаторы, коммутаторы, беспроводные каналы и беспроводные диапазоны и т. Д.). С помощью этой информации вы сможете лучше оценить источник проблемы, когда попадете в тупик. Примером может служить Lenovo S10-2, в котором используется PCIID 14e4: 4315 rev 01 . Даже после установки правильного драйвера пользователь может зацикливаться на попытке подключения. Он будет видеть беспроводной SSID, но при попытке подключиться к нему он войдет в цикл повторного подключения.

Решение состояло в том, что это конкретное беспроводное устройство не поддерживало каналы 40 МГц и не поддерживало 802.11N. Маршрутизатор в этом случае фактически вещал с принудительной 40 МГц и только по WiFi-N. Когда маршрутизатор был установлен в автоматический режим и канал 20/40 МГц, беспроводная карта работала правильно. Это сценарий случая, который также повторяется в других случаях, поэтому правильная оценка сетевого оборудования может очень помочь.

Для случаев, когда вы получаете повторение:

ОШИБКА @ wl_cfg80211_get_station: неверный адрес Mac .

когда это происходит, dmesg и ваше беспроводное соединение часто прерывается (несколько раз в час или день), проблема может заключаться в том, что вы находитесь внутри беспроводного сигнала, который используется в качестве беспроводного моста (2 маршрутизатора, использующие один и тот же SSID и соединение). Это может произойти с современными маршрутизаторами, которые имеют возможность расширять беспроводное соединение, предлагая тот же SSID. Ваше беспроводное соединение может оборваться, потому что вы можете находиться между обоими маршрутизаторами, а уровень сигнала между ними почти одинаков.

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

Существуют также некоторые методы, чтобы заставить беспроводное устройство подключаться только к определенному маршрутизатору, установив BSSID в MAC-адрес маршрутизатора, к которому вы хотите подключиться. Это заставит ваше беспроводное устройство подключиться ТОЛЬКО к нему.

введите описание изображения здесь

Проблемы с безопасной загрузкой

В некоторых конкретных случаях установка драйверов, будь то в автономном режиме через различные пакеты DEB или через apt-get с доступом в Интернет, не будет работать, если Безопасная загрузка не отключена.

Это связано с тем, что Secure Boot запрещает доступ, поэтому драйверы будут выглядеть так, как будто они установлены правильно, хотя на самом деле это не так. Так что в ОЧЕНЬ конкретных случаях вам необходимо временно отключить безопасную загрузку, чтобы драйверы работали.

Обновление прошивки Linux

В других случаях поиск и установка последней версии прошивки Linux решит проблему. Либо решить мелкие проблемы, которые возникали с работающей картой, либо заставить карту работать впервые.

Привет дорогой друг! Сегодня мы поговорим о достаточно частой проблеме, когда Ubuntu не видит WiFi. Тут в первую очередь нужно примерно представить из-за чего возникает такая ошибка работы системы или WiFi адаптера. Конечно, тут может быть два варианта: или программная поломка, или аппаратный конфликт. Точнее даже не аппаратная, а именно проблема с драйверами.

Давайте для начала просто проверим, что система видит и определяет беспроводной модуль. Для этого зайдите в консоль и пропишите команду:

$ sudo lsusb (Если у вас внешний модуль, подключенный к USB порту)
$ sudo lspci (Если модуль встроенный или подключенный к PCI шине)


Если вы увидите примерную картину, как на «скриншоте» выше то значит модуль определяется. В противном случае у вас просто не установлены драйвера. Также можно попробовать ввести команды:

$ lshw C network

После этого вы должны увидеть полное название и модель сетевой карты. Если её нет, то значит, также есть проблемы с установкой модуля и драйвера. Именно поэтому на Linux не работает WiFi адаптер.

Нет модуля

И так наша прошивочка стабильно работает, но вот модуля просто нет. Скорее всего его просто забыли установить или он встал криво. Также бывает, что пользователь мог скачать не тот драйвер. Вписываем:

$ sudo lsmod


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

$ sudo modprobe ИМЯ_МОДУЛЯ

Вместо последнего значения нужно ввести именно то имя модуля, которое стоит у вас. После этого модуль должен начать стабильно работать.

Автозагрузка модуля

Если после перезагрузки вай-фай адаптер перестает нормально работать, то скорее всего модуль просто не установлен при загрузке системы. Он есть и включен, но при перезагрузке он не включается. Для этого прописываем:

$ sudo nano /etc/modules

Вы увидите текстовый файл, где загружены все модули при загрузке. Нужно аккуратно и нежно прописать именно ваш модуль в автозагрузку. Как посмотреть название адаптера вы уже знаете.

У меня как-то были проблемы именно с подключением некоторых сайтов. Поэтому лучше всего сразу же решить эту проблему и прописать надёжные и правильные DNS адреса от Google.

  1. Сначала правой кнопочкой «кликаем» по «Network Manager».
  2. Изменяем соединение.
  3. Выбираем именно наше беспроводное подключение, а не коннект по кабелю.
  4. Переходим в IPv4.
  5. Наши адреса нужно будет изменить только для DHCP.
  6. Теперь устанавливаем два значения:
    1. 8.8.8.8
    2. 8.8.4.4

    После сохранения, перезагрузите комп или ноут.

    Сетевой менеджер удалён

    Иногда это происходит по ошибке или из-за программного конфликта. Для начала давайте проверим, что сам менеджер ещё находится в кэше, если вы пока не перезагрузили компьютер или нуотбук. Прописываем команду:

    $ sudo apt-get install network-manager

    Если ничего не происходит, то в кэше его нет. Но установка менеджера возможно при прямом подключении по кабелю. После прямого коннекта к маршрутизатору просто пропишите туже саму команду.

    Если это не поможет, то заходим прописываем команду:

    $ sudo gedit /etc/network/interfaces

    Откроется редактор, в котором нужно будет прописать:

    auto lo
    iface lo inet loopback
    auto wlan0
    iface wlan0 inet dhcp
    wpa-essid myssid
    wpa-psk mypasscode

    В самом конце опять через терминал прописываем:

    $ sudo ifdown wlan0 && sudo ifup -v wlan0

    Последняя надежда

    В качестве последнего правильного рывка я бы посоветовал полностью переустановить драйвера на «Убунту». После этого с сетями в «Линукс» проблема должна решиться сама собой. По этому поводу я писал подробную статью, с которой вы можете ознакомиться тут.

    В наше время проводное подключение ноутбука к интернету используется всё реже. Наиболее распространенный вариант - провод подключён к роутеру, а он уже раздает Wifi на весь дом. Технологию Wifi поддерживают большинство современных ноутбуков, и это удобно - можно взять его с собой на кровать, не боясь переломить шнур, или очень легко перенести его в другую комнату.

    Но тут кроется одна проблема: не всегда и не на всех устройствах Wifi поддерживается из коробки. Да, есть такие ноутбуки Linux, в которых настройка Wifi в Ubuntu не нужна: после установки всё работает, вы можете подключаться к сетям или даже создавать точки доступа. Но это не так уж часто. В этой статье будет рассмотрена настройка Wifi в Ubuntu. Мы возьмём самую последнюю версию дистрибутива Ubuntu 16.04 с ядром Linux 4.4. Тут самую важную роль играет ядро, поскольку именно оно отвечает за поддержку оборудования. Я буду предполагать, что у вас не работает Wifi Ubuntu из коробки, если же вас интересует, как подключиться к сети, листайте ниже.

    Установка драйвера Wifi

    Если вы попробовали подключиться к сети Wifi, и у вас не получилось, хотя пароль был правильный, или у вас даже не определяется системой присутствие сетевой карты Wifi, становится понятно, что из коробки не работает Wifi Ubuntu и нужна дополнительная настройка. Wifi-адаптеров и их производителей очень много. В этой статье мы будем рассматривать только Broadcom, потому что всё не охватить. Но я попытаюсь объяснить так, чтобы вы смогли разобраться, даже если у вас другой производитель адаптера Wifi Ubuntu.

    Для начала, давайте посмотрим какой у вас производитель сетевой платы, для этого выполните:

    sudo lspci | grep Network

    wifi11

    wifi

    Для нашего Broadcom-адаптера есть четыре драйвера, смотрим только те, для которых в последней колонке есть PCI; наш адаптер подключён через эту шину. Это b43, b43-legasy и brcmfmac и brcmcmac.

    wifi1

    Дальше выбираем лучший драйвер: смотрим на колонки cfg80211, AP, IBSS, mesh, monitor, PHY modes. Собственно, поддержка протокола сап80211, поддержка режима точки доступа, поддержка IBSS, Mesh, поддержка режима прослушивания (для перехвата пакетов) и поддержка расширений протокола b/g/n/a.

    Для нас сейчас лучший драйвер по этим параметрам - b43. Открываем его и смотрим, поддерживает ли он нашу карту:

    wifi2

    Кроме названия, здесь приводится PCI ID карты, чтобы точно определить совместимость. Для Broadcom его можно посмотреть командой:

    lspci -nn -d 14e4:

    wifi12

    Находим нашу карту BCM4313 и в колонке Supported видим No - жаль, но этим драйвером она не поддерживается. Такого PCI ID здесь тоже в помине нет. Но настройка Wifi в Ubuntu ещё не закончена. Возвращаемся назад, и смотрим другой драйвер. Следующий по возможностям драйвер brcmsmac, он не поддерживает Mesh и IBSS, но нам и не нужно.

    Открываем, смотрим и видим, что в первой же строчке есть наша карта:

    wifi3

    Вот теперь мы нашли нужный драйвер и уже даже знаем, какие режимы он поддерживает. Подобным образом можно подобрать драйвер для любого другого адаптера.

    Обратите внимание, что перед тем, как запускать драйвер, для него, возможно, необходимо будет установить прошивки. Установка драйвера Wifi Ubuntu не нужна, поскольку он вшит в ядро. Информация о прошивке находится ниже на странице:

    wifi4

    В нашем случае нужно скачать и скопировать файлы brcm/bcm43xx-0.fw и brcm/bcm43xx_hdr-0.fw to в отдельную папку. Вот они - эти файлы, на вкладке tree, скачиваем и копируем в папку, которая указана в инструкции:

    wifi5

    sudo cp bcm43* /lib/firmware/brcm/

    Как видите, всё немного сложно, но на самом деле там все действия описаны, и все ссылки есть, нужно только внимательно смотреть. Теперь осталось установить драйвер Wifi Ubuntu, для этого мы просто загрузим модуль ядра. Но перед этим нужно добавить в чёрный список все другие модули, которые ядро может загружать автоматически:

    sudo modprobe -r wl
    $ sudo modprobe -r b43
    $ sudo modprobe -r b43-legaxy

    Добавляем их в чёрный список:

    blacklist b43
    blacklist b43-legacy
    blacklist wl

    Теперь запускаем наш выбранный драйвер:

    sudo modprobe brcmsmac

    Вот и всё, теперь Wifi работает. Теперь вы знаете, как установить драйвер Wifi в Ubuntu, как его найти, как определить необходимую версию для вашей карты. Хотя мы рассмотрели способ для Broadcom, с другими адаптерами нужно работать похожим образом. Загружаем выбранный драйвер, запрещаем все остальные доступные. И не забудьте установить прошивку. Даже если Ubuntu не видит Wifi, вы сможете разобраться.

    Подключение к Wifi в Ubuntu

    После того, как установка драйвера Wifi Ubuntu завершена, подключиться к сети не составит труда, это намного легче, по сравнению с тем, через что вы уже прошли. На панели теперь появился такой значок:

    wifi8

    Когда не работает Wifi Ubuntu, его нет. Точнее он есть, но выглядит по-другому. Кликните по этому значку и выберите из списка нужную сеть. Осталось ввести пароль:

    wifi9

    Готово, подключить Wifi Ubuntu не так уж сложно, и вы можете пользоваться интернетом.

    wifi10

    Подключение к Wifi в Ubuntu через терминал

    Иногда случаются ситуации, когда графический интерфейс не работает. Тогда тоже может понадобиться интернет. Дальше мы рассмотрим, как подключить Wifi Ubuntu через терминал. Как вы знаете, для обмена данными в сети Wifi используется шифрование, это WEB, WPA и WPA2. Мы не будем рассматривать WEP, потому что это слишком просто, и это шифрование не безопасное - его можно взломать за несколько минут.

    Остановимся на WPA. Настройка Wifi в Ubuntu через терминал состоит из нескольких этапов:

    • Просканировать сеть и найти доступные точки
    • Подключиться к точке, используя wpa_supplicant
    • Получить IP-адрес по DHCP
    • Настроить DNS-серверы, чтобы сайты открывались корректно

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

    Сканируем сеть с помощью специальной утилиты:

    sudo iwlist scan

    wifi14

    Была обнаружена одна сеть с ESSID H30_CE550. Отлично, теперь мы будем использовать эту точку, чтобы подключить Wifi Ubuntu. Выполните команду:

    wifi15

    wpa_passphrase H30_CE550 > wpa.conf

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

    Для самого же подключения будем использовать утилиту wpa_supplicant. Рассмотрим её синтаксис:

    $ wpa_supplicant -D драйвер -i интерфейс -c файл_содениения

    Драйверов, которые задаются опцией -D всего два: это устаревший wext и новый драйвер Wifi Ubuntu nl80211. Не стоит путать эти драйверы с драйверами устройств. Это универсальная прослойка между этими драйверами и системой. Пробуйте сначала второй, а если не работает, то тогда уже первый. Интерфейс вы можете посмотреть из вывода утилиты iwlist scan, в моём случае это wlp3s0b1, но скорее всего у вас будет wlan0. А имя файла - это тот файл, который мы только что создали. Запускаем:

    sudo wpa_supplicant -Dnl80211 -iwlp3s0b1 -cwpa.conf

    wifi16

    Готово, второй этап подключения Wifi в Ubuntu завершён: мы в сети. Осталось получить IP-адрес и DNS, чтобы полноценно работать. Оставьте этот терминал в покое и откройте новый. Вообще, можно было запустить wpa_supplicant с опцией -B, но тогда бы мы потеряли над ней контроль. Если бы настройка Wifi Ubuntu 16.04 пошла не так, нам бы пришлось искать и убивать процесс, к тому же, у нас не было бы вывода программы.

    Для получения IP по протоколу DHCP воспользуемся утилитой dhclient. Сначала найдём все доступные DHCP-серверы в сети:

    sudo dhclient -r

    wifi17

    Затем просто запросим адрес для нашего интерфейса:

    sudo dhclient -i wlp3s0b1

    wifi18

    На получение IP-адреса уйдет несколько секунд. После этого, выполнив ifconfig, мы можем убедиться, что у нас уже есть IP:

    sudo ifconfig wlp3s0b1

    wifi6

    А также проверить сеть с помощью ping:

    wifi7

    Готово. Подключение к Wifi в Ubuntu через терминал завершено. На случай, если вы надумаете тестировать это при запущенном NetworkManager, снимите галочку с управления Wifi в апплете, чтобы программа не мешала.

    После этого интерфейс будет программно заблокирован, разблокировать его можно командой:

    sudo rfkill unblock wlan

    Теперь можете выполнять подключение Wifi в Ubuntu через консоль. Всё будет работать. При следующем подключении вам не нужно создавать файл конфигурации заново, вы можете даже написать небольшой скрипт, чтобы соединение выполнялось автоматически.

    Выводы

    Надеюсь, что после прочтения этой статьи вы стали лучше понимать, как работает Wifi в Ubuntu, как выполняется установка драйвера и что делать, если Ubuntu не видит Wifi. Настройка Wifi Ubuntu 16.04 - довольно сложная задача, особенные трудности может вызвать поиск прошивок и подбор драйвера. Если у вас остались вопросы, спрашивайте в комментариях!

    Читайте также: