Недавно колом стала задача сделать автоматическое подключение вафли к точке доступа. Алгоритм шифрования WPA. Недолго думая сел гуглить минимум инфы для написания башскрипта. А теперь по порядку.
Запуск вафли
Как всем хорошо известно, подключение к сети с шифрованием пароля WPA в линуксе происходит посредством программы wpa_supplicant. Она использует конфиг, который генерируется программой wpa_passphrase и подключает комп к сети, объявленной в этом конфиге. Итак, задачи, которые должен выполнять скрипт:
- Подключаться к сети
- Проверять наличие конфига
- Проверять, подключена ли уже вафля
Сам скрипт
Сразу прошу сильно не ругать за возможную кривизну конструкции, в баше я новичок:
#!/bin/bash
CONFIG=/usr/share/wifi_config
if ps ax | grep -v grep | grep wpa_supplicant > /dev/null
then
echo -e "
E[1;32m*********************************************************************************
* *
* WiFi already started *
* *
*********************************************************************************E[0m
";
else
if [ -e $CONFIG ]
then
echo -e "
E[1;33m*********************************************************************************
* *
* WiFi starting... *
* *
*********************************************************************************E[0m
"
wpa_supplicant -Dwext -iwlan0 -c$CONFIG & > /dev/null
sleep 3
dhcpcd wlan0 >> /dev/null
echo -e "
E[1;32m*********************************************************************************
* *
* WiFi starting success! *
* *
*********************************************************************************E[0m
";
else
echo -e "
E[1;31m*********************************************************************************
* Config file not exist, use: *
* E[01;32mwpa_passphrase SSID LOGIN PASSWORD >> /usr/share/wifi_configE[1;31m *
* and start this script again. *
*********************************************************************************E[0m
";
fi
fi
Я использовал цветовые эскейп-последовательности для улучшения читабельности выводимого текста.
Сделаем скрипт исполняемым при помощи
chmod +x /wifi
и слинкуем его для возможности запускать его без указания папки
ln -s /wifi /usr/bin/startwifi
Итак, скрипт готов, пора прописать его в автозапуск.
Автозапуск
Для автозапуска я использовал файл /etc/rc.local, в который просто нужно добавить
startwifi
И начиная с этого момента вафля будет автоматически запускаться при старте системы (конечно же скрипт можно запускать и ручками)
На этом все, благодарю за проявленное внимание, с радостью прийму всю критику и исправления =)
Автор: xxxTy3uKxxx