FHEM - Hardware > Einplatinencomputer
Kleines Linux Problem auf dem RPi
dougie:
Danke Thomas,
leider kann ich aktuell nicht erkennen, wie/wo owhttpd gestartet wird. Ich vermute dort irgendwo liegt mein Problem.
owserver hat ein Skript in /etc/init.d aber owhttpd nicht.
Wo könnte dann denn sonst noch passieren?
VG
Ralf
Martin Haas:
Dienste, die im /etc/init.d/ liegen werden per Standard nicht automatisch beim Booten gestartet. Man muss schon dem Betriebssystem mitteilen, dass sie gestartet werden sollen.
Auf der RPi läuft ja Debian, also einmal folgendes pro Dienst entippen, dann geht das:
sudo update-rc.d <Dateiname aus /etc/init.d> defaults
dougie:
Vielen Dank Martin, hab ich sofort gemacht und das hat er auch fehlerfrei angenommen.
Ausprobieren kann ich das erst im nächsten "Service-Fenster". Mal sehen wann ich dazu komme!!
Nochmals vielen Dank!!
Ralf
Martin Haas:
--- Zitat von: dougie schrieb am So, 20 Januar 2013 20:14 ---
/etc/init.d/owserver start
den manuell zu starten, aber der Service meldet FAIL
Wenn ich den owserver manuell mit
owserver -p 4304 /dev/i2c-1
--- Ende Zitat ---
Ich habe mir spaßeshalber die Pakete auch mal installiert. Die Runlevel waren bereits verlinkt, das
--- Code: ---sudo update-rc.d <Dateiname aus /etc/init.d> defaults
--- Ende Code ---
wurde bei Installation bereits ausgeführt, wird dir hier also nichts helfen.
In der Default-Einstellung wird nicht der owserver mit /dev/i2c-i gestartet. Das ist die Ursache für dein FAIL. Die entsprechende Einstellungen musst du also noch in die /etc/owfs.conf eintragen. Aber dann geht das ;-)
dougie:
...ich muss hier leider noch mal nachfragen, weil das Problem leider noch besteht.
Meine /etc/owfs.conf sieht so aus:
--- Code: ---
server: device = /dev/i2c-1 # i2c port: DS2482-100
http: port = 2121
ftp: port = 2120
server: port = localhost:4304
server: port = raspberry:4304
server: port = 192.168.1.18:4304
Celsius
--- Ende Code ---
und die /etc/init.d/owserver ruft auch genau diese Datei auf:
--- Code: ---pi@raspberrypi /etc/init.d $ cat owserver
#!/bin/sh
### BEGIN INIT INFO
# Provides: owserver
# Required-Start: $remote_fs $syslog $network $named
# Required-Stop: $remote_fs $syslog $network $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: 1-wire TCP server
# Description: Start and stop a TCP server for 1-wire control.
### END INIT INFO
PATH=/sbin:/bin:/usr/sbin:/usr/bin
CONFFILE=/etc/owfs.conf
DESC="1-Wire TCP Server"
NAME="owserver"
DAEMON=/usr/bin/$NAME
PIDDIR=/var/run/owfs
PIDFILE=$PIDDIR/$NAME.pid
# Gracefully exit if the package has been removed.
test -x $DAEMON || exit 0
. /lib/lsb/init-functions
d_start() {
[ -d $PIDDIR ] || {
mkdir -m 0775 -p $PIDDIR
chown root:root $PIDDIR >/dev/null 2>&1
}
start-stop-daemon --start --quiet --oknodo --exec $DAEMON -- -c $CONFFILE \
--pid-file $PIDFILE
# ensure the daemon has been started
sleep 1
pidofproc -p $PIDFILE $DAEMON >/dev/null
}
d_stop() {
start-stop-daemon --stop --quiet --oknodo --exec $DAEMON
sleep 1
if [ -f $PIDFILE ] && ! ps h `cat $PIDFILE` > /dev/null
then
# Stale PID file (owserver was successfilly stoped),
#remove it
rm -f $PIDFILE
fi
}
d_status() {
pidofproc -p $PIDFILE $DAEMON > /dev/null
}
case "$1" in
start)
log_daemon_msg "Starting $DESC" "$NAME"
d_start
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping $DESC" "$NAME"
d_stop
log_end_msg $?
;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
d_status && d_stop
d_start
log_end_msg $?
;;
status)
d_status
if [ $? -eq 0 ];then
log_success_msg "$NAME is running"
else
log_failure_msg "$NAME is not running"
fi
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload|status}" >&2
exit 1
;;
esac
exit 0
--- Ende Code ---
Frage: wo kann ich sehen, welches Kommando beim Systemstart ausgeführt wird?
VG
Ralf
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln