[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[quasi risolto] [bash] connessione automatica wifi solo se c'è la rete



buonasera lista
nei mie deliri e sforzi sono finalmente arrivato a questo script

--------------------------
#! /bin/sh
# /etc/init.d/avvia_rete
#

function start() {
	if [ ! `lsmod | grep ipw3945` ]
	then
		modprobe ipw3945
	fi
	echo "Configuro la scheda Wi-Fi"
	if [ ! -z `iwlist eth1 scan | grep ZyXEL` ]
	then
		echo "Trovata rete casa!"
		iwconfig eth1 essid ZyXEL enc XXX
		dhclient eth1
		exit 1;
	elseif [ ! -z `iwlist eth1 scan | grep DLINK_WIRELESS` ]
		echo "Trovata rete Manuela!"
		iwconfig eth1 essid DLINK_WIRELSS enc XXX
		dhclient eth1
		echo "nameserver 130.244.127.161" > /etc/resolv.conf
		echo "nameserver 130.244.127.169" >> /etc/resolv.conf
		exit 1;
	elseif [ ! -z `iwlist eth1 scan | grep WLAN` ]
		echo "Trovata rete Vinc!"
		iwconfig eth1 essid WLAN enc XXX
		dhclient eth1
		exit 1;
	elseif [ ! -z `iwlist eth1 scan | grep lynksis` ]
		echo "Trovata rete Fede!"
		iwconfig eth1 essid lynksis enc XXX
		dhclient eth1
		exit 1;
	elseif [ ! -z `iwlist eth1 scan | INGW2A` ]
		echo "Trovata rete università!"
		iwconfig eth1 INGW2A
		dhclient eth1
		exit 1;
	elseif [ ! -z `iwlist eth1 scan` ]
		echo "Nessuna rete nota riconosciuta..."
		exit 1;
	fi
	echo "Nessuna rete riconosciuta... :("
	modprobe -r ipw3945
	exit 1;
}

case "$1" in
	start)
		start
		;;
	stop)
		echo "Deconfiguro la scheda Wi-Fi"
		ifconfig eth1 down
		exit 1;
		;;
	reload)
		echo "Nuova richiesta DHCP..."
		dhclient eth1
		exit 1;
		;;
	force-reload)
		echo "Rimozione module ipw3945"
		modprobe -r ipw3945
		echo "Carimamento modulo ipw3945"
		modprobe ipw3945
		start
		;;
	*)
		echo "Usage: /etc/init.d/avvia_rete {start|stop|reload|force-reload}"
		exit 1;
		;;
esac

exit 0
---------------------

dove nella funzione start ho aggiunto anche un semplice controllo...
all'inizio controllo che il modulo ipw sia caricato, e in caso
negativo lo carico.

ho però un piccolo problemino. se il modulo NON è caricato,
all'esecuzione del mio script viene correttamente caricato

se invece il modulo è già caricato lo script continua a fare quello
che deve fare, però mi restituisce un errore

root@v2410:/home/hfish# /etc/init.d/avvia_rete start
/etc/init.d/avvia_rete: line 6: [: too many arguments
Configuro la scheda Wi-Fi
Nessuna rete riconosciuta... :(
Stopping ipw3945 regulatory daemon: ipw3945d.
root@v2410:/home/hfish#

a cosa è dovuto? come lo elimino?
grazie
ciao
-- 
Usate BCC!
La paura ha creato gli dei (Lucrezio, De rerum natura)
Jesus loves you, but be careful... He's HIV positive
Se Dio è la risposta, allora è la domanda ad essere sbagliata...
Proudly Debian Powered

Reply to: