Разница между systemd wpa_supplicant.service и [email protected]?

Разница между systemd wpa_supplicant.service и [email protected]?

Используя 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.confwlan0в имени файла соответствуетwlan0в названии услуги.

Если ваша сетевая карта использует драйвер nl80211, вы можете использовать его [email protected]таким же образом. Файл конфигурации, который он ищет, это/etc/wpa_supplicant/wpa_supplicant-nl80211-<interface>.conf

Связанный контент