Интересное

Сообщение об ошибке

Warning: ini_set(): A session is active. You cannot change the session module's ini settings at this time in drupal_environment_initialize() (line 684 of /home/www/nixtalk.com/includes/bootstrap.inc).

Автоконнект к WI-FI (скрипт)

Опубликовано ср, 12/17/2014 - 06:22 пользователем Demontager

После того как я настроил роутер на Raspberry Pi, стал вопрос о том, как можно производить автоматическое подключение к wifi сети если она присутсвует или по каким либо причинам была не доступна какое-то время.
На форуме RPI нашел скрипт, но у него был один большой недостаток - если очень часто терялась связь, то интерфейс каждый раз поднимался принудительно и при этом пораждался каждый раз новый процесс dhclient,
что приводило в итоге к нехватку памяти. Поэтому добавил проверку на наличие сети в результате сканирования, а также привязал скрипт к определенной сети wifi.

Использование:
Настройки сети wi-fi прописываются в /etc/network/interfaces
IFACE - интерфейс, который следует поднимать
NET - имя wi-fi сети к которой подключаться
TIMEOUT - промежуток времени, через который проверяется наличие сети и попытка реконнекта при отсутствии

Скрипт можно поместить в /etc/rc.local чтобы при старте системы он запускался автоматически

  1. #!/bin/bash
  2. # auto reconnect to wifi
  3. #
  4.  
  5. IFACE="wlan0"
  6. NET="PUT_YOUR_WIFI_AP_HERE"
  7. TIMEOUT="40"
  8.  
  9. sleep 20
  10. while true ; do
  11. if ifconfig $IFACE &>/dev/null && ifconfig $IFACE | grep -q "inet addr:"; then
  12. echo "Network is up!"
  13. sleep $TIMEOUT
  14. elif ifconfig $IFACE &>/dev/null && iwlist $IFACE scan|grep $NET &>/dev/null; then
  15. echo "Network connection down! WIFI AP available, connecting..."
  16. ifup --force $IFACE
  17. sleep $TIMEOUT
  18. else
  19. sleep $TIMEOUT
  20. fi
  21. done
Поделится: 

Добавить комментарий