Памятка по Wi-Fi в Linux: подсказки и решение проблем

  Kali tools

Памятка по Wi-Fi в Linux: подсказки и решение проблем

Оглавление

1. Проблемы и ошибки Wi-Fi в Linux

2. Рецепты популярных действий с Wi-Fi в Linux

Как задать вопрос о проблеме с Wi-Fi адаптером

3. Частые ошибки Wi-Fi в Linux

4. Вопросы и ответы по Wi-Fi в Linux

5. Драйверы


Проблемы и ошибки Wi-Fi в Linux

Эта статья представляет собой сборник проблем Wi-Fi, с которыми вы можете столкнуться в Linux. Охвачены вопросы как тестирования безопасности беспроводных сетей, так и подключения к Wi-Fi.

Если вы не нашли решения для своей проблемы с Wi-Fi, то спрашивайте в комментариях. Данная статья буде пополняться описанием новых проблем Wi-Fi и их решениями.

Рецепты популярных действий с Wi-Fi в Linux

Как узнать имя беспроводного интерфейса

1
iw dev

Имя интерфейса в строке «Interface»:

Памятка по Wi-Fi в Linux: подсказки и решение проблем

Если вы получили ошибку:

1
bash: iw: команда не найдена

То выполните данную команду с sudo:

1
sudo iw dev

Как остановить программы, которые мешают аудиту безопасности Wi-Fi

Настоятельно рекомендуется перед переводом Wi-Fi интерфейса в режим монитора выполнить следующие две команды:

1
2
sudo systemctl stop NetworkManager
sudo airmon-ng check kill

Если у вас странные ошибки при использовании режима монитора, то обязательно выполните эти команды.

После отключения NetworkManager пропадёт интернет, чтобы его вернуть, переведите беспроводной интерфейс в управляемый режим и выполните команду для запуска NetworkManager:

1
sudo systemctl start NetworkManager

Примечание: Смотрите также следующий раздел «Как вывести определённый сетевой интерфейс из-под управления NetworkManager не выключая NetworkManager».

Как вывести определённый сетевой интерфейс из-под управления NetworkManager не выключая NetworkManager

Необязательно полностью отключать NetworkManager, можно сделать так, что NetworkManager не будет управлять определённым сетевым интерфейсом.

Чтобы на время сделать интерфейс unmanaged (без управления), выполните команду вида:

1
nmcli dev set ИНТЕРФЕЙС managed no

Чтобы NetworkManager не трогал сетевой интерфейс сразу после запуска службы и чтобы эта настройка сохранилась после перезагрузки, нужно использовать метод keyfile. Для этого откройте файл /etc/NetworkManager/NetworkManager.conf:

1
sudo gedit /etc/NetworkManager/NetworkManager.conf

И добавьте туда строки вида:

1
2
[keyfile]
unmanaged-devices=mac:00:11:22:33:44:55;mac:66:77:88:99:00:aa

Либо используя следующий синтаксис можно указать имена сетевых интерфейсов:

1
2
[keyfile]
unmanaged-devices=interface-name:eth*,except:interface-name:eth0;interface-name:wlan*

Сохраните сделанные изменения и перезапустите службу:

1
sudo systemctl restart NetworkManager

Проверим:

1
nmcli dev status

Подробности смотрите в статье «Как запретить NetworkManager управлять определённым интерфейсом»

Как перевести карту в режим монитора перед началом аудита безопасности Wi-Fi в Linux

1
2
3
sudo ip link set <ИНТЕРФЕЙС> down
sudo iw <ИНТЕРФЕЙС> set monitor control
sudo ip link set <ИНТЕРФЕЙС> up

Как вернуть адаптер в управляемый режим

1
2
3
sudo ip link set <ИНТЕРФЕЙС> down
sudo iw <ИНТЕРФЕЙС> set type managed
sudo ip link set <ИНТЕРФЕЙС> up

Как поменять канал Wi-Fi адаптера

Устанавливать каналы можно только когда адаптер находится в режиме монитора:

1
sudo iw dev <ИНТЕРФЕЙС> set channel <НОМЕР>

Как проверить, поддерживает Wi-Fi адаптер беспроводные инъекции

1
sudo aireplay-ng -9 <ИНТЕРФЕЙС>

Памятка по Wi-Fi в Linux: подсказки и решение проблем

Как узнать, какие частоты поддерживает адаптер и другие характеристики

1
iw list

Как поменять регион для увеличения мощности

Чтобы проверить текущее значение:

1
sudo iw reg get

Чтобы установить новый регион:

1
sudo iw reg set BZ

Чтобы увеличить мощность:

1
2
3
4
sudo ip link set <ИНТЕРФЕЙС> down
sudo iw dev <ИНТЕРФЕЙС> set txpower fixed 30mBm
# sudo iw <ИНТЕРФЕЙС> set monitor control # если нужно, переводим в режим монитора
sudo ip link set <ИНТЕРФЕЙС> up

Нюансы смотрите в статье «Как увеличить мощность (TX Power) Wi-Fi карты».

Как сканировать ТД в командной строке

Для таких сканирований не нужен режим монитора.

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

1
sudo iw dev <ИНТЕРФЕЙС> scan

Чтобы сканировать и вывести только названия ТД:

1
sudo iw dev <ИНТЕРФЕЙС> scan | grep SSID

Как получить данные беспроводного интерфейса на канальном уровне

Чтобы вывести информацию на уровне передачи данных от устройства к устройству (он называется канальный (data link)):

1
iw dev <ИНТЕРФЕЙС> link

Как подключиться к Точке Доступа Wi-Fi в командной строке

Нам нужно сформировать конфигурационный файл. Делается это командой:

1
wpa_passphrase название_ТД пароль > конфигурационный_файл

Подключаемся к точке доступа:

1
wpa_supplicant -B -i <ИНТЕРФЕЙС> -c конфигурационный_файл

Для получения автоматических настроек по протоколу DHCP (присвоенный IP адрес, IP адрес шлюза и IP адреса DNS серверов) выполните команду:

1
dhclient <ИНТЕРФЕЙС>

Как подключиться к Точке Доступа Wi-Fi в командной строке зная WPS пин

Подробную инструкцию смотрите в статье Решение проблемы: Reaver показывает WPS пин, но не показывает пароль WPA-PSK.

Как увидеть все ТД

1
sudo airodump-ng ИНТЕРФЕЙС --manufacturer --uptime --wps

Автоматизированный захват рукопожатий:

Как выполнить поиск ТД на 5 GHz

1
sudo airodump-ng --channel 36-165 ИНТЕРФЕЙС

Конвертация в хеш Hashcat (.hccapx)

Для конвертации в хеш формата HCCAPX для взлома пароля (Hashcat v3.6+) с помощью cap2hccapx (пакет hashcat-utils):

1
cap2hccapx РУКОПОЖАТИЕ.pcap ХЕШ.hccapx

Для конвертации в хеш формата HCCAPX для взлома пароля (Hashcat v3.6+) с помощью aircrack-ng:

1
aircrack-ng -j ХЕШ ХЕНДШЕЙК.pcap

Запуск брут-форса (взлома) пароля Wi-Fi сети в Hashcat

  • Атака по словарю:
1
hashcat --force --hwmon-temp-abort=100 -D 1,2 -a 0 -m 2500 ХЕШ.hccapx СЛОВАРЬ.txt
  • Атака по маске (брут-форс, полный перебор):
1
hashcat --force --hwmon-temp-abort=100 -D 1,2 -a 3 -m 2500 ХЕШ.hccapx ?d?d?d?d?d?d?d?d

В примере выше маска — пароли из цифр длиной 8 символов.

Встроенные наборы символов:

1
2
3
4
5
6
7
l | abcdefghijklmnopqrstuvwxyz
u | ABCDEFGHIJKLMNOPQRSTUVWXYZ
d | 0123456789
h | 0123456789abcdef
H | 0123456789ABCDEF
s |  !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
a | ?l?u?d?s

Смотрите также:

Конвертация в хеш John the Ripper

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

1
wpapcap2john wpa.cap > wi-fi.hash

Можно сохранить рукопожатие для определённой точки доступа, её нужно указать с опцией -m, указывать нужно не название, а BSSID — проще говоря, MAC адрес.

Чтобы сохранить рукопожатие только для определённой ТД, выполните команду вида:

1
wpapcap2john -m 'MAC-АДРЕС' wpa.cap > wi-fi.hash

Запуск брут-форса (взлома) пароля Wi-Fi сети в John the Ripper

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

1
john --format=wpapsk --wordlist=/ПУТЬ/ДО/СЛОВАРЯ --fork=ЯДРА /ПУТЬ/ДО/wi-fi.hash

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

1
john --format=wpapsk-opencl --wordlist=/ПУТЬ/ДО/СЛОВАРЯ /ПУТЬ/ДО/wi-fi.hash

Чтобы перебрать все пароли, состоящие только из цифр и длиной от 8 до 10 символов и выполнять вычисления на ЦП, запустите команду вида:

1
john --format=wpapsk --fork=ЯДРА --mask='?d' --min-length=8 --max-length=10 /ПУТЬ/ДО/wi-fi.hash

Чтобы перебрать все пароли, состоящие только из цифр и длиной от 8 до 10 символов и выполнять вычисления на видеокарте, выполните команду вида:

1
john --format=wpapsk-opencl --mask='?d' --min-length=8 --max-length=10 '/ПУТЬ/ДО/wi-fi.hash'

Чтобы перебрать все пароли, состоящие из цифр, а также большим и маленьких букв, длиной 8 символов и выполнять вычисления на ЦП, запустите команду вида:

1
john --format=wpapsk --fork=ЯДРА -1=?l?u?d --mask='?1' --min-length=8 --max-length=8 /ПУТЬ/ДО/wi-fi.hash

Чтобы перебрать все пароли, состоящие из цифр, а также большим и маленьких букв, длиной 8 символов и выполнять вычисления на видеокарте, выполните команду вида:

1
john --format=wpapsk-opencl -1=?l?u?d --mask='?1' --min-length=8 --max-length=8 /ПУТЬ/ДО/wi-fi.hash

Как задать вопрос о проблеме с Wi-Fi адаптером

Для начала укажите название Wi-Fi адаптера. Если вы его покупали с АлиЭкспресс, то обязательно укажите это тоже!!!

Укажите суть вашей проблемы, примеры:

  • не умею подключаться к Wi-Fi в Linux
  • не получается перевести в режим монитора
  • не получается захватить рукопожатие и т.д.

Напишите, какие команды вводите и какой результат получаете. Чем подробнее информация, тем больше шансов на помощь.

Если вы просто пишите, что «у меня не работает режим монитора/захват рукопожатий/деаутентификация/беспроводная инъекция/что-то своё/…» и не даёте никакой дальнейшей информации, то никто не знает, оно у вас действительно не работает или вы неправильно это делаете. На заданный понятно и полно вопрос мы обязательно постараемся ответить. Ввязываться в беседы, где надо вытягивать информацию по частям чтобы вам же и помочь, не очень интересно.

Также покажите вывод следующих команд:

1
2
3
4
5
# Для USB Wi-Fi адаптера
lsusb
# Для PCI Wi-Fi адаптера
lspci

Для любых адаптеров:

1
2
3
4
sudo iw dev
sudo airmon-ng
rfkill
uname -a

Вы можете самостоятельно попробовать решить проблему запустив одну из следующих команд и пытаясь проделать необходимые вам действия:

1
2
3
iw event
ip monitor
journalctl -f

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

Частые ошибки Wi-Fi в Linux

Ошибка «Operation not permitted (-1)»

Пример:

1
command failed: Operation not permitted (-1)

Означает, что недостаточно прав, запустите команду iw с sudo.

Device or resource busy (-16)

Пример:

1
command failed: Device or resource busy (-16)

Данная ошибка возникает, например, если вы пытаетесь перевести Wi-Fi адаптер на определённый канал, но он не в режиме монитора и/или не в состоянии up. Начните с перевода карты в режим монитора, переведите беспроводную карту в состояние up, а затем установите желаемый канал. Например:

1
2
3
4
5
6
sudo ip link set wlp0s20f0u2 down
sudo iw wlp0s20f0u2 set monitor control
sudo ip link set wlp0s20f0u2 up
sudo iw dev wlp0s20f0u2 set channel 64
# ИЛИ можно указать частоту:
sudo iw wlp0s20f0u2 set freq 5320

Не удаётся запустить режим AP в диапазоне 5 ГГц

По-видимому, со специальным кодом страны 00 (глобальный) для всех используемых частот в диапазоне 5 ГГц будет установлен флаг no-ir (no-initiating-radiation), который не позволит hostapd использовать их. Вам нужно будет установить crda и указать код страны, чтобы разрешённые в вашей стране частоты были доступны для hostapd.

Режим точки доступа Wi-Fi 5 ГГц: что означает «no-ir»?

cfg80211 имеет функцию под названием beacon hinting, чтобы помочь cfg80211 разрешить карте снимать флаги пассивного сканирования и запрета маяков. Флаги пассивного сканирования используются на каналах, чтобы гарантировать, что интерфейс не будет выдавать пробный запрос. Флаг no-ir существует, чтобы позволить определениям регулирующих доменов запрещать устройству инициировать излучение любого рода, включая использование маяков, поэтому, например, интерфейсы AP/IBSS/Mesh/GO не смогут инициировать связь по этим каналам, если только канал не имеет этого флага. Если на канале присутствует какой-либо из этих флагов, устройству запрещается инициировать обмен данными на cfg80211.

Старые флаги нормативных правил, такие как passive-scan (пассивное сканирование) и no-beaconing (отсутствие маяков), изначально были изобретены, чтобы помочь с мировым роумингом, теперь эти два флага объединены в один no-ir, для no-initiating-radiation (отсутствия инициирующего излучения). Если вы не знаете, в какой стране находитесь, вы все равно можете вести себя как интерфейс 802.11 STA, но можете дождаться включения активного сканирования, пока не увидите маяк от точки доступа, если используемый канал не является каналом DFS и не каналами 12- 14 в диапазоне 2,4 ГГц. То же самое можно сказать и об инициировании связи, поэтому как старое пассивное сканирование, так и отсутствие маячков теперь объединены в современных ядрах, поскольку один флаг no-ir может быть снят, если обнаружена точка доступа, передающая маяк на канале, отличном от DFS и канал также не является каналами 12-14 в диапазоне 2,4 ГГц. cfg80211 использует эту часть логики для снятия обоих этих флагов тогда и только тогда, когда wiphy-устройство находится в мировом роуминге.

Источник: https://wireless.wiki.kernel.org/en/developers/regulatory/processing_rules#post_processing_mechanisms

Не виден Wi-Fi интерфейс в системе

  • Убедитесь, что Wi-Fi адаптер подключён.
  • Если вы используете Linux в виртуальной машине, то смотрите «Почему виртуальная машина не видит USB устройство». В виртуальной машине возможно использовать только USB адаптеры.
  • Проверьте, видит ли система устройства:
1
2
3
4
5
# Для USB
lsusb
# Для PCI
lspci

Беспроводной интерфейс виден, но его невозможно использовать

Проверьте, не заблокированы ли беспроводные интерфейсы:

1
rfkill

Памятка по Wi-Fi в Linux: подсказки и решение проблем

Если они заблокированы, то включите их командой:

1
rfkill unblock all

Устройство иногда исчезает или странно отображается в системе

Если драйвер устройства отображается неправильно (например, как ??????), а также неправильно отображается информация о чипсете, примерно как на данном скриншоте:

Памятка по Wi-Fi в Linux: подсказки и решение проблем

То

  • попробуйте другой шнур и другое USB гнездо
  • не используйте USB хабы
  • отключите устройство из гнезда и подключите вновь

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

Не удаётся подключиться к Точке Доступа

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

Если подключение удастся, значит какая-то проблема в несовместимости Wi-Fi протоколов. Попробуйте не использовать или наоборот принудительно использовать некоторые стандарты (N, AC). Попробуйте принудительно выбрать другой канал или установить автоматический выбор каналов. Ещё раз внимательно проверьте пароли.

Удалось подключиться к ТД, но Интернета нет

С помощью команды вы сможете посмотреть, действительно ли выполнено подключение (ищите строку, которая начинается на «ssid»):

1
iw dev

Проверьте, присвоен ли интерфейсу IP адрес:

1
ip a

Определите IP адрес роутера:

1
ip route show default

И выполните пинг роутера, например, адрес моего роутера 192.168.0.1, тогда команда:

1
ping 192.168.0.1

Если роутер не пингуется, значит проблема в подключении до него — например, слишком слабый сигнал до ТД или не настроен IP адрес (служба DHCP не запущена).

Если есть подключение к роутеру, то попробуйте выполнить пинг публичного IP:

1
ping 8.8.8.8

Если пинг не удался (но сам роутер пингуется), значит проблема с подключением роутера к внешней (WAN) сети. Заходите в настройки роутера и разбирайтесь там.

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

1
traceroute 8.8.8.8

Если пинг роутера удался, то попробуйте пинг хоста по имени хоста:

1
ping google.com

Если пинг по имени хоста не удался, значит проблелма в настройке DNS сервера. Эти настройки могут быть как на уровне системы (например, неправильные настройки в NetworkManager), так и в роутере.

Чтобы увидеть, какой DNS сервер используется, выполните команду:

1
dig ya.ru

Найдите строку, которая начинается на «;; SERVER» — в этой строке будет адрес сервера имён.

1
;; SERVER: 8.8.8.8#53(8.8.8.8)

Не получается перевести в режим монитора Wi-Fi адаптер в Windows Subsystem for Linux (WSL) / Cygwin / Docker

В Windows Subsystem for Linux (WSL), а также в Cygwin и Docker нет прямого доступа к железу. У вас не получится использовать Wi-Fi адаптер (а также видео карту и прочее) в данных программных продуктах.

Если вы пользователь Windows, то для вас оптимальный вариант: установить Kali Linux или Arch Linux (BlackArch) в VirtualBox и подключить к этой виртуальной машине USB Wi-Fi адаптер.

Если у вас только PCI (встроенный) Wi-Fi адаптер, то установите Linux на внешний USB диск или на флешку и загрузитесь с него.

В Ubuntu ошибки и предложение отправить отчёты при переводе беспроводной карты в режим монитора

Выберите любой другой дистрибутив — Kali Linux, Debian, Arch Linux, BlackArch или даже Linux Mint — там всё работает нормально.

Вопросы и ответы по Wi-Fi в Linux

Почему меняется MAC адрес, даже если не используется программа для этого

Многие современные дистрибутивы настроены постоянно менять MAC адрес. Подробности об этом, а также как отключить или наоборот включить эту функцию смотрите в статье «Как поменять MAC-адрес в Linux, как включить и отключить автоматическую смену (спуфинг) MAC в Linux».

Как узнать, будет ли поддерживаться Wi-Fi карта для аудита Wi-Fi сетей

Самый простой вариант, это выбрать адаптер из данного списка: «USB Wi-Fi адаптеры с поддержкой режима монитора и беспроводных инъекций».

Если вы хотите определить, поддерживает режим монитора и беспроводные инъекции другой адаптер, не включённый в список, то изучите «Как определить, какой Wi-Fi адаптер подойдёт для Kali Linux».

Современные Wi-Fi карты для беспроводного аудита

Двухдиапазонные беспроводные адаптеры с поддержкой режима монитора и беспроводными инъекциями, а также с поддержкой стандарта AC:

Любой из этих адаптеров будет актуален ещё много лет.

Как увидеть, что происходит с беспроводными интерфейсами

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

Вы можете использовать вывод следующих команд для решения любых проблем с Wi-Fi.

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

1
journalctl -f

Памятка по Wi-Fi в Linux: подсказки и решение проблем

Вывод программы весьма обширен, но его изучение может подсказать причины проблемы. Смотрите также «Как использовать journalctl для просмотра системных логов Linux».

Следующая команда расскажет о всё, что происходит на уровне межсетевого протокола — как IP адреса присваиваются интерфейсам и какие маршруты прописываются в системе:

1
ip monitor

Смотрите также «Как использовать команду ip в Linux».

А эта команда покажет все события, связанные с беспроводными сетевыми интерфейсами:

1
iw event

Эти три команды — важнейший источник информации для разрешения неочевидных проблем. Изучайте их вывод или предоставьте вывод этих команд если вы пытаетесь совместно разрешить вашу проблему с Wi-Fi.

Как увидеть события, происходящие в NetworkManager и wpa_supplicant

Чтобы увидеть, что происходит в NetworkManager в реальном времени:

1
sudo journalctl -f _COMM=NetworkManager

Чтобы увидеть события из wpa_supplicant:

1
sudo journalctl -f _COMM=wpa_supplicant

Как узнать, сколько трафика было передано

1
ip -s -h a show <ИНТЕРФЕЙС>

Памятка по Wi-Fi в Linux: подсказки и решение проблем

Почему в Wi-Fi на 5 ГГц недоступны каналы между 64 и 100

С помощью команды

1
iw list

можно посмотреть, какие частоты поддерживает ваша Wi-Fi карта.

Пример вывода:

Памятка по Wi-Fi в Linux: подсказки и решение проблем

Ещё один пример:

Памятка по Wi-Fi в Linux: подсказки и решение проблем

Набор каналов чуть различается, но в любом случае частоты в диапазоне каналов 64-100 полностью недоступны. То есть они даже не отключены, а как бы просто не существуют.

Возможно вам тоже любопытно, почему существует разрыв между каналом 64 и 100 в Wi-Fi 5 ГГц?

Ответ 1:

В диапазоне 5,35–5,46 ГГц перечислены различные применения, включая «Воздушную радионавигацию». Здесь будут каналы с 68 по 96. Очевидно, они не хотят, чтобы оборудование с поддержкой Wi-Fi было включено даже случайно, что может помешать навигации самолёта.

Ответ 2:

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

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

Это может быть корпоративное оборудование. Потребители не могут себе этого позволить.

Итак

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

1
5340 MHz [68] (disabled)

Вы также можете увидеть записи с «no IR»:

1
5180 MHz [36] (22.0 dBm) (no IR)

Флаг no-ir (no-initiating-radiation) переводится как «отсутствие инициирующего излучения», то есть канал в принципе может использоваться, но не может первым отправить никакие данные, то есть он будет задействован только если получит от роутера beacon (маяки) на этих частотах.

Также можно увидеть записи с «no IR, radar detection»:

1
5260 MHz [52] (22.0 dBm) (no IR, radar detection)

С no IR мы уже разобрались, а «radar detection» видимо означает, что если обнаружен радар на смежных частотах, то эта частота также перестаёт использоваться — но это скорее догадка, если вы знаете более верный ответ, то напишите его в комментариях.

Можно ли использовать для взлома Wi-Fi старые адаптеры поддерживающие только B и G стандарты

Да, такие адаптеры способны выполнять практически все атаки даже на ТД работающие на стандарте N. Подробности смотрите в статье «Для каких атак подходят старые Wi-Fi адаптеры».

Драйверы

Драйверы Wi-Fi в Linux. Поддержка Wi-Fi адаптеров в Linux

В настоящее время Linux поддерживает большинство Wi-Fi карт и драйверы для них уже предустановлены в системе (они являются частью ядра). То есть при покупке нового Wi-Fi адаптера или установке Linux на ноутбук в подавляющем большинстве случаев не требуется никаких действий — Wi-Fi адаптер будет просто работать.

В редких случаях понадобится установить из стандартных репозиториев драйвер и/или прошивку.

В исключительных случаях нужно компилировать драйвер из исходного кода.

Если вы знакомы со статьёй «Модули ядра Linux», то вы знаете, что многим устройствам для правильной работы нужны две вещи: драйвер и прошивка. Драйвер запрашивает прошивку из файловой системы в /lib/firmware. Это специальный файл, необходимый для аппаратного обеспечения, это не бинарный файл. Затем дайвер делает все, что нужно для загрузки прошивки в устройство. Прошивка выполняет программирование оборудования внутри устройства.

Список установленных драйверов вы найдёте в папке

1
echo /usr/lib/modules/`uname -r`/kernel/drivers/net/wireless

Вывод драйверов по производителям:

1
tree /usr/lib/modules/`uname -r`/kernel/drivers/net/wireless

Если по каким-либо причинам драйвер ещё не попал в ядро, то он может присутствовать в стандартных репозиториях в виде отдельных пакетов:

Также вы найдёте в стандартных репозиториях пакеты прошивок firmware-* (например, firmware-realtek, firmware-atheros, firmware-iwlwifi и так далее). Если прошивка для вашего устройства не установлена, установите её.

В Arch Linux (BlackArch) все прошивки собраны в один пакет linux-firmware. Для некоторых устройств имеются отдельные пакеты драйверов (например, r8168 и broadcom-wl).

Итак, драйверы для большинства Wi-Fi адаптеров встроены в ядро и, следовательно, уже установлены на любом Linux. Начните с того, что подсоедините вашу беспроводную карту и попробуйте выполнить подключение к Точке Доступа.

Если возникли проблемы, поищите в репозиториях драйвер и/или прошивку для вашего устройства.

Как проверить, какой драйвер используется

1
2
3
4
5
6
7
8
# Для вывода списка только USB устройств и их драйверов
usb-devices
 
# Для вывода списка только PCI устройств и их драйверов
lspci -k
 
# Для вывода списка как USB, так и PCI устройств и их драйверов
sudo lshw

Смотрите также Как узнать, какие модули (драйверы) используются USB и PCI устройствами.

LEAVE A COMMENT