Network configuration (Русский)/Wireless (Русский) - ArchWiki

Jump to content
From ArchWiki
< Network configuration (Русский)

Ссылки по теме

- Программная точка доступа
- Ad-hoc networking
- Раздача интернета
- Wireless bonding
- Network Debugging
- Bluetooth (Русский)

Состояние перевода: На этой странице представлен перевод статьи Network configuration/Wireless. Дата последней синхронизации: 12 июля 2021. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Основную статью по настройке сети можно найти на странице Настройка сети.

Настройка беспроводного соединения происходит в два этапа. На первом этапе необходимо определить и установить правильный драйвер сетевого интерфейса (обычно драйвер находится на установочном носителе, но иногда его приходится устанавливать вручную), после чего произвести настройку. Второй этап заключается в выборе способа управления беспроводными соединениями. В этой статье описаны оба этапа, а также представлены ссылки на утилиты управления беспроводными соединениями.

В разделе #iw описана ручная настройка беспроводного интерфейса / локальной сети посредством утилиты iw. В статье Настройка сети#Сетевые менеджеры вы найдёте список программ (в том числе и с графическим интерфейсом), которые используются для автоматического управления сетевым интерфейсом. В них реализована поддержка сетевых профилей, что бывает удобно при частой смене беспроводных сетей (как это бывает, например, с ноутбуками).

## Драйвер устройства

Стандартное ядро Arch Linux имеет модульную архитектуру, поэтому многие драйверы для аппаратного обеспечения расположены на жёстком диске и доступны как модули. При загрузке менеджер устройств udev определяет аппаратное обеспечение вашего компьютера и загружает соответствующие модули (драйверы), в результате чего создаётся сетевой интерфейс.

Некоторым беспроводным устройствам для работы помимо драйвера необходима ещё и прошивка. В пакете linux-firmware содержится большое количество образов прошивок, однако проприетаные прошивки в него не входят и должны устанавливаться отдельно. Подробное описание установки дано в разделе #Установка драйвера/прошивки.

Примечание: Если нужный модуль не был загружен менеджером udev при старте системы, просто загрузите его вручную. Иногда udev может загружать более одного драйвера для устройства, что приведёт к конфликту и помешает успешному конфигурированию. В этом случае запретите загрузку ненужного модуля.

### Проверка состояния драйвера

Чтобы проверить, загрузился ли драйвер сетевой карты, посмотрите на вывод команд `lspci -k` или `lsusb -v` (в зависимости от того, подключена карта по шине PCI(e) или через USB-порт). Вы должны увидеть используемые драйверы ядра, например:

    $ lspci -k

    06:00.0 Network controller: Intel Corporation WiFi Link 5100
    	Subsystem: Intel Corporation WiFi Link 5100 AGN
    	Kernel driver in use: iwlwifi
    	Kernel modules: iwlwifi

Примечание: Если ваша сетевая карта является USB-устройством, выполнение `dmesg | grep usbcore` должно выдать что-то похожее на `usbcore: registered new interface driver rtl8187`.

Также проверьте вывод команды `ip link`, чтобы убедиться, что сетевой интерфейс был создан; обычно название беспроводного интерфейса начинается с буквы "w", например, `wlp2s1`. Затем включите интерфейс командой

    # ip link set интерфейс up

Например, если интерфейс называется `wlan0`, команда примет вид `ip link set wlan0 up`.

Примечание:

- Если вы получили ошибку `RTNETLINK answers: Operation not possible due to RF-kill` ("действие невозможно из-за RF-kill"), убедитесь, что аппаратный переключатель находится в положении вкл. Подробнее см. #Предостережения Rfkill.
- Если вы получили сообщение об ошибке `SIOCSIFFLAGS: No such file or directory` ("нет такого файла или каталога"), то скорее всего для функционирования вашего беспроводного устройства необходима соответствующая прошивка.

Проверьте сообщения ядра на предмет загрузки прошивки:

    # dmesg | grep firmware

    [   7.148259] iwlwifi 0000:02:00.0: loaded firmware version 39.30.4.1 build 35138 op_mode iwldvm

Если там нет интересующей вас информации, проверьте сообщения подробного вывода, относящиеся к определённому вами ранее модулю (в примере ниже `iwlwifi`):

    # dmesg | grep iwlwifi

    [   12.342694] iwlwifi 0000:02:00.0: irq 44 for MSI/MSI-X
    [   12.353466] iwlwifi 0000:02:00.0: loaded firmware version 39.31.5.1 build 35138 op_mode iwldvm
    [   12.430317] iwlwifi 0000:02:00.0: CONFIG_IWLWIFI_DEBUG disabled
    ...
    [   12.430341] iwlwifi 0000:02:00.0: Detected Intel(R) Corporation WiFi Link 5100 AGN, REV=0x6B

Если модуль ядра загрузился успешно и интерфейс запущен, можете пропустить следующий раздел.

### Установка драйвера/прошивки

Проверьте, находится ли ваша сетевая карта в числе поддерживаемых:

- Изучите таблицу существующих драйверов Linux для беспроводных устройств. Перейдя на страницу определённого драйвера вы найдёте список поддерживаемых устройств. Также можно посмотреть список идентификаторов Wi-Fi устройств в Linux.
- В Ubuntu Wiki есть хороший список беспроводных карт и информация об их поддержке ядром Linux или драйвером пространства пользователя (включая название драйвера).
- Проверьте ваше устройство на сайте Linux Wireless Support или по реестру hardware compatibility list, в котором также содержится список поддерживаемого ядром оборудования.

Если ваша беспроводная карта есть в одном из списков выше, перейдите в раздел #Решение проблем с драйверами и прошивками. В нём содержатся инструкции по установке драйверов и прошивок на некоторые редкие беспроводные карты. Затем проверьте состояние драйвера снова.

Если вашей беспроводной карты нет в списках, то скорее всего она поддерживается только в Windows (некоторые Broadcom, 3com и др.). В этом случае вы можете воспользоваться #ndiswrapper.

## Утилиты

Управление беспроводными сетевыми интерфейсами, как и всеми прочими, осуществляется посредством входящей в пакет iproute2 утилиты ip.

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

Утилита | Пакет | WEXT | nl80211 | WEP | WPA/WPA2 | Archiso [1]
--- | --- | --- | --- | --- | --- | ---
wireless_tools[устаревшая ссылка 2021-11-15 ⓘ]1 | wireless_tools | Да | Нет | Да | Нет | Да
iw | iw | Нет | Да | Да | Нет | Да
wpa_supplicant | wpa_supplicant | Да | Да | Да | Да | Да
iwd | iwd | Нет | Да | Нет | Да | Да

1. Устарела.

Имейте в виду, что некоторые сетевые карты поддерживают только WEXT.

### Сравнение iw и wireless_tools

Ниже представлено сравнение некоторых команд утилит iw и wireless_tools. Дополнительные примеры можно найти в статье о замене iwconfig на iw.

Команда iw | Команда wireless_tools | Описание
--- | --- | ---
iw dev wlan0 link | iwconfig wlan0 | Получение состояния соединения.
iw dev wlan0 scan | iwlist wlan0 scan | Сканирование доступных точек доступа.
iw dev wlan0 set type ibss | iwconfig wlan0 mode ad-hoc | Установка режима работы ad-hoc.
iw dev wlan0 connect ваш_essid | iwconfig wlan0 essid ваш_essid | Подключение к открытой сети.
iw dev wlan0 connect ваш_essid 2432 | iwconfig wlan0 essid ваш_essid freq 2432M | Подключение к открытой сети с указанием канала.
iw dev wlan0 connect ваш_essid key 0:ваш_ключ | iwconfig wlan0 essid ваш_essid key ваш_ключ | Подключение к сети с WEP шифрованием шестнадцатеричным ключом.
iwconfig wlan0 essid ваш_essid key s:ваш_ключ | Подключение к сети с WEP шифрованием ASCII-ключом.
iw dev wlan0 set power_save on | iwconfig wlan0 power on | Включение режима энергосбережения.

## iw

Примечание:

- Большая часть представленных ниже команд должна выполняться с правами root. При выполнении от лица обычного пользователя некоторые команды (например, iw list) завершат работу без ошибки, но сгенерированный ими вывод либо окажется некорректным, либо будет отсутствовать вовсе.
- В зависимости от вашего аппаратного обеспечения и типа шифрования некоторые перечисленные ниже шаги могут оказаться не нужны. Некоторые сетевые карты требуют включения интерфейса и/или поиска точки доступа перед привязкой к ней и получением IP-адреса. Возможно, придётся немного поэкспериментировать. Например, пользователи с WPA/WPA2 могут попытаться активировать беспроводную сеть напрямую с шага #Соединение с точкой доступа.

В примерах ниже беспроводное устройство с названием `интерфейс` устанавливает соединение с точкой доступа Wi-Fi `ваш_essid`. Замените названия на свои.

### Определение имени интерфейса

Совет: В официальной документации утилиты iw можно найти дополнительные примеры.

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

    $ iw dev

Название интерфейса будет указано после слова "Interface". Например, `wlan0`.

### Определение состояния интерфейса

Чтобы проверить состояние соединения, выполните:

    $ iw dev интерфейс link

Статистическую информацию (количество tx/rx байт, мощность сигнала и т.д.) можно получить, введя команду:

    $ iw dev интерфейс station dump

### Включение интерфейса

Совет: В большинстве случаев выполнять эти действия не требуется.

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

    # ip link set интерфейс up

Примечание: Если получена ошибка вида `RTNETLINK answers: Operation not possible due to RF-kill`, убедитесь, что аппаратный переключатель находится в положении on. Дополнительную информацию вы найдёте в разделе #Предостережения Rfkill.

Чтобы убедиться, что интерфейс включён, выполните:

    $ ip link show интерфейс

    3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000 link/ether 12:34:56:78:9a:bc brd ff:ff:ff:ff:ff:ff

На включённое состояние интерфейса указывает слово `UP` в `BROADCAST,MULTICAST,UP,LOWER_UP`, а не надпись `state DOWN`.

### Обнаружение точек доступа

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

    # iw dev интерфейс scan | less

Примечание: Если в результате появилось сообщение `Interface does not support scanning` (Интерфейс не поддерживает сканирование), то скорее всего вы забыли установить прошивку. В некоторых случаях это сообщение может появиться, если вы выполнили команду не от имении root.
Совет: В зависимости от местоположения вам может понадобиться настроить правильное имя управляющего домена, чтобы увидеть все доступные сети.

Обратите внимание на следующие поля:

- SSID: название сети.
- Signal: мощность беспроводного излучения в единицах dBm (например, от -100 до 0). Более близкие к нулю значения означают лучший сигнал. На основании отображаемой мощности можно получить представление о покрытии сети.
- Security: напрямую не указывается; проверьте строку, которая начинается с `capability`. Если там содержится указание `Privacy`, например, `capability: ESS Privacy ShortSlotTime (0x0411)`, то ваша сеть как-то защищена.
  - Если вы видите информационный блок `RSN`, то сеть защищена протоколом Robust Security Network, также известным как WPA2.
  - Если вы видите информационный блок `WPA`, то сеть защищена протоколом Wi-Fi Protected Access.
  - В блоках `RSN` и `WPA` может быть указана следующая информация:
    - Group cipher: принимает значения TKIP, CCMP, both, others.
    - Pairwise ciphers: принимает значения TKIP, CCMP, both, others. Может отличаться от значения в Group cipher.
    - Authentication suites: принимает значения PSK, 802.1x, others. Для домашнего маршрутизатора вы скорее всего обнаружите здесь значение PSK (то есть пароль). В университетах вероятнее всего будет сеть 802.1x, что требует логин и пароль. Тогда вам потребуется узнать, какое используется управление ключами (например, EAP), и какой способ инкапсуляции (например, PEAP). Подробную информацию можно найти в разделе #WPA2 Enterprise и статье Wikipedia:Authentication protocol.
  - Если вы не видите ни `RSN`, ни `WPA`, но есть раздел `Privacy`, то используется защитный протокол WEP.

### Выбор режима работы

Возможно, будет необходимо выбрать подходящий режим работы беспроводной карты. Например, если вы хотите подключиться к сети ad-hoc, то нужно установить режим работы `ibss`:

    # iw dev интерфейс set type ibss

Примечание: Смена режима работы на некоторых картах может потребовать отключения беспроводного интерфейса (`ip link set интерфейс down`).
Примечание: При попытке сменить режим интерфейса на AP (`iw интерфейс set type ap`) iw может вернуть ошибку вида

    You need to run a management daemon, e.g. hostapd,
    see https://wireless.wiki.kernel.org/en/users/documentation/hostapd
    for more information on how to do that.

Для обхода этой ошибки нужно использовать тип `__ap` (`iw интерфейс set type __ap`).

### Соединение с точкой доступа

Необходимо привязать устройство к точке доступа и ввести ключ в зависимости от типа шифрования:

- Без шифрования

      # iw dev interface connect "ваш_essid"

- WEP
  - С использованием шестнадцатеричного ключа (формат ключа определится автоматически, поскольку WEP-ключ имеет фиксированную длину):

        # iw dev интерфейс connect "ваш_essid" key 0:your_key

  - С использованием ASCII-ключа, указав третий ключ в качестве ключа по умолчанию (ключи нумеруются с нуля, всего возможно до четырёх ключей):

        # iw dev интерфейс connect "ваш_essid" key d:2:your_key

Вне зависимости от использованного способа, проверьте соединение:

    # iw dev интерфейс link

## Аутентификация

### WPA2 Personal

WPA2 Personal, или WPA2-PSK — одна из реализаций технологии Wi-Fi Protected Access.

Выполнить вход в сеть WPA2 Personal можно посредством утилит wpa_supplicant или iwd, а также с помощью сетевого менеджера. Если вы вошли в данную сеть впервые, то для создания нормально функционирующего соединения необходимо выполнить привязку IP-адреса(-ов) и маршрутов либо вручную, либо с помощью DHCP-клиента.

### WPA2 Enterprise

WPA2 Enterprise — ещё одна реализация технологии Wi-Fi Protected Access. Она предлагает лучшую безопасность и управление ключами по сравнению с WPA2 Personal, а также дополнительную функциональность корпоративного типа вроде VLAN и NAP. Для работы этой технологии требуется внешний аутентификационный сервер, RADIUS, обрабатывающий попытки аутентификации пользователей. Это отличает Enterprise-режим от режима Personal, которому не требуется ничего кроме маршрутизатора или точки доступа с одним паролем для всех пользователей.

Корпоративный (Enterprise) режим осуществляет подключение пользователей к сети посредством имени пользователя и пароля и/или цифрового сертификата. Поскольку каждый пользователь обладает уникальным динамическим ключом шифрования, это также позволяет предотвратить отслеживание пользователей в беспроводной сети и усилить шифрование.

Ниже описана настройка сетевых клиентов, соединяющихся с беспроводной точкой доступа в режиме WPA2 Enterprise. Информацию о настройке самой точки доступа можно найти в статье Software access point#RADIUS.

Примечание: Корпоративный режим требует более сложной настройки клиента, в то время как режим Personal требует только введения пароля по запросу. Клиентам скорее всего придется установить CA-сертификат сервера (плюс сертификаты пользователей при использовании EAP-TLS), а затем вручную настроить безопасность и аутентификацию по протоколу 802.1X.

Сравнение протоколов сведено в таблицу.

Важно: Существует возможность использовать WPA2 Enterprise без проверки CA-сертификата сервера, однако использовать её не стоит. Без аутентификации точки доступа соединение может стать объектом атаки "человек посередине" ("man-in-the-middle"). Хотя "рукопожатия" обычно зашифрованы, передача пароля чаще всего производится открытым текстом или посредством ненадёжного протокола #MS-CHAPv2. В результате клиент может послать пароль чужой точке доступа, которая станет выполнять роль посредника (proxy) в соединении, прослушивая весь передаваемый через неё трафик.

#### MS-CHAPv2

Беспроводные сети WPA2-Enterprise, полагающиеся на аутентификацию MSCHAPv2 type-2 с использованием PEAP иногда требуют установки pptpclient помимо стандартного ppp. netctl, однако, работает "из коробки" без ppp-mppe. В любом случае, использование MSCHAPv2 не рекомендуется из-за ненадежности этого протокола, но другого варианта часто просто нет.

#### eduroam

eduroam — международный роуминговый сервис на основе WPA2 Enterprise для лиц, занятых в сфере научно-исследовательской деятельности, высшего образования и дополнительного профессионального образования.

Примечание:

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

Совет: Настройки для утилит NetworkManager и wpa_supplicant можно сгенерировать с помощью eduroam Configuration Assistant Tool.

#### Ручная/автоматическая настройка

- wpa_supplicant настраивается напрямую в его файле настроек или посредством интерфейса; используется вместе с клиентом DHCP. Примеры настроек приведены в файле `/usr/share/doc/wpa_supplicant/wpa_supplicant.conf`.
- iwd#WPA Enterprise.
- NetworkManager может создавать профили WPA2 Enterprise с помощью утилиты nmcli или графических интерфейсов. Утилита mntui эту возможность не поддерживает (NetworkManager issue 376), но работает с готовыми профилями.
- ConnMan требует создания отдельного файла настроек перед соединением с беспроводной сетью. Подробности можно найти в руководстве connman-service.config(5) и в статье Connman#Connecting to eduroam.
- netctl может использовать настройки wpa_supplicant посредством блоков `WPAConfigSection=`. Детали вы найдёте в руководстве netctl.profile(5).

  Примечание: В настройках netctl особые правила использования кавычек: см. netctl.profile(5) § SPECIAL QUOTING RULES.
  Совет: Можно разрешить произвольный сертификат, добавив строку `'ca_cert="/path/to/special/certificate.cer"'` в блоке `WPAConfigSection`.

### WPA3 Personal

WPA3 Personal, или WPA3-SAE — один из режимов Wi-Fi Protected Access.

wpa_supplicant поддерживает WPA3 Personal (опция `CONFIG_SAE` в wpa_supplicant включена начиная с версии 2:2.9-4).

iwd поддерживает WPA3 как минимум с версии 1.0.

## Советы и рекомендации

### Соответствие регламентам

Регулятивный домен (regulatory domain) — страны, совместно использующие общий регламент радиосвязи, определённый одним из регулятивных органов (FCC в США, ETSI для стран Европы и т.д.). С помощью параметра regdomain драйвер беспроводной сетевой платы настраивается в соответствии с местными законами. Regdomain использует двухбуквенные коды стран в соответствии с ISO 3166-1 alpha-2. Например, regdomain для США обозначается "US", для России — "RU", и т.д.

Regdomain определяет доступность беспроводных каналов. Так, на частоте 2.4GHz разрешено использовать каналы 1-11 в США, 1-14 — в Японии, и каналы 1-13 в большей части остального мира. На частоте 5GHz правила доступа к каналам несколько сложнее. В Википедии можно найти подробную информацию о доступности каналов: [1], [2].

Принадлежность к домену также определяет предельное значение эквивалентной изотропно-излучаемой мощности (Equivalent Isotropically Radiated Power, EIRP) беспроводных устройств. Это значение определяет мощность сигнала и измеряется в единицах дБм или мВт. На частоте 2.4GHz максимальное значение мощности составляет 30дБм в США и Канаде, 20дБм в большинстве стран Европы, и 20-30дБм в остальном мире. На частоте 5GHz максимумы обычно выше. Допустимые значения мощности можно найти в этой базе данных (значения дБм во втором наборе скобок в каждой линии).

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

Для настройки regdomain установите пакет crda[ссылка недействительна: replaced by wireless-regdb] и перезагрузитесь, чтобы перезапустить модуль `cfg80211` и все относящиеся к нему драйвера. Проверьте лог загрузки, чтобы убедиться, что CRDA был запущен модулем `cfg80211`:

    # dmesg | grep cfg80211

Назначьте regdomain (например, для США):

    # iw reg set US

И проверьте настройки:

    $ iw reg get

Примечание:

- По умолчанию ваше устройство может быть настроено на "страну 00", которая означает условный "мировой домен" и содержит обобщённые настройки. Если изменить этот параметр не удаётся, то скорее всего причиной неправильная настройка CRDA.
- При компиляции кастомного ядра в качестве альтернативы `crda` можно включить параметр `CONFIG_CFG80211_INTERNAL_REGDB`. После включения необходимо переместить db.txt в `net/wireless/db.txt`. Подробнее см. [2].

В некоторых случаях настройку regdomain изменить не получится. В некоторых устройствах параметр домена зашит в прошивку/EEPROM, что ограничивает поведение устройства. В данном случае изменение домена в ПО может только ужесточить ограничения, но не ослабить их. Например, китайское (CN) устройство может быть настроено на домен US, но поднять максимум EIRP с 20дБм до разрешённого в США значения 30дБм не получится.

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

    # dmesg | grep ath:

Для других чипсетов в качестве паттерна поиска можно указать "EEPROM", "regdomain" или просто название драйвера устройства.

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

    $ iw list | grep -A 15 Frequencies:

Постоянная настройка выполняется с помощью раскомментирования нужного домена в файле `/etc/conf.d/wireless-regdom`.

wpa_supplicant также может управлять доменом посредством строки `country=` в файле `/etc/wpa_supplicant/wpa_supplicant.conf`

В модуле ядра cfg80211 можно настроить домен, добавив опцию `options cfg80211 ieee80211_regdom=JP`. Это часть старой реализации технологии регулятивного домена.

Дополнительную информацию по настройке и использованию регулятивного домена можно найти в документации wireless.kernel.org.

### Предостережения Rfkill

Во многих ноутбуках присутствует аппаратный переключатель (или кнопка) питания беспроводной карты, однако она может быть также заблокирована и ядром. Этим можно управлять через rfkill. Используйте rfkill, чтобы посмотреть текущий статус:

    # rfkill list

    0: phy0: Wireless LAN
    	Soft blocked: yes
    	Hard blocked: yes

Если карта заблокирована аппаратно (hard blocked), используйте переключатель (кнопку), чтобы разблокировать её. Если же карта заблокирована не аппаратно, a программно (soft blocked), используйте следующую команду:

    # rfkill unblock wifi

Примечание: Возможно, при нажатии аппаратной кнопки карта из состояния hard-blocked и soft-unblocked перейдёт в состояние hard-unblocked и soft-blocked (т.е. бит soft-blocked внезапно поменяет значение). Это можно исправить, отрегулировав некоторые опции модуля ядра `rfkill`.

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

По ссылке можно найти дополнительную информацию о Rfkill.

### Энергосбережение

Смотрите раздел Энергосбережение#Сетевые интерфейсы.

## Решение проблем

В этом разделе содержатся основные рекомендации по решению проблем, не связанных непосредственно с драйверами и прошивками. Для получения такой информации смотрите следующий раздел #Решение проблем с драйверами и прошивками.

### Временный доступ к сети Интернет

Если с сетевой платой возникли проблемы и нужен доступ в сеть Интернет, например, чтобы загрузить определённое ПО или задать вопрос на форумах, можно раздать интернет на компьютер с Android-смартфона посредством USB-кабеля. В статье Android tethering#USB модем вы найдёте поднобную информацию по этому вопросу.

### Просмотр логов

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

    # dmesg -w

непосредственно перед попыткой беспроводной привязки (association).

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

    # journalctl -f

Связанные с беспроводными устройствами ошибки часто сопровождаются словом deauthentication и кодом причины (reason), например:

    wlan0: deauthenticating from XX:XX:XX:XX:XX:XX by local choice (reason=3)

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

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

### Не удалось получить IP адрес

- Если получение IP адреса неоднократно не удаётся при использовании клиента по умолчанию dhcpcd, попробуйте установить и использовать dhclient вместо него. Не забудьте выбрать dhclient как первичный DHCP клиент в вашем менеджере соединений!

- Если вы можете получить IP для проводного интерфейса, но не можете для беспроводного, попробуйте отключить энергосберегающие функции вашей беспроводной карты:

    # iwconfig wlan0 power off

- Если вы получаете timeout ошибку из-за waiting for carrier проблемы, возможно вам понадобится установить канал в `auto` для конкретного устройства:

    # iwconfig wlan0 channel auto

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

### Не выполняется разрешение хоста по действительному IP-адресу

Если вы подключились к публичной беспроводной сети с работающим серсвисом Captive portal, убедитесь, что браузер отправляет запросы по протоколу HTTP, а не HTTPS, поскольку некоторые порталы работают только с HTTP. Если причина проблем не в этом, проверьте настройки разрешения доменных имён. Возможно, нужно просто использовать DNS-сервер, объявленный DHCP.

### Включение RTS и порог фрагментации

Беспроводное аппаратное обеспечение по умолчанию не использует RTS и фрагментацию. Есть два способа повысить производительность (throughput) за счёт пропускной способности (bandwidth) (т.е. надёжность за счёт скорости). Это полезно в случае наличия беспроводного шума или создающих помехи соседних точек доступа, что приводит к задержкам и сбоям.

Фрагментация пакетов увеличивает производительность за счёт разбиения пакетов с размером, превышающим порог фрагментации. Максимальное значение (2346) фактически отключает фрагментацию, поскольку не существует пакетов большего размера. Минимальное значение (256) увеличивает производительность, но требует большей пропускной способности.

    # iw phy0 set frag 512

RTS увеличивает производительность посредством выполнения рукопожатий с точкой доступа перед отправкой пакетов с размером выше порога RTS. Максимальное значение (2347) отключает RTS (т.к. пакеты не могут быть большего размера). Минимальный порог (0) включает RTS для всех пакетов, что в большинстве ситуаций несколько избыточно.

    # iw phy0 set rts 500

Примечание: `phy0` — название беспроводного устройства, которое можно узнать с помощью команды `$ iw phy`.

### Внезапные отключения

#### Причина #1

Если dmesg выводит сообщение `wlan0: deauthenticating from MAC by local choice (reason=3)` и произошёл разрыв Wi-Fi соединения, то причина скорее всего кроется в слишком агрессивных настройках энергосбережения вашей беспроводной карты. Попробуйте отключить энергосбережение (укажите опцию `off` вместо `on`).

Если у вашей карты нет энергосберегающего режима, проверьте настройки энергопотребления BIOS. Отключение управления энергопотреблением PCI-Express в BIOS на Lenovo W520 решило эту проблему.

#### Причина #2

Если происходят частые отключения и dmesg выдаёт сообщение вроде

    ieee80211 phy0: wlan0: No probe response from AP xx:xx:xx:xx:xx:xx after 500ms, disconnecting

попробуйте изменить полосу пропускания канала на `20MHz` на странице настроек вашего маршрутизатора.

#### Причина #3

В некоторых моделях ноутбуков (например, Thinkpad X200) аппаратный переключатель (или его соединение с материнской платой) из-за неудачной конструкции со временем может расшататься. В результате при случайных касаниях переключателя или перемещении ноутбука будут происходить аппаратные блокировки (hardblock) и разрывы соединения. Решить эту проблему программно нельзя, кроме случая, когда переключатель электрический — в БИОС есть настройка его отключения. Если переключатель механический (а чаще всего он именно такой), то существует несколько возможных решений, большинство из которых сводится к отключению переключателя: распаять точку соединения переключателя с материнской платой/беспроводной картой, приклеить или зафиксировать переключатель, подтянуть переключатель гайкой или удалить его насовсем.

#### Причина #4

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

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

Если это сработало, включите WPA/WPA2 снова, но с ограниченными настройками. Например:

- Если маршрутизатор значительно старше вашей беспроводной карты, проверьте, функционирует ли он, выбрав работу только в беспроводном режиме.
- Отключите смешанную аутентификацию (например, оставьте только WPA2 с AES, или только TKIP в случае старого маршрутизатора).
- Попробуйте fixed или free режим канала вместо auto (возможно, неподалёку работает старый маршрутизатор, создающий помехи).
- Отключите WPS.
- Измените канал(-ы) 5 GHz на канал non-DFS (Dynamic Frequency Selection). Соединения, установленные по такому каналу, могут пострадать от помех, создаваемых находящимся неподалёку погодным радаром.
- Отключите полосу пропускания `40MHz` (производительность упадёт, но зато уменьшится количество коллизий пакетов) параметром `cfg80211.cfg80211_disable_40mhz_24ghz=1`.
- Если у маршрутизатора есть настройки качества обслуживания (Quality of Service, QoS), проверьте их полноту (например, WMM является одним из протоколов QoS; при неправильной работе ПО маршрутизатор может сообщать, что протокол работает, хотя соответствующая настройка не включена).

#### Причина #5

У некоторых беспроводных сетевых адаптеров (например, Qualcomm Atheros AR9485) бывают случайные разрывы связи с DMA-ошибкой:

    # journalctl -xb

    ath: phy0: DMA failed to stop in 10 ms AR_CR=0x00000024 AR_DIAG_SW=0x02000020 DMADBG_7=0x0000a400
    wlp1s0: authenticate with 56:e7:ee:7b:55:bc
    wlp1s0: send auth to 56:e7:ee:7b:55:bc (try 1/3)
    wlp1s0: send auth to 56:e7:ee:7b:55:bc (try 2/3)
    wlp1s0: send auth to 56:e7:ee:7b:55:bc (try 3/3)
    wlp1s0: authentication with 56:e7:ee:7b:55:bc timed out

Решение — отключить Intel IOMMU driver (DMA), добавив `intel_iommu=off` в параметры ядра [3].

Примечание: IOMMU-драйвер от Intel нужен для некоторых продвинутых возможностей виртуальных машин вроде PCI pass-through.

#### Причина #6

Если вы используете устройство с iwlwifi и iwlmvm для беспроводных соединений и ваша Wi-Fi-карта периодически отключается при работе от аккумулятора (возможно, после перезагрузки или при выходе из режима сна), то это можно исправить настройками энергосбережения в iwlmvm.

Создайте файл `/etc/modprobe.d/iwlmvm.conf`, если он отсутствует, и добавьте в него следующую строку:

    /etc/modprobe.d/iwlmvm.conf

    options iwlmvm power_scheme=1

Параметр `power_scheme`, установленный в значение 1, задаёт iwlmvm режим "всегда активен". Все возможные значения:

Значение | Описание
--- | ---
1 | Всегда активен
2 | Промежуточный режим
3 | Экономный режим

Это решение было обнаружено в [4].

#### Причина #7

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

    # iw dev интерфейс set power_save off

Можно также создать правило udev, которое будет делать это при каждой загрузке системы, см. Power management#Network interfaces.

### Wi-Fi-сеть не видна из-за несоответствия регулятивному домену

При соединении по беспроводной сети список используемых на вашей машине беспроводных каналов может не совпасть с перечнем разрешённых каналов в вашей стране. В результате не получится обнаружить некоторые Wi-Fi сети. Для решения этой проблемы необходимо настроить регулятивный домен (regulatory domain), как описано в разделе #Соответствие регламентам.

## Решение проблем с драйверами и прошивками

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

Информацию о приёмах работы с модулями можно найти в статье Модули ядра.

### Ralink/Mediatek

#### rt2x00

Единый драйвер для чипсетов Ralink, замещает драйвера `rt2500`, `rt61`, `rt73` и другие. Входит в ядро Linux начиная с версии 2.6.24. Необходимо только загрузить нужный для вашей карты модуль — `rt2400pci`, `rt2500pci`, `rt2500usb`, `rt61pci` или `rt73usb`, а он уже автоматически подтянет соответствующие модули драйвера `rt2x00`.

Список поддерживаемых устройств можно найти на странице проекта.

Примечания

- Начиная с версии ядра 3.0, rt2x00 включает также драйвера `rt2800pci` и `rt2800usb`.
- Начиная с версии ядра 3.0 staging-версии драйверов `rt2860sta` и `rt2870sta` были заменены на mainline-драйвера `rt2800pci` и `rt2800usb` .
- Некоторые устройства имеют широкий набор опций, настроить их можно с помощью входящей в пакет wireless_tools утилиты iwpriv. Документацию можно найти в tar-архиве с исходниками от Ralink.

#### rt3090

Для устройств с чипсетом rt3090 можно использовать драйвер `rt2800pci`, однако качественная работа не гарантирована (например, временами не удаётся получить скорость выше 2 Мбит/с).

#### rt3290

Чипсет rt3290 распознаётся модулем ядра `rt2800pci`, однако у некоторых могут возникнуть проблемы. В этом случае можно попробовать вернуться к проприетарным драйверам Ralink. [5]

#### rt3573

Чипсет 2012 года. Для стабильной работы могут потребоваться проприетарные драйвера Ralink, которые используются многими производителями беспроводного оборудования [6].

#### mt7612u

Чипсет 2014 года, выпущенный под новым коммерческим именем Mediatek. Есть варианты чипсетов AC1200 или AC1300. Производитель предлагает драйвера для Linux на странице поддержки. В ядро версии 5.5 был добавлен драйвер `mt76`.

### Realtek

Список чипсетов Realtek и их спецификации: [7].

#### rtl8192cu

Драйвер для этого чипсета включён в состав ядра, но иногда появляются проблема с установкой соединения (хотя сканирование активных сетей работает).

В драйвер 8192cu-dkmsAUR вошли многие исправления; установите его, если входящий в ядро дравер работает плохо.

#### rtl8723ae/rtl8723be

Модули `rtl8723ae` и `rtl8723be` входят в mainline-ядро Linux.

На картах с этими чипсетами возможны ошибки в работе функции энергосбережения. Это проявляется в случайных разрывах соединения, которые не обнаруживаются высокоуровневыми сетевыми менеджерами (netctl, NetworkManager). Обнаружить ошибку можно командами `dmesg -w` или `journalctl -f`, найдя сообщения, относящиеся к энергосбережению (powersave) и модулю `rtl8723ae`/`rtl8723be`. Если это ваш случай, используйте опцию ядра `fwlps=0`, чтобы предотвратить "засыпание" карты и разрывы соединения. См. See Модули ядра#Настройка параметров модуля.

Если у вас проблемы с качеством сигнала, возможно, у вашего устройства работает только одна антенна, а программный автовыбор антенны не работает. Вы можете вручную выбрать рабочую антенну параметрами ядра `ant_sel=1` или `ant_sel=2`. [8]

#### rtl88xxau

Чипсеты Realtek rtl8811au/rtl8812au/rtl8814au/rtl8821au разработаны для различных USB-адаптеров в диапазоне от AC600 до AC1900. Драйвера к ним содержатся в нескольких пакетах, перечисленных ниже; все они требуют DKMS (пакет dkms и заголовочные файлы ядра).

Чипсет | Версия драйвера | Пакет | Примечания
--- | --- | --- | ---
rtl8811au, rtl8812au и rtl8821au | 5.6.4.2 | rtl88xxau-aircrack-dkms-gitAUR | Модули ядра aircrack-ng для чипсетов 8811au, 8812au, 8814au и 8821au с режимом мониторинга и поддержкой инъекций.
rtl8812au | 5.9.3.2 | rtl8812au-dkms-gitAUR | Последний официальный драйвер Realtek, только для rtl8812au.
rtl8811au, rtl8821au | 5.8.2.3 | rtl8821au-dkms-gitAUR | Новейшая версия драйверов для rtl8821au.
rtl8814au | 5.8.5.1 | rtl8814au-dkms-gitAUR | Возможно, работает также и для rtl8813au.

#### rtl8811cu/rtl8821cu

Пакет rtl8821cu-dkms-gitAUR содержит модуль ядра для чипсетов Realtek 8811cu и 8821cu.

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

Если даже с загруженным модулем `8821cu` интерфейс не работает, попробуйте вручную задать опцию `rtw_RFE_type` [9][10], например `rtw_RFE_type=0x26`. Другие значения тоже могут работать. Подробнее см. Модули ядра#Настройка параметров модуля.

#### rtl8821ce

Пакет rtl8821ce-dkms-gitAUR содержит модуль ядра для чипсета Realtek 8821ce ноутбука Asus X543UA.

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

#### rtl8822bu

В пакеты rtl88x2bu-dkms-gitAUR входит модуль ядра для чипсета Realtek 8822bu, используемого в адаптерах Edimax EW7822ULC USB3, Asus AC53 Nano USB 802.11ac и TP-Link Archer T3U. Не забудьте установить Linux-headers для своего ядра.

#### rtl8xxxu

Проблемы с модулем ядра `rtl8xxxu` могут быть решены компиляцией стороннего модуля для специфического чипсета. Исходный код можно найти в GitHub-репозитории.

Некоторые драйвера могут быть уже добавлены в AUR, например, rtl8723bu-git-dkmsAUR[ссылка недействительна: package not found].

### Atheros

Командой проекта MadWifi было создано три драйвера для устройств с чипсетом Atheros:

- `madwifi` — устаревший драйвер. Не входит в состав ядра Linux начиная с версии 2.6.39.1. [11]
- `ath5k` — более новый драйвер, заменивший `madwifi`. Довольно неплох, но отсутствует поддержка некоторых чипсетов (см. ниже).
- `ath9k` — новейший из этих трёх драйверов, предназначен для последних чипсетов Atheros. Поддерживаются все платы с технологией 802.11n.

Также существуют другие драйвера для устройств Atheros, найти их можно в документации Linux Wireless.

#### ath5k

Полезные ссылки:

- https://wireless.wiki.kernel.org/en/users/drivers/ath5k
- Debian:ath5k

Если веб-страницы временами грузятся очень медленно, или если беспроводному устройству не удаётся получить динамический IP-адрес, попытайтесь переключиться с аппаратного шифрования на программное, загрузив модуль `ath5k` с опцией `nohwcrypt=1`. Подробнее см. Модули ядра#Настройка параметров модуля.

У некоторых ноутбуков может возникнуть проблема с LED-индикатором беспроводной связи, который постоянно мигает и становится то красным, то синим. Чтобы решить эту проблему, выполните:

    # echo none > /sys/class/leds/ath5k-phy0::tx/trigger
    # echo none > /sys/class/leds/ath5k-phy0::rx/trigger

Альтернативное решение описано в этом багрепорте.

#### ath9k

Полезные ссылки:

- https://wireless.wiki.kernel.org/en/users/drivers/ath9k
- Debian:ath9k

Начиная с версии ядра 3.15.1 некоторые пользователи ощутили уменьшение полосы пропускания. В некоторых случаях проблема может быть решена заданием опции `nohwcrypt=1` для модуля `ath9k`. См. Модули ядра#Настройка параметров модуля.

Примечание: Проверьте командой `lsmod` название используемого модуля; измените название, если оно отличается от `ath9k` (например, `ath9k_htc`).

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

##### Power saving

Linux Wireless утверждает, что динамическое энергосбережение включено для одноплатных Atheros ath9k новее версии AR9280, однако для некоторых устройств (например, AR9285) powertop всё же сообщает, что энергосбережение отключено. В этом случае включите его вручную.

На некоторых устройствах (например, AR9285) включение энергосбережения может привести к следующей ошибке:

    # iw dev wlan0 set power_save on

    command failed: Operation not supported (-95)

Для решения необходимо установить опцию `ps_enable=1` для модуля `ath9k`, см. Модули ядра#Настройка параметров модуля.

### Intel

#### ipw2100 and ipw2200

Эти модули полностью поддерживаются ядром, но для них необходима прошивка. В зависимости от вашего чипсета установите либо ipw2100-fw[ссылка недействительна: package not found], либо ipw2200-fw[ссылка недействительна: package not found], после чего перезапустите модуль.

Совет: Можно также назначить следующие параметры:

- `rtap_iface=1` — включить radiotap-интерфейс.
- `led=1` — включить LED-индикатор наличия/отсутствия беспроводного соединения.

#### iwlegacy

iwlegacy — драйвер для чипов Intel версий 3945 и 4965. Прошивки для них входят в пакет linux-firmware.

Менеджер устройств udev должен загрузить драйвер автоматически, в противном случае загрузите `iwl3945` или `iwl4965` вручную. Подробнее см. Модули ядра.

Если у вас проблемы с подключением к сети вообще, случайные сбои карты во время загрузки, или просто очень низкое качество связи, попробуйте выключить 802.11n:

    /etc/modprobe.d/iwl4965.conf

    options iwl4965 11n_disable=1

Если проблемы во время загрузки остались и вы используете драйвер Nouveau, попробуйте включить KMS, чтобы предотвратить конфликт оборудования. [12]

#### iwlwifi

iwlwifi — беспроводной драйвер для современных чипов Intel, таких как 5100AGN, 5300AGN и 5350AGN. Список поддерживаемых устройств: [13]. Пакет linux-firmware содержит ряд прошивок, а в пакете linux-firmware-iwlwifi-gitAUR можно найти некоторые последние обновления.

Если у вас проблемы с соединением вообще или качество связи очень низкое, попробуйте отключить 802.11n и включить программное шифрование:

    /etc/modprobe.d/iwlwifi.conf

    options iwlwifi 11n_disable=1 swcrypto=1

Если скорость исходящего соединения в режиме 802.11n слишком низкая, скажем, 20 Мбит/с, попробуйте включить агрегирование антенн:

    /etc/modprobe.d/iwlwifi.conf

    options iwlwifi 11n_disable=8

Название параметра `11n_disable` не должно ввести вас в заблуждение — при установке его в значение `8` ничего не отключается, но запускается режим агрегации. [14], [15]

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

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

Если ваша точка доступа 802.11ax (WiFi 6) имеет проблемы с обнаружением маяков или надёжностью соединения, то изучите следующую статью Intel.

Примечание: Параметр `11n_disable=0` также прекратит работу 802.11ac; соединения будут устанавливаться только по медленным протоколам (802.11a в полосе 5GHz или 802.11b/g в полосе 2.4 GHz).

##### Bluetooth Coexistence

Если у вас проблемы с подключением bluetooth-наушников и низкая скорость входящего соединения, попробуйте отключить режим Bluetooth Coexistence [16]:

    /etc/modprobe.d/iwlwifi.conf

    options iwlwifi bt_coex_active=0

##### Прошивка выводит трассировку стека

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

    # dmesg

    Microcode SW error detected.  Restarting 0x2000000.

Чтобы решить эту проблему, выполните откат пакета linux-firmware или переименуйте последнюю версию прошивки вашего устройства, чтобы загрузилась старая версия (при условии, что пакет не входит в список игнорируемых).

#### Отключение мерцания LED-индикатора

Примечание: Работает с драйверами `iwlegacy` и `iwlwifi`.

Настройка модуля по умолчанию — мигание LED при работе. Некоторые находят это неприятным. Чтобы настроить постоянное свечение индикатора при работе Wi-Fi, можно использовать временные файлы:

    /etc/tmpfiles.d/phy0-led.conf

    w /sys/class/leds/phy0-led/trigger - - - - phy0radio

Чтобы изменения заработали, выполните `systemd-tmpfiles --create phy0-led.conf` или перезагрузитесь.

Чтобы посмотреть все возможные триггеры LED-индикатора выполните

    # cat /sys/class/leds/phy0-led/trigger

Совет: Если у вас нет файла `/sys/class/leds/phy0-led`, попробуйте параметр `led_mode="1"`. Он должен работать для драйверов `iwlwifi` и `iwlegacy`.

### Broadcom

Изучите статью Broadcom wireless.

### Other drivers/devices

#### Tenda w322u

Для этой карты Tenda подходят рекомендации для `rt2870sta`. См. #rt2x00.

#### orinoco

Драйвера входят в пакет ядра и должны быть уже установлены.

Среди чипсетов Orinoco есть чипы Hermes II. Для них можно использовать драйвер `wlags49_h2_cs` вместо `orinoco_cs`, если нужна поддержка WPA. Чтобы использовать драйвер, сначала установите запрет загрузки `orinoco_cs`.

#### prism54

Драйвер `p54` входит в ядро, но вам придётся загрузить прошивку карты с сайта и установить её в каталог `/usr/lib/firmware`.

Примечание: Есть также старый драйвер `prism54`, который может конфликтовать с более новыми драйверами (`p54pci` или `p54usb`). Убедитесь, что установлен запрет загрузки `prism54`.

#### ACX100/111

Важно: Драйвера для этих устройств не работают с последними версиями ядра.

Пакеты: `tiacx` `tiacx-firmware` (удалены из официальных репозиториев и AUR).

См. также официальную страницу проекта.

#### zd1211rw

zd1211rw — драйвер для ZyDAS ZD1211 802.11b/g USB WLAN чипсетов. В настоящее время включен в ядро. Список поддерживаемого оборудования можно найти здесь. Предварительно придётся установить файлы прошивки из пакета zd1211-firmwareAUR.

#### hostap_cs

Host AP — драйвер Linux для беспроводных карт на основе чипсета Intersil's Prism2/2.5/3. Драйвер включён в ядро Linux.

### ndiswrapper

Ndiswrapper — скрипт-обёртка, который позволяет использовать некоторые драйвера Windows для Linux. Вам потребуются файлы `.inf` и `.sys` из драйвера Windows.

Важно: Убедитесь, что драйвера соответствуют вашей архитектуре (x86 или x86-64).
Совет: Если вам нужно извлечь эти файлы из файла `*.exe`, то можно воспользоваться пакетом cabextract.

Чтобы настроить ndiswrapper, выполните следующие шаги:

1. Установите пакет ndiswrapper-dkms.

2. Установите драйвер в каталог `/etc/ndiswrapper/*`:

    # ndiswrapper -i filename.inf

3. Просмотрите список установленных драйверов ndiswrapper:

    $ ndiswrapper -l

4. Сохраните настройки ndiswrapper в файл `/etc/modprobe.d/ndiswrapper.conf`:

    # ndiswrapper -m
    # depmod -a

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

Наконец, нужно добавить ndiswrapper в Linux ядро и убедиться, что он работает:

    # modprobe ndiswrapper
    # iwconfig

В списке интерфейсов должен появиться беспроводной интерфейс wlan0. В случае каких-либо проблем полезную информацию можно найти на страницах ndiswrapper howto и ndiswrapper FAQ.

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

- The Linux Wireless project — документация по беспроводной (IEEE-802.11) подсистеме Linux.
- Aircrack-ng guide on installing drivers — установка драйверов для беспроводных сетевых интерфейсов.
- Wireless Device Database Wiki (Этот форк хостится на wi-cat.ru с тех пор как оригинальная wiki была отключена. Есть также две (неполные) версии: TechInfoDepot, deviwiki)

Categories:

- Wireless networking (Русский)
- Network configuration (Русский)

Hidden categories:

- Pages with dead links
- Pages with broken package links