Как установить драйвер на WiFi адаптер Ubuntu: от поиска до запуска

Установка операционной системы Linux на компьютер часто сталкивается с классической проблемой «курицы и яйца»: для выхода в интернет нужен работающий WiFi, а для работы WiFi часто нужны драйверы, которые невозможно скачать без интернета. В дистрибутиве Ubuntu ситуация с поддержкой оборудования значительно улучшилась за последние годы, но проприетарные модули от Broadcom, Realtek или MediaTek по-прежнему могут требовать ручной активации. Пользователь может обнаружить, что система загрузилась, но значок беспроводной сети в правом верхнем углу отсутствует или неактивен.

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

Важно понимать, что процесс может потребовать временного проводного подключения или использования смартфона в режиме USB-модема. Без доступа к репозиториям или возможности скачать deb-пакеты на другом устройстве установка некоторых драйверов станет невозможной. Поэтому подготовьте Ethernet-кабель или убедитесь, что ваш Android-смартфон умеет раздавать интернет по USB, прежде чем приступать к активным действиям в терминале.

Идентификация сетевого адаптера и поиск вендора

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

В выводе команды вы увидите строки, содержащие названия производителей, такие как Realtek Semiconductor Co., Broadcom Inc. или Intel Corporation. Рядом будет указан модельный номер чипсета, например, RTL8821CE или BCM43142. Именно эта комбинация букв и цифр является ключом к поиску правильного драйвера. Если вы видите надпись «Network controller» без уточнения модели, попробуйте добавить флаг -nn к команде lspci, чтобы увидеть числовые коды вендора и устройства.

Для более детального анализа можно использовать утилиту lshw, которая покажет статус загрузки драйвера. Введите команду sudo lshw -C network и обратите внимание на строку driver. Если там указано «UNCLAIMED», значит, система видит устройство, но не знает, как с ним работать. Если же поле пустое или устройство не отображается вовсе, возможно, адаптер физически неисправен или отключен в BIOS.

Использование дополнительных драйверов Ubuntu

Самый простой и безопасный способ решить проблему — воспользоваться встроенным механизмом управления драйверами. Ubuntu имеет доступ к базе проприетарных модулей, которые не включены в основной репозиторий по лицензионным соображениям, но доступны для установки пользователем. Для доступа к этому функционалу откройте меню приложений и найдите утилиту «Программы и обновления» (Software & Updates).

Перейдите на вкладку «Дополнительные драйверы» (Additional Drivers). Система проведет сканирование оборудования и предложит доступные варианты. Если ваш адаптер относится к популярным моделям Broadcom или NVIDIA (которая иногда содержит WiFi модули), вы увидите список с радиокнопками выбора. Вам нужно выбрать вариант с пометкой «проприетарный» (proprietary) и нажать «Применить изменения».

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

⚠️ Внимание: Если вкладка «Дополнительные драйверы» пуста, убедитесь, что у вас есть активное подключение к интернету (через кабель или USB-модем), так как утилита не сможет скачать списки доступных пакетов без сети.

📊 Какой тип WiFi адаптера у вас установлен?
Встроенный в материнскую плату (PCI/PCIe)
Внешний USB свисток
PCMCIA карта для ноутбука
Не знаю, нужна диагностика

Установка драйверов через пакетный менеджер APT

Многие современные драйверы для Linux уже портированы и доступны в официальных репозиториях Ubuntu. Для их установки не нужно ничего компилировать вручную. Сначала обновите списки пакетов командой sudo apt update. Затем можно попробовать установить универсальные наборы драйверов. Например, для устройств Broadcom часто используется пакет bcmwl-kernel-source, а для многих чипов Realtek и MediaTek существуют пакеты с префиксом firmware-.

Поиск нужного пакета можно осуществить через команду apt search. Введите часть названия чипсета, например apt search rtl8821, и система выдаст доступные пакеты. Если вы нашли подходящий, установите его командой sudo apt install имя-пакета. После установки модуль должен автоматически загрузиться при следующей перезагрузке или после выполнения команды modprobe.

В таблице ниже приведены распространенные чипсеты и соответствующие им пакеты, которые часто решают проблему:

Чипсет / Вендор Пакет Ubuntu Тип драйвера
Broadcom BCM43xx bcmwl-kernel-source Проприетарный
Realtek RTL8821CE rtl8821ce-dkms DKMS (Open Source)
MediaTek MT7921 firmware-misc-nonfree Прошивки
Intel WiFi 6 firmware-iwlwifi Открытый (в ядре)

Если установка прошла успешно, но WiFi не появился, проверьте статус модуля. Введите lsmod | grep имя_модуля. Если вывод пуст, попробуйте загрузить модуль вручную: sudo modprobe имя_модуля. Ошибки при загрузке обычно указывают на конфликт версий ядра или отсутствие подписи модуля.

☑️ Проверка установки драйвера

Выполнено: 0 / 4

Ручная компиляция через DKMS для новых устройств

Владельцы новых ноутбуков часто сталкиваются с ситуацией, когда в репозиториях Ubuntu еще нет готового пакета для их свежего WiFi адаптера. В этом случае спасает технология DKMS (Dynamic Kernel Module Support). Она позволяет компилировать драйвер из исходного кода специально под вашу текущую версию ядра, и автоматически перекомпилировать его при обновлении системы.

Для начала нужно установить инструменты компиляции и саму систему DKMS. Выполните команду sudo apt install dkms build-essential git. Далее необходимо найти исходный код драйвера. Чаще всего такие проекты размещаются на GitHub. Например, для популярного чипа RTL8821CE можно использовать репозиторий tomaspinho/rtl8821ce. Склонируйте репозиторий командой git clone адрес_репозитория.

Перейдите в папку с загруженным кодом. Там обычно находится скрипт установки с названием install.sh или dkms-install.sh. Запустите его с правами суперпользователя: sudo./install.sh. Скрипт самостоятельно зарегистрирует модуль в DKMS, скомпилирует его и подпишет (если это необходимо). После завершения процедуры обязательно перезагрузите компьютер.

⚠️ Внимание: При компиляции драйверов сторонних разработчиков вы берете ответственность за стабильность системы на себя. Убедитесь, что репозиторий на GitHub имеет высокий рейтинг и свежие коммиты, подтверждающие поддержку вашей версии ядра.

Иногда в процессе компиляции могут возникать ошибки, связанные с отсутствием заголовков ядра. Если скрипт ругается на missing headers, установите пакет linux-headers-$(uname -r). Это критически важный компонент для сборки любых модулей ядра. Без него компиляция невозможна в принципе.

Что делать, если компиляция прервалась с ошибкой?

Внимательно изучите последние строки вывода. Часто ошибка связана с изменением API ядра в новых версиях Ubuntu. Поищите в Issues на GitHub странице проекта слово"error" или номер вашей версии ядра. Возможно, автор уже выпустил патч, который нужно просто скачать заново через git pull.

Отключение Secure Boot в BIOS/UEFI

Одной из самых частых причин, почему установленный драйвер отказывается работать, является функция безопасности Secure Boot. Эта технология, внедренная Microsoft и производителями материнских плат, запрещает загрузку любых драйверов ядра, не имеющих цифровой подписи trusted-ключом. Поскольку драйверы, установленные вручную или через DKMS, часто не подписаны ключом Ubuntu, система блокирует их загрузку.

Чтобы проверить статус Secure Boot, введите в терминале команду mokutil --sb-state. Если вы увидите сообщение «SecureBoot enabled», значит, защита активна. Самый простой способ решить проблему — отключить эту функцию в BIOS. Перезагрузите компьютер, войдите в BIOS/UEFI (обычно клавиши F2, Del или F12 при старте) и найдите раздел Security или Boot.

Найдите пункт Secure Boot и переключите его в положение Disabled. Сохраните настройки и exit. После загрузки системы драйвер должен заработать. Если отключение Secure Boot невозможно по корпоративным правилам или другим причинам, можно зарегистрировать ключ MOK (Machine Owner Key) через утилиту mokutil, но это более сложный процесс, требующий ввода пароля при загрузке.

⚠️ Внимание: Отключение Secure Boot снижает уровень защиты системы от буткитов и руткитов. Делайте это только если вы уверены в безопасности своего физического окружения и источнике устанавливаемых драйверов.

Диагностика и решение проблем с подключением

Даже после успешной установки драйвера могут возникнуть проблемы со стабильностью соединения или отсутствием видимости сетей. Первым делом проверьте, не заблокирован ли радиоинтерфейс программно. Команда rfkill list покажет статус всех беспроводных устройств. Если вы видите «Soft blocked: yes», разблокируйте устройство командой sudo rfkill unblock wifi.

Частой проблемой является конфликт управления энергосбережением. Драйвер может слишком агрессивно отключать адаптер для экономии батареи, что приводит к разрывам связи. Чтобы отключить эту функцию, создайте файл конфигурации. Введите sudo nano /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf и измените значение wifi.powersave на 2 (что означает отключение экономии).

Также стоит проверить логи системы на наличие ошибок, связанных с WiFi. Команда dmesg | grep -i firmware или dmesg | grep -i wlan покажет сообщения ядра в момент попытки загрузки драйвера. Красные строки с текстом «failed» или «error» укажут на конкретную проблему, будь тоствующая прошивка или ошибка синтаксиса в конфигурации.

В некоторых случаях помогает сброс настроек сетевого менеджера. Удалите файлы конфигурации подключений в папке /etc/NetworkManager/system-connections/ (предварительно сделав бэкап) и перезапустите службу командой sudo systemctl restart NetworkManager. Это очистит потенциально конфликтующие настройки старых профилей.

Часто задаваемые вопросы (FAQ)

Почему после установки драйвера WiFi работает, но очень медленно?

Скорость может падать из-за неправильного выбора региона или канала. Убедитесь, что в настройках роутера выставлен регион, совпадающий с вашим, и используется ширина канала 20/40/80 МГц, поддерживаемая адаптером. Также проверьте, не переключился ли адаптер в режим 2.4 ГГц вместо 5 ГГц.

Можно ли установить драйвер без интернета вообще?

Да, но вам понадобится другое устройство с интернетом. Скачайте необходимые deb-пакеты и их зависимости (архивы.deb) на другом компьютере, перекиньте их на USB-флешку и установите в Ubuntu через терминал командой sudo dpkg -i пакет.deb. Будьте внимательны к зависимостям.

Как вернуть всё назад, если драйвер сломал систему?

Если вы использовали DKMS, удалите модуль командой sudo dkms remove имя_модуля/версия. Если ставили через apt, используйте sudo apt remove имя_пакета. Если проблема в Secure Boot, просто включите его обратно в BIOS, и неподписанный драйвер перестанет загружаться.

Работают ли USB WiFi адаптеры с Android через OTG в Ubuntu?

Теоретически да, если ядро поддерживает ваш чипсет и включена поддержка USB OTG. Однако на практике это работает нестабильно из-за нехватки питания порта USB и отсутствия специфических драйверов в мобильном ядре Android, используемом в режиме хоста.