Linux Ubuntu не видит Wi-Fi адаптер на ноутбуке: оперативное лечение

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

Сразу небольшое уточнение, чтобы мы говорили на одном языке. «Не видит Wi-Fi» – это обычно одна из трех ситуаций: 1) в меню вообще нет переключателя Wi-Fi или нет ни одной сети вокруг, 2) сети вокруг есть, но ваша не отображается, 3) сеть видна, но подключение не работает или «интернет не открывается». В первом и втором случае чаще виноваты драйвер, выключенный модуль или блокировка rfkill. В третьем случае Wi-Fi как технология может работать, а проблема уже в DNS, маршрутизации или настройках сети – тогда очень выручает вот эта статья: «Wi-Fi подключен, а интернета нет».

Очень важный момент: в Ubuntu имена интерфейсов почти всегда не «wlan0». Чаще вы увидите что-то вроде «wlp2s0», «wlan1», «wlx001122334455». Поэтому команды ниже, где встречается «wlan0», нужно подставлять под ваш реальный интерфейс.

Первые действия

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

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

Linux Ubuntu не видит Wi-Fi адаптер на ноутбуке: оперативное лечение

Если вы увидите примерную картину, как на «скриншоте» выше – то значит модуль определяется. Но это еще не гарантия, что драйвер реально поднялся – иногда устройство видно, а вот прошивка (firmware) не загрузилась, или модуль заблокирован системой.

Чтобы быстро понять, что реально происходит, я обычно делаю еще три проверки. Они простые, но сразу отсекают половину причин:

$ ip link
$ nmcli dev status
$ rfkill list

ip link покажет, есть ли вообще интерфейс Wi-Fi и как он называется (это важно для всех команд дальше).
nmcli dev status покажет, видит ли NetworkManager ваш Wi-Fi и не находится ли он в состоянии «unavailable».
rfkill list покажет блокировку: если там есть «Soft blocked: yes» или «Hard blocked: yes», то Wi-Fi не появится ни в каких меню.

Если у вас «Hard blocked: yes» – это обычно аппаратная блокировка (клавиша Fn, физический переключатель, режим «в самолете» в BIOS/UEFI). Если «Soft blocked: yes» – лечится командой $ sudo rfkill unblock all и перезапуском NetworkManager.

Еще один частый сценарий – Wi-Fi как бы «есть», но работает плохо: сеть пропадает, скорость скачет, пинг дергается. В этом случае драйвер может быть ни при чем, а виноваты помехи, перегруженный канал, слабый роутер или неудачное место установки. Я не буду повторять это здесь, но для диагностики по-человечески рекомендую: «Почему плохо работает Wi-Fi: причины и лечение».

Также можно попробовать ввести команды:

$ lshw –C network

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

Если в выводе lshw у Wi-Fi устройства написано UNCLAIMED – это почти прямой намек на проблему с драйвером (ядро не «забрало» устройство). Если написано DISABLED – часто виноват rfkill или отключение в настройках питания.

Нет модуля

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

$ sudo lsmod

Linux Ubuntu не видит Wi-Fi адаптер на ноутбуке: оперативное лечение

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

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

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

Но есть нюанс: иногда модуль грузится, а прошивка для него – нет. Тогда Wi-Fi может «не появляться», хотя устройство видно в lspci/lsusb. Проверяется это очень быстро:

$ dmesg | grep -i firmware
$ journalctl -k | grep -i firmware

Если в ответ видите строки про «failed to load firmware» – значит нужно ставить пакет с прошивками или родной драйвер из «Дополнительных драйверов».

На десктопной Ubuntu часто проще всего открыть «Программы и обновления» – вкладка «Дополнительные драйверы» и посмотреть, не предлагается ли фирменный драйвер (особенно это актуально для некоторых Broadcom и Realtek). После установки иногда требуется перезагрузка.

И еще важная штука, про которую забывают – Secure Boot. Если он включен, некоторые сторонние драйверы могут не загрузиться, пока вы не подтвердите установку ключа (MOK) или не отключите Secure Boot в BIOS/UEFI. Симптом похожий: драйвер вроде ставили, а Wi-Fi так и не появился.

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

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

$ sudo nano /etc/modules

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

Дополню: в современных Ubuntu иногда удобнее и правильнее создать отдельный файл автозагрузки модулей, чтобы не трогать общий список. Например:

$ echo “ИМЯ_МОДУЛЯ” | sudo tee /etc/modules-load.d/wifi.conf

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

DNS

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

Но перед этим уточню важное: DNS не влияет на то, видит ли Ubuntu Wi-Fi сети вокруг. DNS влияет уже после подключения, когда сеть есть, но сайты не открываются, или браузер пишет ошибки вроде «не удается найти адрес». Если вы как раз видите такую ошибку, то можно глянуть отдельное решение: ERR_NAME_NOT_RESOLVED.

Дальше – самый понятный вариант через графический интерфейс NetworkManager:

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

После сохранения перезапустите соединение (выключить и включить Wi-Fi) или перезагрузите комп или ноут.

Если хотите поставить DNS не только на Ubuntu, а вообще на разных устройствах и системах, я оставляю полезную универсальную инструкцию: как настроить DNS.

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

Иногда это происходит по ошибке или из-за программного конфликта. Сначала я бы проверил, что NetworkManager вообще запущен:

$ systemctl status NetworkManager
$ sudo systemctl enable –now NetworkManager

Если менеджера реально нет, то установка возможна при прямом подключении по кабелю или через USB-модем/раздачу с телефона (USB-tethering). И уже после появления интернета можно ставить пакеты:

$ 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

Этот вариант актуален только если у вас реально используется ifupdown и файл /etc/network/interfaces участвует в настройке сети. На десктопной Ubuntu чаще всем управляет NetworkManager, и тогда править этот файл не нужно. Плюс учтите, что имя интерфейса может быть не «wlan0», а «wlp2s0» или другое – смотрите через ip link. И еще: хранить пароль в открытом виде не очень безопасно, особенно на рабочем компьютере.

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

$ sudo ifdown wlan0 && sudo ifup -v wlan0

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

В качестве последнего правильного рывка я бы посоветовал полностью переустановить драйвера на «Убунту». Но перед этим я бы сделал еще одну проверку: обновление ядра иногда чинит драйвера, а иногда (наоборот) ломает. Поэтому если проблема появилась «вчера и внезапно», вспомните – не было ли обновлений. Бывает, что спасает простой откат на предыдущую версию ядра через меню GRUB, чтобы убедиться, что дело именно в драйвере.

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

FAQ для новичков

Почему Ubuntu не видит Wi-Fi, а Windows видит?

Чаще всего Windows уже имеет «родной» драйвер от производителя, а Ubuntu пытается работать на открытом драйвере или без нужной прошивки. Поэтому первым делом проверяйте rfkill, затем смотрите dmesg на ошибки прошивки, и только потом уже думайте про переустановку драйверов. Еще одна частая причина – включен Secure Boot, и модуль драйвера просто не загружается.

Wi-Fi сеть видна, но не подключается – что делать?

Это обычно уже не «не видит Wi-Fi», а проблема авторизации или параметров точки доступа. Проверьте, поддерживает ли ваш адаптер нужный диапазон (2,4 ГГц или 5 ГГц), и не включен ли на роутере режим WPA3-only (некоторые старые адаптеры его не любят). Еще помогает «забыть сеть» и подключиться заново, а также временно проверить подключение к другой сети (например, раздача с телефона), чтобы понять – проблема в роутере или в Ubuntu.

Есть Wi-Fi, но сайты не открываются – это драйвер?

Не всегда. Часто это DNS или маршруты. Попробуйте открыть любой сайт по IP (например, 1.1.1.1) и параллельно пропинговать домен (ping google.com). Если IP открывается, а домены нет – почти точно DNS, и вам поможет раздел выше, а также статья «Wi-Fi подключен, а интернета нет».

Видео

Автор статьи
Бородач 2842 статей
Сенсей по решению проблем с WiFiем. Обладатель оленьего свитера, колчана витой пары и харизматичной бороды. Любитель душевных посиделок за танками.
WiFiGid
Комментарии: 13
  1. Аноним

    Спасибо тебе друг, все теперь рабоатет и видно. Конечно геморрой с этими модулями в убунту, но в целом неплохо

  2. Аноним

    Сначала думал, почему команда не работает – просто не так вводил. Спасибо за статью

  3. Павел

    Хм, ничего не получается, ладно завтра с трезвой головой попробую снова :cool:

  4. Никита

    “Теперь, чтобы активировать нужный модуль, нужно прописать команду” Я извиняюсь, но как новичок может понять, какой модуль нужный? В списке ничего, что хотя бы отдалённо намекала на взаимосвязь в wi-fi.

    1. Ботан

      Новичок и Ubuntu? Тут некоторых админов на нее не заставишь перейти :idea:
      А какие есть?

  5. Дмитрий

    Как узнать точное имя модуля для ввода в командную строку.

  6. Иван

    Network есть в системе видно PCI wlan Intel 2725, но нет в настройках WiFi что делать то? В статье вы остановились на том что нет модуля, а если он есть?

    1. Бородач (автор)

      Вы каким образом драйвера устанавливали?

  7. Анастасия

    Спасибо!! Благодаря статье, все починила, ура! :smile:

  8. Аноним

    У меня проблема была в том, что драйвера Wi-Fi проприетарные и требуют secure boot, и все это на ноутбуке без матрицы, где не зайдешь в bios, так как внешний монитор не срабатывает до загрузки ОС. Удалось вслепую ключ ввести и все заработало :cool: Если у кого-то похожая проблема, то зайдите в «Обновление ПО – Дополнительные драйверы», если там уже есть драйвер (по идее устанавливается автоматически), то отключите его, перезагрузитесь, и снова включите – тогда Ubuntu скажет вам, что делать дальше.

    1. Степан

      Спасибо, друг, у меня заработало! Я обновлялся с убунту 20 на убунту 22 и вайфай модуль перестал работать, хотя я ничего не удалял и не отключал. Короче твой способ рабочий, благодарю!

  9. Аноним

    Простите, я не могу найти название. Не подскажите?

    1. Бородач (автор)

      Какое название?

Добавить комментарий
После отправки комментарий может не отображаться - это нормально. Сразу же после модерации он будет опубликован. Если Вы хотите быстро узнать о получении ответа, рекомендуем оставить свой e-mail (это необязательно). E-mail используется исключительно для Вашего оповещения, мы не занимаемся спамом.

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.