# CyberPower pwrstatd won't start up automatically

## Featherfoot

I have a CyberPower 825AVR-G UPS on my system. It connects to the computer with a USB. I downloaded the software from the CyberPower site and it seems to work fine except for one oddity.

If I start the pwrstatd daemon with the command "/etc/init.d/pwrstatd start" everything works fine.

When I attempt to start the daemon by using rc-update and adding pwrstatd to the default, it does not start and I don't know why.

Any ideas?

----------

## Featherfoot

Still have the problem. Anybody?

----------

## vilhelmgray

The init script provided with pwrstatd is not in the correct format expected by Gentoo's runtime script (see the Writing Init Scripts section for more information).

Here's a modified version of the pwrstatd init script that should work correctly via rc-update (simply replace /etc/init.d/pwrstatd with this one):

```

#!/sbin/runscript

#

# default_pwrstatd: This shell script takes care of starting and stopping

#                   standalone pwrstatd.

#

# runlevel: 2345, start priority 99, stop priority 99

# description: The PowerPanel for Linux software is major help system

#              to monitor UPS.

# daemon name: pwrstatd

# configuraion file: /etc/pwrstatd.conf

# /etc/init.d/pwrstatd symbolic link /usr/sbin/pwrstatd

PWRSTATD_BIN=/usr/sbin/pwrstatd

PROG=pwrstatd

VERSION="1.2.3"

RETVAL=0

RESULT=0

test -x $PWRSTATD_BIN || { echo "$PWRSTATD_BIN not installed"; 

   if [ "$1" = "stop" ]; then exit 0;

   else exit 5; fi; }

reload() {

   echo -n "Reload service $PROG $VERSION"   

   # check pwrstatd process status   

   # CMD=`ps aux | grep "\\</usr/sbin/pwrstatd\\>"`

   CMD=`ps aux | grep "/usr/sbin/pwrstatd" |grep -v "grep"` # without grep command

   if [ ${#CMD} != 0 ]; then         #check string length

      set -- $CMD                   # set result as variable $1 ~ $9(max)

      kill -HUP $2                  # $2 denote process ID(PID)

      RETVAL=$?

      RESULT=1        

   else

      # daemon is not existed

      RESULT=0      

   fi

   if [ $RESULT = 0 ]; then

      echo -n "   unused"

   else

      echo -n "   reloading"

   fi

   echo

   check

   RETVAL=$?

   return $RETVAL

}

status() {

   echo -n "Check service status $PROG $VERSION"

   # check pwrstatd process status   

   # CMD=`ps aux | grep "\\</usr/sbin/pwrstatd\\>"`

   CMD=`ps aux | grep "/usr/sbin/pwrstatd" |grep -v "grep"` # without grep command

   if [ ${#CMD} != 0 ]; then         #check string length

      # daemon is existed

      RESULT=1 

   else

      # daemon is not existed

      RESULT=0      

   fi

   if [ $RESULT = 0 ]; then

      echo -n "   unused"

   else

      echo -n "   running"

   fi

   echo

   check   

   RETVAL=$?

   return $RETVAL

}

start() {

    echo -n "Starting $PROG $VERSION"

    

    # Start daemons.

    echo -n $"   starting"       

    echo

    status            # query daemon status     

    if [ $RESULT = 0 ]; then

        $PWRSTATD_BIN &         # run as background    

        RETVAL=$?         # The $? variable denote get start daemon result

    fi

    

    check

    

    return $RETVAL

}

stop() {

    echo -n "Stopping $PROG $VERSION"

    

    # Stop daemons.

    echo -n $"   stopping"

    echo

    # Terminate pwrstatd process!

    CMD=`ps aux | grep "/usr/sbin/pwrstatd" |grep -v "grep"`    # without grep command

    if [ ${#CMD} != 0 ]; then               # string length

           set -- $CMD                   # set result as variable $1 ~ $9(max)      

           kill -TERM $2               # $2 denote process ID(PID)

           RETVAL=$?

    fi      

    check

    return $RETVAL

}

restart() {

   $0 stop

   $0 start

   check

}

check() {

   if [ $RETVAL = 0 ]; then

      echo "done"

   else

      echo "fail"

   fi

}

```

----------

## Featherfoot

CyberPower was not helpful in trying to troubleshoot their script.

I eventually was able to configure nut to monitor my UPS. I then configured knutclient to provide the status display.  This works fairly well and gives a nice display of UPS status.

Thanks for your help.

----------

