Nochmal wegen den USV-Problemen:
Ich habe vorhin das DSM-Update eingespielt und anschließend mal in /var/log/messages speziell nach USV/UPS-Einträgen gesucht; hier mal die Einträge:
May 22 13:25:59 DiskStation upsmon[4442]: Startup successful
May 22 13:25:59 DiskStation root: /usr/syno/etc/rc.sysv/ups-usb.sh start-all invoked.
May 22 13:25:59 DiskStation upsmon[4449]: UPS [ups@localhost] connected
...
May 22 13:26:04 [Event] /usr/libexec/net/ipv6_change/upsNetChg.sh from eth0, restart UPS service.
...
May 22 13:26:06 DiskStation root: The UPS is disconnected.
May 22 13:26:08 DiskStation root: /usr/syno/etc/rc.sysv/ups-usb.sh stop invoked.
...
May 22 13:26:09 DiskStation usbhid-ups[5951]: Startup successful
May 22 13:26:09 DiskStation root: The UPS is connected. driver=[]
May 22 13:26:10 DiskStation upsd[6265]: Startup successful
May 22 13:26:10 DiskStation upsd[6265]: upsd.c:741 IP [127.0.0.1] add to ACL list
May 22 13:26:10 DiskStation upsd[6265]: upsd.c:745 IP [::1] add to ACL list
...
May 22 13:26:11 DiskStation upsmon[6434]: Startup successful
May 22 13:26:11 DiskStation root: /usr/syno/etc/rc.sysv/ups-usb.sh start-all invoked.
May 22 13:26:11 DiskStation upsmon[6436]: UPS [ups@localhost] connected
...
May 22 13:27:29 DiskStation root: == DSM finished boot up ==
Nach dem Reboot ist die USV also verbunden, dann schlägt (warum auch immer) das /usr/libexec/net/ipv6_change/upsNetChg.sh Skript zu, welches einen Restart von upsd and upsmon auslöst. (Vor diesem Event gibt es nur Einträge welche die FW auf meinen beiden Festplatten ausliest). Anschließend werden upsd and upsmon wieder gestartet und die USV ist wieder connected.
Im /usr/libexec/net/ipv6_change/upsNetChg.sh Skript steht Folgendes:
#!/bin/sh
SERVICE_UPS_USB="ups-usb"
SERVICE_UPS_NET="ups-net"
UPS_V_NAME="SYNO_UPS"
UPS_V_VERSION="2.6"
UPS_V_VENDOR="Synology Inc."
UPS_V_MODVER="1.0"
UPS_F_LOCK="/tmp/synoups.lock"
UpsRestart() {
UpsMode=`/bin/get_key_value /etc/synoinfo.conf ups_mode`
# ups_mode will be empty when upgrade to 4.2
if [ "x" = "x${UpsMode}" ]; then
UpsMode="usb"
fi
if [ "usb" = "${UpsMode}" ]; then
/usr/syno/sbin/synoservicecfg --restart $SERVICE_UPS_USB
elif [ "snmp" = "${UpsMode}" ]; then
/usr/syno/sbin/synoservicecfg --restart $SERVICE_UPS_NET
fi
}
case $1 in
--sdk-mod-ver)
#Print SDK support version
echo ${UPS_V_MODVER};
;;
--name)
#Print package name
echo ${UPS_V_NAME};
;;
--pkg-ver)
#Print package name
echo ${UPS_V_VERSION};
;;
--vendor)
#Printf package vendor
echo ${UPS_V_VENDOR};
;;
--pre)
#Actions before share set
echo "Do Nothing";
;;
--post)
{
if [ `echo ${IFNAME} | cut -c 1-3` = "eth" ] ||
[ `echo ${IFNAME} | cut -c 1-4` = "wlan" ] ||
[ `echo ${IFNAME} | cut -c 1-4` = "bond" ]; then
MSG="[Event] $0 from ${IFNAME}, restart UPS service."
else
exit 0
fi
if flock -n -x 7; then
local cntUpsMon=`ps|grep '/usr/syno/sbin/upsmon'|grep -cv grep`
if [ 0 -lt $cntUpsMon ]; then
sleep 5
echo $MSG >> /var/log/messages
UpsRestart
fi
flock -u 7
fi
} 7<>${UPS_F_LOCK} &
;;
*)
echo "Usage: $0 --sdk-mod-ver|--name|--pkg-ver|--vendor|--pre|--post"
;;
esac
Analyseversuch (ich bin kein Skriptexperte
):
Funktion UpsRestart wird aufgerufen
(/bin/get_key_value /etc/synoinfo.conf ups_mode ist binär.)
...
Folgender Zweig wird eingeschlagen
if [ "x" = "x${UpsMode}" ]; then
UpsMode="usb"
...
Dann der if-Zweig:
if [ "usb" = "${UpsMode}" ]; then
/usr/syno/sbin/synoservicecfg --restart $SERVICE_UPS_USB
(/usr/syno/sbin/synoservicecfg ist eine ausführbare binäre Datei.)
...
Anschließend folgender if-Zweig:
if [ `echo ${IFNAME} | cut -c 1-3` = "eth" ] ||
[ `echo ${IFNAME} | cut -c 1-4` = "wlan" ] ||
[ `echo ${IFNAME} | cut -c 1-4` = "bond" ]; then
MSG="[Event] $0 from ${IFNAME}, restart UPS service."
Und aus der Zeite:
MSG="[Event] $0 from ${IFNAME}, restart UPS service."
wird in var/log/messages dann:
[Event] /usr/libexec/net/ipv6_change/upsNetChg.sh from eth0, restart UPS service.
ps|grep '/usr/syno/sbin/upsmon'|grep -cv grep gibt bei mir 2 (zweimal /usr/syno/sbin/upsmon -b) also kein weiterer Versuch die USV-Dienste neu zu starten.
Hat schon jemand versucht das IPv6-Setup in der DSM(Systemsteuerung=>Netzwerk=>Netzwerk-Schnittstelle "LAN"=>bearbeiten) zu deaktivieren?