Настройка Wifi в Ubuntu
В наше время проводное подключение ноутбука к интернету используется всё реже. Наиболее распространенный вариант — провод подключён к роутеру, а он уже раздает 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.
Для начала, давайте посмотрим какой у вас производитель сетевой платы, для этого выполните:
Самые популярные сейчас — Broadcom, Atheros, Intel, Realtek. В этом примере мы рассмотрим Broadcom. Для каждого из этих производителей было реализовано по несколько открытых драйверов, которые вы можете установить. Но, скорее всего, все они вам не подойдут, нужно подобрать драйвер только для вашей карты. Для этого откройте сайт https://wireless.wiki.kernel.org/en/users/drivers. Это официальный сайт драйверов ядра Linux. На этой странице есть таблица со всеми драйверами Wifi, которые есть в ядре.
Для нашего Broadcom-адаптера есть четыре драйвера, смотрим только те, для которых в последней колонке есть PCI; наш адаптер подключён через эту шину. Это b43, b43-legasy и brcmfmac и brcmcmac.
Дальше выбираем лучший драйвер: смотрим на колонки cfg80211, AP, IBSS, mesh, monitor, PHY modes. Собственно, поддержка протокола сап80211, поддержка режима точки доступа, поддержка IBSS, Mesh, поддержка режима прослушивания (для перехвата пакетов) и поддержка расширений протокола b/g/n/a.
Для нас сейчас лучший драйвер по этим параметрам — b43. Открываем его и смотрим, поддерживает ли он нашу карту:
Кроме названия, здесь приводится PCI ID карты, чтобы точно определить совместимость. Для Broadcom его можно посмотреть командой:
Находим нашу карту BCM4313 и в колонке Supported видим No — жаль, но этим драйвером она не поддерживается. Такого PCI ID здесь тоже в помине нет. Но настройка Wifi в Ubuntu ещё не закончена. Возвращаемся назад, и смотрим другой драйвер. Следующий по возможностям драйвер brcmsmac, он не поддерживает Mesh и IBSS, но нам и не нужно.
Открываем, смотрим и видим, что в первой же строчке есть наша карта:
Вот теперь мы нашли нужный драйвер и уже даже знаем, какие режимы он поддерживает. Подобным образом можно подобрать драйвер для любого другого адаптера.
Обратите внимание, что перед тем, как запускать драйвер, для него, возможно, необходимо будет установить прошивки. Установка драйвера Wifi Ubuntu не нужна, поскольку он вшит в ядро. Информация о прошивке находится ниже на странице:
В нашем случае нужно скачать и скопировать файлы brcm/bcm43xx-0.fw и brcm/bcm43xx_hdr-0.fw to в отдельную папку. Вот они — эти файлы, на вкладке tree, скачиваем и копируем в папку, которая указана в инструкции:
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
Теперь запускаем наш выбранный драйвер:
Вот и всё, теперь Wifi работает. Теперь вы знаете, как установить драйвер Wifi в Ubuntu, как его найти, как определить необходимую версию для вашей карты. Хотя мы рассмотрели способ для Broadcom, с другими адаптерами нужно работать похожим образом. Загружаем выбранный драйвер, запрещаем все остальные доступные. И не забудьте установить прошивку. Даже если Ubuntu не видит Wifi, вы сможете разобраться.
Подключение к Wifi в Ubuntu
После того, как установка драйвера Wifi Ubuntu завершена, подключиться к сети не составит труда, это намного легче, по сравнению с тем, через что вы уже прошли. На панели теперь появился такой значок:
Когда не работает Wifi Ubuntu, его нет. Точнее он есть, но выглядит по-другому. Кликните по этому значку и выберите из списка нужную сеть. Осталось ввести пароль:
Готово, подключить Wifi Ubuntu не так уж сложно, и вы можете пользоваться интернетом.
Подключение к Wifi в Ubuntu через терминал
Иногда случаются ситуации, когда графический интерфейс не работает. Тогда тоже может понадобиться интернет. Дальше мы рассмотрим, как подключить Wifi Ubuntu через терминал. Как вы знаете, для обмена данными в сети Wifi используется шифрование, это WEB, WPA и WPA2. Мы не будем рассматривать WEP, потому что это слишком просто, и это шифрование не безопасное — его можно взломать за несколько минут.
Остановимся на WPA. Настройка Wifi в Ubuntu через терминал состоит из нескольких этапов:
- Просканировать сеть и найти доступные точки
- Подключиться к точке, используя wpa_supplicant
- Получить IP-адрес по DHCP
- Настроить DNS-серверы, чтобы сайты открывались корректно
В графическом интерфейсе всё происходит автоматически, но поскольку мы выбрали этот путь, нужно будет действовать вручную.
Сканируем сеть с помощью специальной утилиты:
Была обнаружена одна сеть с ESSID H30_CE550. Отлично, теперь мы будем использовать эту точку, чтобы подключить Wifi Ubuntu. Выполните команду:
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
Готово, второй этап подключения Wifi в Ubuntu завершён: мы в сети. Осталось получить IP-адрес и DNS, чтобы полноценно работать. Оставьте этот терминал в покое и откройте новый. Вообще, можно было запустить wpa_supplicant с опцией -B, но тогда бы мы потеряли над ней контроль. Если бы настройка Wifi Ubuntu 16.04 пошла не так, нам бы пришлось искать и убивать процесс, к тому же, у нас не было бы вывода программы.
Для получения IP по протоколу DHCP воспользуемся утилитой dhclient. Сначала найдём все доступные DHCP-серверы в сети:
Затем просто запросим адрес для нашего интерфейса:
На получение IP-адреса уйдет несколько секунд. После этого, выполнив ifconfig, мы можем убедиться, что у нас уже есть IP:
А также проверить сеть с помощью ping:
Готово. Подключение к Wifi в Ubuntu через терминал завершено. На случай, если вы надумаете тестировать это при запущенном NetworkManager, снимите галочку с управления Wifi в апплете, чтобы программа не мешала.
После этого интерфейс будет программно заблокирован, разблокировать его можно командой:
Теперь можете выполнять подключение Wifi в Ubuntu через консоль. Всё будет работать. При следующем подключении вам не нужно создавать файл конфигурации заново, вы можете даже написать небольшой скрипт, чтобы соединение выполнялось автоматически.
Выводы
Надеюсь, что после прочтения этой статьи вы стали лучше понимать, как работает Wifi в Ubuntu, как выполняется установка драйвера и что делать, если Ubuntu не видит Wifi. Настройка Wifi Ubuntu 16.04 — довольно сложная задача, особенные трудности может вызвать поиск прошивок и подбор драйвера. Если у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Linux Ubuntu не видит Wi-Fi адаптер на ноутбуке: оперативное лечение
Привет дорогой друг! Сегодня мы поговорим о достаточно частой проблеме, когда Ubuntu не видит WiFi. Тут в первую очередь нужно примерно представить из-за чего возникает такая ошибка работы системы или WiFi адаптера. Конечно, тут может быть два варианта: или программная поломка, или аппаратный конфликт. Точнее даже не аппаратная, а именно проблема с драйверами.
Давайте для начала просто проверим, что система видит и определяет беспроводной модуль. Для этого зайдите в консоль и пропишите команду:
$ sudo lsusb (Если у вас внешний модуль, подключенный к USB порту)
$ sudo lspci (Если модуль встроенный или подключенный к PCI шине)
Если вы увидите примерную картину, как на «скриншоте» выше – то значит модуль определяется. В противном случае у вас просто не установлены драйвера. Также можно попробовать ввести команды:
$ lshw –C network
После этого вы должны увидеть полное название и модель сетевой карты. Если её нет, то значит, также есть проблемы с установкой модуля и драйвера. Именно поэтому на Linux не работает WiFi адаптер.
Нет модуля
И так наша прошивочка стабильно работает, но вот модуля просто нет. Скорее всего его просто забыли установить или он встал криво. Также бывает, что пользователь мог скачать не тот драйвер. Вписываем:
Теперь, чтобы активировать нужный модуль, нужно прописать команду:
$ sudo modprobe ИМЯ_МОДУЛЯ
Вместо последнего значения нужно ввести именно то имя модуля, которое стоит у вас. После этого модуль должен начать стабильно работать.
Автозагрузка модуля
Если после перезагрузки вай-фай адаптер перестает нормально работать, то скорее всего модуль просто не установлен при загрузке системы. Он есть и включен, но при перезагрузке он не включается. Для этого прописываем:
$ sudo nano /etc/modules
Вы увидите текстовый файл, где загружены все модули при загрузке. Нужно аккуратно и нежно прописать именно ваш модуль в автозагрузку. Как посмотреть название адаптера – вы уже знаете.
DNS
У меня как-то были проблемы именно с подключением некоторых сайтов. Поэтому лучше всего сразу же решить эту проблему и прописать надёжные и правильные DNS адреса от Google.
- Сначала правой кнопочкой «кликаем» по «Network Manager».
- Изменяем соединение.
- Выбираем именно наше беспроводное подключение, а не коннект по кабелю.
- Переходим в IPv4.
- Наши адреса нужно будет изменить только для DHCP.
- Теперь устанавливаем два значения:
- 8.8.8.8
- 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
Последняя надежда
В качестве последнего правильного рывка я бы посоветовал полностью переустановить драйвера на «Убунту». После этого с сетями в «Линукс» проблема должна решиться сама собой. По этому поводу я писал подробную статью, с которой вы можете ознакомиться тут.