- Mitglied seit
- 9 Aug 2006
- Beiträge
- 56
- Punkte für Reaktionen
- 0
- Punkte
- 0
Hi,
ich habe eine usb festplatte an die fritzbox (7240, firmware 73.04.80) angeschlossen. Nun habe ich das Problem, dass sich die Festplatte öfter einfach selbst abschaltet. Die Festplatte schaltet sich auch am PC automatisch ab, sobald man auf "hardware sicher entfernen" klickt. Ich vermute also, dass die box die Platte unmountet. Aber warum?
Ich hab letztens erst die neuste Firmware aufgespielt und es könnte sein, dass das Problem seit dem besteht.
Auf der box läuft ein spindown skript, dass die Festplatte in den Ruhemodus versetzen soll, wenn sie nicht benutzt wird. Bisher lief das auch ohne Probleme.
Hier einmal das Skript das über die debug.cfg geladen wird und die debug.cfg selbst:
debug.cfg
spindown.sh
Wer kann da helfen?
Vielen dank schonmal
qwert
ich habe eine usb festplatte an die fritzbox (7240, firmware 73.04.80) angeschlossen. Nun habe ich das Problem, dass sich die Festplatte öfter einfach selbst abschaltet. Die Festplatte schaltet sich auch am PC automatisch ab, sobald man auf "hardware sicher entfernen" klickt. Ich vermute also, dass die box die Platte unmountet. Aber warum?
Ich hab letztens erst die neuste Firmware aufgespielt und es könnte sein, dass das Problem seit dem besteht.
Auf der box läuft ein spindown skript, dass die Festplatte in den Ruhemodus versetzen soll, wenn sie nicht benutzt wird. Bisher lief das auch ohne Probleme.
Hier einmal das Skript das über die debug.cfg geladen wird und die debug.cfg selbst:
debug.cfg
Code:
while !(ping -c 1 1und1.de); do
sleep 5
done
cd /var/tmp
wget http://www.xxx.de/fritz/spindown/sg_start
chmod +x sg_start
wget http://www.xxx.de/fritz/spindown/spindown.sh
chmod +x spindown.sh
./spindown.sh sda 900 5 &
spindown.sh
Code:
#!/bin/sh
# spindown.sh v0.3
#
# This script uses sg_start from the sg3_utils (http://sg.torque.net/sg/) to
# automatically put a SCSI device into standby mode after a configurable idle
# time period. This should also work with USB storage devices.
# Based upon the ruby script of Steffen Rusitschka found at
# http://rusi.is-a-geek.org/files/rusi_sg_down, version 0.1.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# Copyright (c) 2007 Michael Heimpold <[email protected]>
#
# Supported parameters of this script:
# ./spindown [device [idle_timeout [pc]]]
# Defaults: device = sda, idle_timeout = 900 (seconds), pc = 3
# pc is the 'power condition' value (see man page of sg_start),
# where 3 = standby and 5 = sleep
DEVICE="$1"
DEVICE="${DEVICE:=sda}"
IDLETIME="$2"
IDLETIME="${IDLETIME:=900}"
PC="$3"
PC="${PC:=3}"
export PATH=".:/var/tmp:$PATH"
mkdir -p /var/sys > /dev/null 2>&1
mount sysfs /var/sys -t sysfs > /dev/null 2>&1
SYSFS="/var/sys"
[ -x /bin/head -a -x /bin/awk ] && \
SYSFS="$(grep sysfs /proc/mounts | head -n 1 | awk '{print $2}')"
[ ! -d "$SYSFS/block" ] && echo "Error: no sysfs found." && exit 1
IOCNTFILE="$SYSFS/block/$DEVICE/device/iorequest_cnt"
[ -b /dev/sda ] || mknod -m 640 /dev/sda b 8 0 > /dev/null 2>&1
[ -b /dev/sdb ] || mknod -m 640 /dev/sdb b 8 16 > /dev/null 2>&1
[ -b /dev/sdc ] || mknod -m 640 /dev/sdc b 8 32 > /dev/null 2>&1
[ -b /dev/sdd ] || mknod -m 640 /dev/sdd b 8 48 > /dev/null 2>&1
[ ! -b /dev/$DEVICE ] && echo "Error: /dev/$DEVICE does not exist." && exit 1
LASTIOCNT=0
LASTATIME=0
SLEEPTIME=0
echo "$$" > /var/run/spindown.$DEVICE.pid
trap "rm -f /var/run/spindown.$DEVICE.pid; exit 0" SIGTERM SIGINT
exec 1>/dev/null; exec 2>/dev/null
while true; do
if [ -d $SYSFS/block/$DEVICE ]; then
CURTIME="$(date +'%s')"
CURIOCNT="$(cat $IOCNTFILE)"
if [ "$LASTIOCNT" != "$CURIOCNT" ]; then
LASTATIME=$CURTIME
fi
if [ "$(($LASTATIME + $IDLETIME))" -lt "$CURTIME" \
-a "$SLEEPTIME" -lt "$LASTATIME" ]; then
SLEEPTIME=$CURTIME
sg_start --stop --pc=$PC /dev/$DEVICE
CURIOCNT="$(cat $IOCNTFILE)"
fi
LASTIOCNT=$CURIOCNT
else
LASTIOCNT=0
LASTATIME=0
SLEEPTIME=0
fi
sleep 60
done
Wer kann da helfen?
Vielen dank schonmal
qwert