Hallo,
erstmal "Frohe Weihnachten" an alle..
Ich stehe irgendwie auf dem Schlauch. Ich bin neu bei Raspberry/Linux (Raspian) und habe mir mit Hilfe eines Huwai UMTS Sticks, eines Pi Face digital II Moduls und Python eine Torsteuerung via SMS programmiert. Siehe meinen Bericht dazu. Läuft super und stabil..
Nun will ich, das beim Booten der Raspberry inklusive Programm automatisch starten. Nun habe ich zur >Steuerung der UMTS Karte Gammu-SMSD laufen. Aus mir unerfindlichen Gründen ist die UMTS Karte von diesem Dienst nach dem Start blockiert. Ich bekommen beim Ansprechen der Karte via Python eine Fehlermeldung:
"ERR_DEVICEOPENERROR {'Text': u' Error opening device.. usw."
Ich gehe dann in die Konsole und beende den Dienst mit:
Danach geht es. Jetzt will ich das automatisch tun komme aber irgendwie mit der Diensteverwaltung von Linux nicht klar. Ich habe schon versucht den Dienst via:
am starten zu hindern. Klappt auch, nur danach kann ich meine Karte gar nicht mehr ansprechen..
Kann man den Dienst nach dem Starten per Skript oder gar aus Python beenden? Wie wäre da die Syntax? Oder wie macht man das richtig?
Der Dienst selbst hat dieses Start Skript:
#! /bin/sh[/size][size=12]### BEGIN INIT INFO[/size][size=12]# Provides: gammu-smsd[/size][size=12]# Required-Start: $local_fs $remote_fs[/size][size=12]# Required-Stop: $local_fs $remote_fs[/size][size=12]# Should-Start: mysql postgresql $syslog[/size][size=12]# Should-Stop: mysql postgresql $syslog[/size][size=12]# Default-Start: 2 3 4 5[/size][size=12]# Default-Stop: 0 1 6[/size][size=12]# Short-Description: Gammu SMS daemon[/size][size=12]# Description: Daemon for automatically sending and receiving messages using GSM phone.[/size][size=12]### END INIT INFO[/size][size=12]PATH=/sbin:/bin:/usr/sbin:/usr/bin[/size][size=12]DAEMON=/usr/bin/gammu-smsd[/size][size=12]NAME=gammu-smsd[/size][size=12]DESC="Gammu SMS Daemon"[/size][size=12]# user which will run this daemon[/size][size=12]USER=gammu[/size][size=12]# Gracefully exit if the package has been removed.[/size][size=12]test -x $DAEMON || exit 0[/size][size=12]# Include user parameters if available[/size][size=12]if [ -f /etc/default/$NAME ] ; then[/size][size=12]. /etc/default/$NAME[/size][size=12]fi[/size][size=12]. /lib/lsb/init-functions[/size][size=12]case "$1" in[/size][size=12] start)[/size][size=12] if grep -q '^port = /dev/null' /etc/gammu-smsdrc ; then [/size][size=12] log_warning_msg " $NAME not yet configured, please edit /etc/gammu-smsdrc"[/size][size=12] exit 0[/size][size=12] fi[/size][size=12]log_daemon_msg "Starting $DESC" "$NAME"[/size][size=12]start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \[/size][size=12]--exec $DAEMON -- $DAEMON_OPTS --daemon --user $USER \[/size][size=12] --pid /var/run/$NAME.pid[/size][size=12] log_end_msg $?[/size][size=12];;[/size][size=12] stop)[/size][size=12] log_daemon_msg "Stopping $DESC" $NAME[/size][size=12]start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \[/size][size=12]--exec $DAEMON[/size][size=12] log_end_msg $?[/size][size=12];;[/size][size=12] restart|force-reload)[/size][size=12] sh $0 stop[/size][size=12] sleep 1[/size][size=12] sh $0 start[/size][size=12];;[/size][size=12] reload)[/size][size=12] log_daemon_msg "Reloading $DESC" $NAME[/size][size=12]start-stop-daemon --stop --signal HUP --quiet --pidfile \[/size][size=12]/var/run/$NAME.pid --name $NAME[/size][size=12]log_end_msg $?[/size][size=12] ;;[/size][size=12] status)[/size][size=12] status_of_proc -p /var/run/$NAME.pid $DAEMON $NAME && exit 0 || exit $?[/size][size=12] ;;[/size][size=12] *)[/size][size=12]N=/etc/init.d/$NAME[/size][size=12]echo "Usage: $N {start|stop|restart|force-reload|reload|status}" >&2[/size][size=12]exit 1[/size][size=12];;[/size][size=12]esac[/size][size=12]exit 0[/size][size=12]
[/size]
Vielen Dank im Voraus
Ralf