Используя Arch Linux на Raspberry Pi и USB Wi-Fi-донгл, я могу заставить работать Wi-Fi, включив wpa_supplicant@wlan0
службу systemd. Она использует файл и указывает интерфейс./etc/wpa_supplicant/[email protected]
wlan0
Я понимаю, что wpa_supplicant
служба systemd делает то же самое, за исключением того, что она автоматически определяет беспроводной интерфейс, но запуск этой службы вместо этого не работает, даже если у меня есть действительный /etc/wpa_supplicant/wpa_supplicant.conf
файл.
Как использовать wpa_supplicant
службу systemd для автоматического определения беспроводного интерфейса и настройки Wi-Fi?
Если автоопределение — это не то, что wpa_supplicant
делает сервис, в чем смысл сервиса wpa_supplicant
по сравнению с wpa_supplicant@interface
сервисом?
решение1
Как указано наздесь, файл wpa_supplicant.service предназначен для служб, поддерживающих DBus, поэтому он будет автоматически обнаружен NetworkManager, например. Поскольку я предполагаю, что вы не используете NetworkManager, вам либо придется написать программу/скрипт, который будет использовать информацию DBus для поднятия интерфейса, либо использовать определенную версию интерфейса[email protected]. Цитата:
Пакет wpa_supplicant предоставляет несколько служебных файлов systemd:
wpa_supplicant.service- использует D-Bus, рекомендуется для пользователей NetworkManager.
[email protected]- принимает имя интерфейса как аргумент и запускает демон wpa_supplicant для этого интерфейса. Он считывает файл конфигурации /etc/wpa_supplicant/wpa_supplicant-interface.conf.
[email protected]- также специфичен для интерфейса, но явно принудительно использует драйвер nl80211 (см. ниже). Путь к файлу конфигурации - /etc/wpa_supplicant/wpa_supplicant-nl80211-interface.conf.
[email protected]- также специфичен для интерфейса, использует проводной драйвер. Путь к файлу конфигурации - /etc/wpa_supplicant/wpa_supplicant-wired-interface.conf.
решение2
Установленный [email protected]
сwpa_supplicantпакет из pacman в это динамический файл службы, который позволяет управлять службой, такой как . Он будет искать файл конфигурации wpa_supplicant в , где/usr/lib/systemd/system/[email protected]
wpa_supplicant@wlan0
/etc/wpa_supplicant/wpa_supplicant-wlan0.conf
wlan0в имени файла соответствуетwlan0в названии услуги.
Если ваша сетевая карта использует драйвер nl80211, вы можете использовать его [email protected]
таким же образом. Файл конфигурации, который он ищет, это/etc/wpa_supplicant/wpa_supplicant-nl80211-<interface>.conf