#!/sbin/runscript # Copyright 1999-2004 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/net-dialup/speedtouch/files/speedtouch.initd,v 1.1 2005/11/01 04:59:52 mrness Exp $ depend() { need localmount modules } start() { ebegin "Starting Speedtouch ADSL Modem..." ps -e | grep -q modem_run if [ $? -eq 0 ]; then einfo "Firmware already loaded, skipping load" else einfo "Loading firmware..." if [ -z "${MICROCODE}" ]; then eend 1 "Please define \$MICROCODE in /etc/conf.d/speedtouch" return 1 fi if [ ! -f ${MICROCODE} ]; then eend 1 "Failed to find the microcode." return 1 fi # usbdevfs is up ? if [ ! -f /proc/bus/usb/devices ]; then eend 1 "usbdevfs not mounted" return 1 fi # Remove unreleased semaphore - previous instance of modem_run left it (bug #109595) (ipcs -s | grep ^0xdeadbeef &>/dev/null) && ipcrm -S 0xdeadbeef modem_run -v $VERBOSE $MODEM_RUN_EXTRAOPTS -f $MICROCODE if [ $? -ne 0 ]; then # modem_run CAN'T run eerror "Can't load the microcode !!" eerror "Please detach and attach again your modem to the USB port to unload the microcode." eerror "Then run '/etc/init.d/speedtouch start'" eend 1 "Speedtouch firmware load failed" return 1 fi einfo "Speedtouch firmware loaded" eend 0 fi if [ ! -f "/etc/ppp/peers/$PEER" ]; then eend 1 "Failed to find peer configuration" return 1 fi einfo "Launching the PPP daemon..." rm -f /var/run/pppoa*.pid start-stop-daemon --start \ --exec /usr/sbin/pppd call $PEER &>/dev/null eend $? "Failed to start the PPP daemon" } stop() { ebegin "Shutting down the SpeedTouch ADSL Modem..." start-stop-daemon --stop --pidfile /var/run/ppp0.pid pppd eend $? "Failed to stop 'pppd'." }