#!/bin/bash
# Modem SpeedTouch ADSL 330 USB rosso-verde e argento-nero su Ubuntu 7.04 Feisty Fawn
# Connessione PPPoA VPI\VCI 8.35
#
# Realizzato da C@rciofone 2007
#
# Fonti:
#
# http://www.speedtouch.com/download/drivers/USB/SpeedTouch330_firmware_3012.zip
# http://www.linux-usb.org/SpeedTouch/ubuntu/index.html
# http://pt.archive.ubuntu.com/ubuntu/pool/universe/b/br2684ctl/
#
if [ "$USER" != "root" ]; then
	echo -e "Attenzione: devi avere i privilegi di Root per eseguire questo script.\nDigita: sudo sh st330_PPPoA.sh"
	exit 0
fi

# Cancellazione vecchi files
rm -rf /etc/ppp/pap-secrets
rm -rf /etc/ppp/chap-secrets
rm -rf /etc/ppp/peers/speedtch
rm -rf /etc/init.d/speedtch
rm -rf /etc/rc2.d/S99speedtch

while [ 0 ]; do
	clear
	echo -e "\n\033[0;31mInstallazione del modem SpeedTouch ADSL 330 USB in Ubuntu v6.10 Edgy Eft\nConnessione PPPoA 8.35\nAutore: C@rciofone 2007\033[0m\n"
	echo -e "1. Modem rosso o verde\n2. Modem argento o nero\n0. Uscita\n\nScegli un'opzione: "
	read modem

	if [ "$modem" = "1" ]; then
		tmodem="firmware/mrosso.eni"
		break
	elif [ "$modem" = "2" ]; then
		tmodem="firmware/mgrigio.eni"
		break
	elif [ "$modem" = "0" ]; then
		echo -e "\nUscita senza configurare il dispositivo...\n\n"
		exit 0
	fi
done

case "`( uname -m ) 2>&1`" in
	i[3-9]86*|x86|x86pc|k5|k6|k6_2|k6_3|k6-2|k6-3|pentium*|athlon*|i586_i686|i586-i686) host_arch=i386 ;;
	x86_64) host_arch=amd64 ;;
	ppc) host_arch=powerpc ;;
	sparc*) host_arch=sparc ;;
	*) host_arch=i386 ;;
esac

# dpkg -i binari/br2684ctl_20040226-1_$host_arch.deb

chmod u+x binari/firmware-extractor && binari/firmware-extractor $tmodem
mv -f speedtch-1.bin /lib/firmware && mv -f speedtch-2.bin /lib/firmware

echo -e "\nInserisci il tuo username (es: xx000000@alice.it): "
read luser
echo -e "\nInserisci la tua password: "
read pwd
echo -e "\nInserisci nuovamente la tua password: "
read pwd2

if [ "$pwd" = "$pwd2" ]; then
	echo "\"$luser\" * \"$pwd\"" > /etc/ppp/pap-secrets
	echo "\"$luser\" * \"$pwd\"" > /etc/ppp/chap-secrets
	echo -e "noipdefault\ndefaultroute\nuser '$luser'\nnoauth\nupdetach\nusepeerdns\nplugin pppoatm.so\n8.35" > /etc/ppp/peers/speedtch
cat <<EOF > /etc/init.d/speedtch
#!/bin/bash
modprobe ppp_generic
modprobe pppoatm
count=0
while [[ \$((count++)) -lt 40 ]]
do
sync=\$(dmesg | grep 'ADSL line is up')
if [ ! -z "\$sync" ]
then
pppd call speedtch
exit 0
fi
sleep 1
count=$((1+$count))
done
echo "Firmware dello SpeedTouch 330 non caricato"
EOF
	chmod u+x /etc/init.d/speedtch && ln -f -s /etc/init.d/speedtch /etc/rc2.d/S99speedtch
	ln -sf ppp/resolv.conf /etc/resolv.conf
else
	echo -e "\nLe password immesse non coincidono. Esco senza configurare il dispositivo...\n"
	exit 0
fi

echo -e "\nSpeedtouch 330 installato con successo con connessione PPPoA... Riavvia il computer...\nPer connetterti all'ADSL: sudo pppd call speedtch\nPer disconnetterti dall'ADSL: sudo killall pppd\n"

exit 0