Вы можете сделать это в BASH. Просто проверяйте соединение каждую минуту или ping-ответ (если он слишком высокий). Сканирование сетей и переключение.
для сканирования вы можете использовать:
$ iwlist wlan0 scan
для подключения вы можете использовать
#!/bin/bash
killall -9 dhclient
ifconfig wlan0 down
ifconfig wlan0 up
iwconfig wlan0 channel CHAN
iwconfig wlan0 essid ESSID
ifconfig wlan0 up
dhclient wlan0
Вы можете легко связать (объединить) скрипт сканирования с (с) соединяющим скриптом, используя grep / awk / cut, которые являются очень полезными инструментами.
Если вы используете Ubuntu (Spying !!!), отключите службу сетевого менеджера с помощью:
временное решение до перезагрузки
$ /etc/init.d/network-manager остановите
постоянное решение до chmod + x (когда вы хотите вернуть networkmanager)
$ chmod -x /etc/init.d/network-manager
в Fedora (пока вы в безопасности!) служба называется NetworkManager:
temp sol:
$ service NetworkManager stop
perm sol:
$ service NetworkManager disable