Одной из серьезных проблем, с которой пользователи Linux сталкиваются, является Wi-Fi. Драйверы Wi-Fi часто не включены в ядро, и в результате возникает множество проблем с правильной работой модулей Wi-Fi сторонних производителей под Linux. Здесь мы расскажем, что происходит, когда Wi-Fi не работает в Linux, и как это исправить.
Совет : узнайте, как достичь найти сохраненные пароли Wi-Fi в Linux .
Contents
Аппаратные и программные проблемы с Wi-Fi
Проблема с подключением к Wi-Fi может быть аппаратной или программной. Проблемы с оборудованием относительно легко диагностировать — все, что вам нужно сделать, это открыть терминал и ввести следующую команду:
ping localhost
Это простой способ проверить, работает ли ваше физическое оборудование. localhost
работает как адрес для проверки схемы вашего сетевого адаптера. Если это не работает, возможно, вам придется поработать с оборудованием самостоятельно или кем-то еще.
Если пинг чистый или вы даже не видите свою карту Wi-Fi, скорее всего, у вас проблема с программным обеспечением.
Кроме того, вы также можете проверить, обнаруживает ли ваша система активный сетевой интерфейс, запустив ip addr
. Большинство дистрибутивов помечают активные в данный момент беспроводные карты буквой «wl», за которой следуют номера шин и слотов устройства на материнской плате компьютера.
Например, метка «wlp0s1» означает, что это интерфейс беспроводной сети на шине 0, слот 1.
Примечание. Если вы не можете пользоваться Интернетом, вам может быть необходимо отключить IPv6 на вашем компьютере с Linux .
Установить драйверы из Ubuntu ISO
Если ваш дистрибутив вообще не обнаруживает вашу сеть Wi-Fi или вы получаете ошибки, вы можете попробовать установить или переустановить драйверы Wi-Fi из ISO-файла Ubuntu. Во-первых, вам нужно скачайте ISO-образ Ubuntu , соответствующее вашей версии Ubuntu. (Предположительно, вам нужно загрузить его на другое устройство или загрузить через Ethernet-соединение в Ubuntu.)
Откройте терминал, затем введите следующую последовательность команд, чтобы смонтировать ISO-образ Ubuntu на виртуальный диск:
sudo mkdir /media/cdrom sudo mount -o loop ~/Downloads/ubuntu-*.iso /media/cdrom
Перейдите в раздел «Обновление программного обеспечения» на панели управления, затем нажмите кнопку Настройки в левом нижнем углу окна.
Перейдите на вкладку Дополнительные драйверы, затем выберите параметр Адаптер беспроводной сети и нажмите Применить изменения.
Проблема первая: устройство не обнаружено
Если беспроводное устройство не обнаруживается Ubuntu (или любым другим дистрибутивом), откройте сеанс терминала и введите следующую команду:
sudo lsusb
Эта команда распечатает все USB-устройства, подключенные в данный момент к вашему компьютеру. Найдите любую строку, содержащую «Беспроводной адаптер» или «RTL».
sudo lsusb | grep "RTL"
Помимо перечисления всех USB-адаптеров, вы также можете проверить свою систему на наличие любых беспроводных устройств PCI. Для этого выполните следующую команду:
sudo lspci
Как и в случае с командой lsusb
, найдите в выводе lspci любые строки, содержащие метку «Сетевой контроллер» или «Контроллер Ethernet».
Определите точный модуль драйвера, который в настоящее время использует ваше беспроводное устройство, выполнив следующую команду:
sudo lshw -C network | grep "driver"
Выделите значение переменной «driver» и скопируйте его в буфер обмена.
Проблема вторая: отсутствует модуль драйвера
После успешных команд lsusb
и lspci
, подтверждающих, что ваш дистрибутив Linux видит беспроводную карту, вы можете предположить, что прошивка работает, просто Система понятия не имеет, что делать с устройством. Вот здесь и нужны драйверы или модули.
Введите следующую команду и замените «имя модуля» содержимым буфера обмена:
sudo modprobe modulename
Например, если ваш драйвер беспроводной сети — «iwlwifi», он будет выглядеть следующим образом:
sudo modprobe iwlwifi
После этого запустите sudo lsmod | grep "modulename"
, чтобы проверить, правильно ли ядро Linux загрузило ваше устройство Wi-Fi.
Автоматически загружать модуль драйвера при загрузке
Это редкий случай, но иногда модуль не сохраняется после загрузки. В этом случае вы можете заставить его загружаться постоянно. Введите в терминал команду ниже:
sudo nano /etc/modules
Добавьте имя вашего модуля внизу и сохраните файл.
Перезагрузите компьютер, чтобы проверить, правильно ли ядро Linux загрузило беспроводное устройство.
Полезно знать: узнайте, как ваш компьютер управляет своим оборудованием к установка собственного ядра Linux в Ubuntu уже сегодня.
Проблема третья: DNS
Проблемы с DNS возникают редко; однако стоит проверить, остались ли у вас проблемы с подключением. В терминале введите следующую команду, чтобы проверить DNS-преобразователь системы по умолчанию:
nmcli device show INTERFACE-NAME | grep IP4.DNS
По умолчанию здесь будет установлен IP-адрес вашего маршрутизатора. Если это не сработает, возможно, вам придется изменить «wlp0s1» на то, что использует ваша беспроводная сеть. Для получения обозначения также можно использовать следующую команду:
ip addr | grep ": "
После получения этой информации отправьте запрос на адрес DNS-преобразователя. Если это работает, вы также можете отправить пинг во внешнюю сеть, например DNS-резольверы Google:
ping 8.8.8.8
Если все устройства в вашей сети выдают ошибки загрузки страниц, измените преобразователи DNS на вашем маршрутизаторе на серверы Google или OpenNIC. Вам придется проконсультироваться у производителя вашего маршрутизатора, как это сделать, но обычно это делается путем доступа к консоли администратора устройства. Его можно найти на большинстве маршрутизаторов, перейдя по адресу «192.168.0.1» или «192.168.254.254» в веб-браузере.
Добавление собственного DNS-сервера в NetworkManager
Тем не менее, вы также можете изменить преобразователь DNS для каждого устройства. Чтобы сделать это в Ubuntu, нажмите кнопку Меню управления в правом верхнем углу рабочего стола, затем выберите Значок шестеренки.
Нажмите категорию Wi-Fi, затем найдите категорию Видимые сети.
Выберите значок шестеренки в строке, содержащей имя вашей точки беспроводного доступа.
Нажмите вкладку IPv4 на верхней панели меньшего окна.
Перейдите в раздел DNS, затем выключите параметр Автоматический.
Введите «8.8.8.8,8.8.4.4» в текстовом поле DNS, затем нажмите Применить, чтобы сохранить настройки.
Откройте новый терминал, затем выполните следующую команду, чтобы удалить все предыдущие данные преобразователя DNS:
resolvectl flush-caches
Проверьте, использует ли ваша система новые настройки преобразователя DNS, выполнив следующую команду:
resolvectl status | grep "Current DNS Server"
Проверьте, решили ли текущие настройки DNS проблему с вашей сетью, загрузив веб-страницу в веб-браузере.
Полезно знать: узнайте больше о серверах имен и преобразователях DNS от использование копания в Linux .
Проблема четвертая: нет сетевого менеджера
Предположим, вы удалили Network Manager или удалили его случайно. Это действительно неприятная ситуация: у вас нет Интернета и сетевого менеджера, но кое-что можно сделать.
Предполагая, что пакет все еще находится в вашем кеше, вы можете подойти к терминалу и ввести:
# Debian/Ubuntu sudo apt install network-manager # Fedora sudo dnf install NetworkManager # Arch Linux sudo pacman -Syu networkmanager
Если это не сработает, вы можете заставить свою систему подключиться к беспроводной точке доступа с помощью wpa_supplicant. Это инструмент командной строки, который использует драйвер вашего беспроводного устройства для подключения к точке доступа без использования Network Manager.
Для начала создайте файл конфигурации для wpa_supplicant с помощью вашего любимого текстового редактора:
sudo nano /etc/wpa_supplicant.conf
Вставьте следующий блок кода в файл конфигурации, затем замените «SSID» и «PASSWORD» именем точки доступа и паролем вашего маршрутизатора:
network={ ssid="SSID" password="PASSWORD" }
<
Сохраните файл конфигурации, затем вставьте следующую строку кода в сеанс терминала:
sudo wpa_supplicant -B -i INTERFACE-NAME -c /etc/wpa_supplicant.conf -D nl80211
Замените значение флага «-i» на имя вашего беспроводного интерфейса.
Примечание. эта команда будет работать только на новых беспроводных картах. Если вы пытаетесь подключить старую карту Wi-Fi, замените значение флага «-D» на «wext».
Запросите новый IP-адрес у маршрутизатора, перезагрузив демон DHCP:
sudo dhclient INTERFACE-NAME
Проверьте, работает ли ваше Wi-Fi-соединение, выполнив проверку связи с внешним сайтом:
ping -c 5 maketecheasier.com
Переустановите Network Manager, чтобы восстановить полную мощность Wi-Fi вашей системы Linux:
sudo apt install network-manager
Перезагрузите компьютер, чтобы загрузить новую установку Network Manager.
Понимание того, как работают модули Wi-Fi и драйверы ядра, — это лишь первый шаг в изучении того, как работает Linux под капотом. Узнайте больше о технической стороне этой операционной системы от создание скрытой файловой системы с помощью Shufflecake .
Изображение предоставлено: Сказочная улица через Unsplash и Викисклад . Все изменения и скриншоты Рамсеса Реда.