Я хотел бы запустить wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant.conf
при запуске Debian (уровни запуска 2-5). Я нашел некоторые расплывчатые инструкции из связанного вопроса, в котором говорилось, что нужно поместить скрипт /etc/init.d/
и затем создать на него символическую ссылку из соответствующих /etc/rcRUNLEVEL.d/
каталогов. Однако я заметил, что уже есть некоторые файлы с именем "wpasupplicant", которые, вероятно, запускаются при запуске:
/etc/network/if-down.d/wpasupplicant
/etc/network/if-post-down.d/wpasupplicant
/etc/network/if-pre-up.d/wpasupplicant
/etc/network/if-up.d/wpasupplicant
Все они являются символическими ссылками на один и тот же скрипт, /etc/wpa_supplicant/ifupdown.sh
. В начале есть комментарий, в котором говорится, что он "[...] позволяет ifup(8) и ifdown(8) управлять процессами wpa_supplicant(8) и wpa_cli(8), работающими в режиме демона". Однако ближе всего к вызову wpa_supplicant
самого себя он подходит так (в functions.sh):
WPA_SUP_BIN="/sbin/wpa_supplicant"
[snip]
start-stop-daemon --start --oknodo $DAEMON_VERBOSITY \
--name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \
-- $WPA_SUP_OPTIONS $WPA_SUP_CONF
[snip]
start-stop-daemon --stop --oknodo $DAEMON_VERBOSITY \
--exec $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE
Означает ли это, что можно безопасно создать скрипт init.d для wpa_supplicant
, и если да, то как он будет выглядеть?
Главная информация:
- Debian Сжатие (5.0)
- официальный пакет wpasupplicant (v0.6.10-2.1)
Полное содержимое моей системы functions.sh
и ifupdown.sh
находится здесь (конечно, в зависимости от времени безотказной работы моей системы — это пятилетний ноутбук, который очень любит перегреваться):
решение1
Если ваша цель — настроить беспроводной интерфейс при запуске (а не помещать команду wpa_supplicant
в скрипт по другим причинам), вы можете использовать /etc/network/interfaces
и сгенерировать обычный файл конфигурации wpa_passphrase
для достижения этого результата.
В /etc/network/interfaces
(предполагается, wlan0
что это ваш беспроводной интерфейс и конфигурация wpa_passphrase
находится в /root/your-wpa.conf
):
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /root/your-wpa.conf
В моей системе в начале строки "wpa-conf" стоит табуляция (не пробелы). Возникли проблемы с вводом табуляции для веба при вводе этого ответа. Не уверен, имеет ли это значение.
Мне не нужно было ничего редактировать или делать с файлом WPA conf. Это то, что я получаю от команды
wpa_passphrase myssid mysecret >wpa.conf
ВидетьКак использовать интерфейс WiFiна Debian.org и /usr/share/doc/wpasupplicant/README.wpa_supplicant.conf.gz
локально.
Я проверил это на Джесси, и у меня больше не осталось систем Squeeze, но я полагаю, что вы обновили их за 4 года с момента, как задали вопрос.
решение2
Отредактируйте файл wpa_supplicant.conf и добавьте его в /etc/network/interfaces