[Nut-upsuser] Shutdown problem with Geek Squad GS1285U

Gary Redden redden at skybest.com
Thu Feb 8 17:52:31 CET 2007


Peter:
I created S89ups-shutdown because the halt script is a no-op see the 
attached file. Also on the I went to the Ubuntu site to look up the 
functions of the other scripts in rc0.d. It said not to mess with halt 
and this was an easy way to remove the change if I had to. I am going to 
make the correction you suggested and test now. It takes 2 hours for the 
battery to run down so testing is not easy. I tried to set the low 
battery to a higher number but the UPS only accepts 600 seconds as the 
highest time.
gary at redden-p700-610:~$ cat /etc/init.d/halt
#! /bin/sh
### BEGIN INIT INFO
# Provides:          halt
# Required-Start:    umountroot
# Required-Stop:
# Should-Start:      lvm raid2
# Should-Stop:
# Default-Start:     0
# Default-Stop:
# Short-Description: Execute the halt command.
# Description:
### END INIT INFO

PATH=/usr/sbin:/usr/bin:/sbin:/bin
[ -f /etc/default/halt ] && . /etc/default/halt

. /lib/lsb/init-functions

do_stop () {
        if [ "$INIT_HALT" = "" ]
        then
                case "$HALT" in
                  [Pp]*)
                        INIT_HALT=POWEROFF
                        ;;
                  [Hh]*)
                        INIT_HALT=HALT
                        ;;
                  *)
                        INIT_HALT=POWEROFF
                        ;;
                esac
        fi

        # See if we need to cut the power.
        if [ "$INIT_HALT" = "POWEROFF" ] && [ -x /etc/init.d/ups-monitor ]
        then
                /etc/init.d/ups-monitor poweroff
        fi

        # Don't shut down drives if we're using RAID.
        hddown="-h"
        if grep -qs '^md.*active' /proc/mdstat
        then
                hddown=""
        fi

        # If INIT_HALT=HALT don't poweroff.
        poweroff="-p"
        if [ "$INIT_HALT" = "HALT" ]
        then
                poweroff=""
        fi

        log_action_msg "Will now halt"
        sleep 1
        halt -d -f -i $poweroff $hddown
}

case "$1" in
  start)
        # No-op
        ;;
  restart|reload|force-reload)
        echo "Error: argument '$1' not supported" >&2
        exit 3
        ;;
  stop)
        do_stop
        ;;
  *)
        echo "Usage: $0 start|stop" >&2
        exit 3
        ;;
esac

:
gary at redden-p700-610:~$


Peter Selinger wrote:
> I am not sure why you created a file S89ups-shutdown. You were
> supposed to edit init.d/halt. There is usually more stuff in
> init.d/halt besides shutting off the power, and you really want to
> make sure that that stuff is called before you turn off the UPS (which
> turns off your computer). 
>
> The reason it's not working is probably that you forgot a "/" in front
> of /usr/local/ups/etc/upsmon.conf. You should also make sure that is
> the correct location of your upsmon.conf.
>
> -- Peter
>
> Gary Redden wrote:
>   
>> I am still not able to get the UPS to shutdown. Here is a list of rc0.d 
>> and the file I created to shutdown the UPS after umountroot  mounts the 
>> filesystem read-only and before halt (halt seems to be a no op here. No 
>> code under the start case).
>>
>> gary at redden-p700-610:~$ cd /etc/rc0.d
>> gary at redden-p700-610:/etc/rc0.d$ ls -l
>> total 4
>> lrwxrwxrwx 1 root root  13 2007-01-26 11:13 K01gdm -> ../init.d/gdm
>> lrwxrwxrwx 1 root root  17 2007-01-26 11:13 K01usplash -> ../init.d/usplash
>> lrwxrwxrwx 1 root root  17 2007-01-26 11:58 K19camserv -> ../init.d/camserv
>> lrwxrwxrwx 1 root root  15 2007-01-26 11:13 K19hplip -> ../init.d/hplip
>> lrwxrwxrwx 1 root root  15 2007-01-28 17:43 K19samba -> ../init.d/samba
>> lrwxrwxrwx 1 root root  14 2007-01-26 11:13 K20dbus -> ../init.d/dbus
>> lrwxrwxrwx 1 root root  13 2007-01-26 11:57 K20nut -> ../init.d/nut
>> lrwxrwxrwx 1 root root  21 2007-02-01 13:05 K20ups-monitor -> 
>> ../init.d/ups-monitor
>> lrwxrwxrwx 1 root root  20 2007-01-26 11:13 K25hwclock.sh -> 
>> ../init.d/hwclock.sh
>> lrwxrwxrwx 1 root root  20 2007-01-26 11:13 K50alsa-utils -> 
>> ../init.d/alsa-utils
>> lrwxrwxrwx 1 root root  17 2007-01-26 11:52 K91apache2 -> ../init.d/apache2
>> -rw-r--r-- 1 root root 355 2006-10-06 07:34 README
>> lrwxrwxrwx 1 root root  41 2007-01-26 11:13 
>> S01linux-restricted-modules-common -> 
>> ../init.d/linux-restricted-modules-common
>> lrwxrwxrwx 1 root root  22 2007-01-26 11:13 S15wpa-ifupdown -> 
>> ../init.d/wpa-ifupdown
>> lrwxrwxrwx 1 root root  18 2007-01-26 11:13 S20sendsigs -> 
>> ../init.d/sendsigs
>> lrwxrwxrwx 1 root root  17 2007-01-26 11:13 S30urandom -> ../init.d/urandom
>> lrwxrwxrwx 1 root root  22 2007-01-26 11:13 S31umountnfs.sh -> 
>> ../init.d/umountnfs.sh
>> lrwxrwxrwx 1 root root  18 2007-01-26 11:13 S40umountfs -> 
>> ../init.d/umountfs
>> lrwxrwxrwx 1 root root  20 2007-01-26 11:13 S60umountroot -> 
>> ../init.d/umountroot
>> lrwxrwxrwx 1 root root  22 2007-02-07 15:29 S89ups-shutdown -> 
>> ../init.d/ups-shutdown
>> lrwxrwxrwx 1 root root  14 2007-01-26 11:13 S90halt -> ../init.d/halt
>> gary at redden-p700-610:/etc/rc0.d$ cd /etc/init.d
>> gary at redden-p700-610:/etc/init.d$ cat ups-shutdown
>> #! /bin/sh
>> #
>> # nut - Script to Shutdown UPS if line power is lost & low battery
>>
>> PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin
>> NAME=ups-shutdown
>> DESC="UPS Shutdown"
>> DEFAULT=/etc/default/nut
>>
>> [ -f $DEFAULT ] || exit 0
>> . $DEFAULT
>>
>> upsdrvctl=/usr/local/ups/bin/upsdrvctl
>> log=">/dev/null 2>/dev/null"
>>
>> case "$1" in
>>
>>   start)
>>     echo -n "Starting $DESC:"
>>     flag=`sed -ne 's#^ *POWERDOWNFLAG *\(.*\)$#\1#p' 
>> usr/local/ups/etc/upsmon.conf`
>>     wait_delay=`sed -ne 's#^ *POWEROFF_WAIT= *\(.*\)$#\1#p' 
>> /etc/default/nut`
>>     if [ -f "$flag" ] ; then
>>       if [ $upsdrvctl shutdown >/dev/null ] ; then
>>         echo -n "Waiting for UPS to cut the power"
>>         sleep 5
>>       else
>>         echo "Shutdown failed."
>>         echo -n "Waiting for UPS batteries to run down"
>>         sleep 10
>>       fi
>>       if [ "$wait_delay" ] ; then
>>         echo " (will reboot after $wait_delay) ..."
>>         sleep "$wait_delay"
>>         /etc/init.d/reboot
>>       fi
>>     else
>>       echo "Power down flag is not set (UPS shutdown not needed)"
>>     fi
>>
>>     ;;
>>
>>   stop)
>>     ;;
>>
>>   *)
>>     N=/etc/init.d/$NAME
>>     echo "Usage: $N {start|stop}" >&2
>>     exit 1
>>     ;;
>>
>> esac
>>
>> exit 0
>> gary at redden-p700-610:/etc/init.d$
>>
>>
>> _______________________________________________
>> Nut-upsuser mailing list
>> Nut-upsuser at lists.alioth.debian.org
>> http://lists.alioth.debian.org/mailman/listinfo/nut-upsuser
>>
>>     
>
>
>   



More information about the Nut-upsuser mailing list