HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Moderators: Support Team Germany, Support Coordinator

HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby epeios » 11.10.2009, 17:06

Was wollte ich erreichen.

1.) Der MusicPal hängt hinter einer Funktsteckdose, nach anschalten des Stromkreises sollte der MusicPal in den Standby gehen.
2.) Wenn der MusicPal aus dem Standby aktiviert wird soll die Buffalo Linkstation Live als MediaServer gestartet werden.
3.) Die Linkstation Live soll neben dem NAS-Navigator auch den MusicPal berücksichtigen und solange der MusicPal an ist auch an bleiben. Erst wenn alle Rechner heruntergefahren sind und der MusicPal im Standby ist oder der Stromkreis des MusicPal aus ist soll sich die Linkstation schlafen legen.
4.) Der MusicPal soll WLAN im Standby immer deaktivieren und beim aktivieren (aus dem Standby aktivieren) das WLAN nur dann aktivieren wenn kein LAN zur Verfügung steht.


Auf dem MusicPal:

Um Dateien in / schreiben zu können muss das Filesystem neu gemountet werden!

mount -o remount,rw /

Danach wieder Read-Only mounten werden!
mount -o remount,ro /

alternativ: /home/make_rw.sh


/etc/rc.d/init.d/poweron_to_standby:
a.) Das Script anlegen (touch /etc/rc.d/init.d/poweron_to_standby)
b.) chmod 755 auf das Script (Berechtigungen richtig)
c.) cd /etc/rc3.d/
d.) ln -s ../init.d/poweron_to_standby /etc/rc3.d/S99poweron_to_standby

(a. Der MusicPal geht nach dem Boot direkt in den Standby)
(b. Die 20sec werden für das WLAN benötigt damit die Zeitsynchronisation funktioniert und die WLAN Verbindung später stabil bleibt, bevor das WLAN durch das nashville_notify Script deaktiviert wird)

In die Datei /etc/rc.d/init.d/poweron_to_standby folgendes einfügen:

#! /bin/sh

case "$1" in
start)
/bin/ipc_send show_msg_box "Starte: 20sec§verbleibend§#5"
sleep 5
/bin/ipc_send show_msg_box "Starte: 15sec§verbleibend§#5"
sleep 5
/bin/ipc_send show_msg_box "Starte: 10sec§verbleibend§#5"
sleep 5
/bin/ipc_send show_msg_box "Starte: 5sec§verbleibend§#5"
sleep 5
ipc_send power_down
;;
*)
echo "Usage: $0 {start}"
exit 1
esac

exit 0


/etc/rc.d/init.d/poweron_to_standby_BOOTDONE:
a.) Das Script anlegen (touch /etc/rc.d/init.d/poweron_to_standby_BOOTDONE)
b.) chmod 755 auf das Script (Berechtigungen richtig)
c.) cd /etc/rc3.d/
d.) ln -s ../init.d/poweron_to_standby_BOOTDONE /etc/rc3.d/S03poweron_to_standby_BOOTDONE

(Die angelegt Datei wird direkt beim booten gleöscht um sie im späteren Bootvorgang wieder anzulegen. Dadurch wird gewährleistet das die WOL Befehle im nashville_notify nicht beim initialen starten ausgeführt werden)

In die Datei /etc/rc.d/init.d/poweron_to_standby_BOOTDONE folgendes einfügen:

#! /bin/sh

if [ -f /tmp/BOOTDONE ]; then
rm /tmp/BOOTDONE
fi


/bin/nashville_notify.sh:
(a. WLAN wird im Standby deaktiviert)
(b. WLAN wird im aktiven Modus nur aktiviert wenn keine LAN-Verbindung besteht)
(c. Aufwecken der Linkstation Live (properitäres magic-packet format der linkstation))

In die Datei /bin/nashville_notify.sh folgendes einfügen:

#!/bin/sh

#logger $1 $2 $3

# Linkstation - Primary
WOL_DYN_1="<EUER-DYNDNS-NAME>.dyndns.org:9"
WOL_MAC_1="<MAC>%3A<MAC>%3A<MAC>%3A<MAC>%3A<MAC>%3A<MAC>"


if [ $1 = event -a $2 = power_down ]; then
# Netzwerk deaktivieren
/etc/init.d/wlan stop
fi

# Wenn MusicPal aufwacht, MagicPacket an Server schicken
if ([ $1 = event -a $2 = power_up ] && [ -f /tmp/BOOTDONE ]); then
# Netzwerk aktivieren
if ! ifconfig | grep eth0 && ! ifconfig | grep wlan0; then /etc/init.d/wlan start; fi
ping -c 1 $serverip > /dev/null
let ret=$?
if [ $ret -ne 0 ]; then
# Linkstation aufwecken
wget -O - "http://www.wakeonlan.me/?mobile=0&ip=$WOL_DYN_1&mac=$WOL_MAC_1&schedule=&timezone=2"
fi
fi

if [ ! -f /tmp/BOOTDONE ]; then
touch /tmp/BOOTDONE
fi



Auf der Linkstation:

/etc/cron.d/chkip.sh
Anlegen der Datei /etc/cron.d/chkip.sh (touch) und die richtigen Berechtigungen vergeben. (chmod)

Folgendes in die Datei /etc/cron.d/chkip.sh einfügen:


#! /bin/sh

# Linkstation
MACADR=`ifconfig $(ifconfig | grep eth | cut -d " " -f1;) | grep HWaddr | cut -d " " -f11`
IPADR=`ifconfig $(ifconfig | grep eth | cut -d " " -f1;) | grep "inet addr:" | cut -d " " -f12 | cut -d ":" -f2`

# Musicpal - LAN
CHKIP1=<XXX>.<XXX>.<XXX>.<XXX>
MUSICPALUSER1="<MUSICPAL-USERNAME>"
MUSICPALPASSWORD1="<MUSICPAL-PASSWORD>"

# Musicpal - WLAN
CHKIP2=<XXX>.<XXX>.<XXX>.<XXX>
MUSICPALUSER2="<MUSICPAL-USERNAME>"
MUSICPALPASSWORD2="<MUSICPAL-PASSWORD>"


dowol () {
/usr/local/sbin/naswol -m $MACADR -i $IPADR -A
}


WOLDONE=0


if [ $WOLDONE -eq 0 ]; then
POWERSTATE=0
POWERSTATE=`wget -O - "http://$MUSICPALUSER1:$MUSICPALPASSWORD1@$CHKIP1/admin/cgi-bin/state.cgi" | grep "power_state" | sed -e "s/<power_state>//g" | sed -e "s/<\/power_state>//g" | sed -e "s/ //g" | tr -d "\r\n"`
if [ $POWERSTATE -eq 1 ]; then
echo "MusicPal LAN is alive..."
dowol
WOLDONE=1
exit;
fi
fi

if [ $WOLDONE -eq 0 ]; then
POWERSTATE=0
POWERSTATE=`wget -O - "http://$MUSICPALUSER2:$MUSICPALPASSWORD2@$CHKIP2/admin/cgi-bin/state.cgi" | grep "power_state" | sed -e "s/<power_state>//g" | sed -e "s/<\/power_state>//g" | sed -e "s/ //g" | tr -d "\r\n"`
if [ $POWERSTATE -eq 1 ]; then
echo "MusicPal WLAN is alive..."
dowol
WOLDONE=1
exit;
fi
fi


In die Crontab folgendes zusätzlich einfügen:
*/1 * * * * /etc/cron/cron.d/chkip.sh


Alles was zwischen <> steht muss entsprechend angepasst werden. Ausserdem benötigt ihr einen dyndns-account oder einen anderen für das WOL der Linkstation, sowie euer router muss udp port 9 auf die linkstation für das wol durchlassen (port ist anpassbar).

Ich übernehme keinerlei Haftung für die Richtigkeit, Vollständigkeit usw. Wer etwas aus diesen Zeilen übernimmt tut dieses auf eigene Gefahr.

Viel Spaß!
Last edited by epeios on 04.11.2009, 12:03, edited 5 times in total.
epeios
 
Posts: 4
Joined: 11.10.2009, 15:02

Re: WLAN deaktivieren im Standby, Linkstation WOL, etc.

Postby Musicman » 11.10.2009, 20:10

Ich würde mir wünschen, das die Funktion "Der MusicPal soll WLAN im Standby immer deaktivieren und beim aktivieren das WLAN nur dann aktivieren wenn kein LAN zur Verfügung steht" in die offizielle Firmware einfließt!
Musicman
 
Posts: 15
Joined: 29.09.2009, 21:38

Re: HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby WLANnutzer » 02.11.2009, 22:28

Die Funktion "Der MusicPal soll WLAN im Standby immer deaktivieren und beim Aktivieren das WLAN nur dann aktivieren wenn kein LAN zur Verfügung steht." sollte unbedingt mit in die Firmware aufgenommen werden.

Ergänzend soll WLAN natürlich aktiviert werden, wenn der MusicPal vom Standby eingeschaltet wird. Eine verlängerte Wartezeit würde ich durchaus akzeptieren, weil die umständliche WPA-Passworteingabe bzw. -überspringen der Zeichen entfallen würde.

Das alles hätte folgende Vorteile:
1. Es würde dann die Nachtschaltung des Routers wieder greifen, weil kein WLAN-Client mehr angemeldet ist.
2. Dadurch würde Strom gespart werden und
3. die kurzwellige Strahlung würde zumindest nachts vermieden werden.

Derzeit ist es bei mir deswegen so, dass ich bei jeder Nutzung des MusicPAL eine manuelle Anmeldung als WLAN-Client vornehme und nachdem ich Musik gehört habe, eine Abmeldung vornehmen muss. Dieses ist sehr umständlich. Ich hoffe, dass dieses Feature realisiert wird.
WLANnutzer
 
Posts: 2
Joined: 02.11.2009, 19:15

Re: HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby epeios » 04.11.2009, 12:05

Hi,

habe die ursprüngliche Beschreibung angepasst:

Mit: "Der MusicPal soll WLAN im Standby immer deaktivieren und beim aktivieren das WLAN nur dann aktivieren wenn kein LAN zur Verfügung steht." ist gemeint, wenn der MusicPal aus dem Standby aktiviert wird.

cu
epeios
 
Posts: 4
Joined: 11.10.2009, 15:02

Feature Request | Standby nach Boot,WLAN aus im Standby

Postby WLANnutzer » 06.11.2009, 18:24

Hi epeios,

Danke für die Ergänzung. Da meine Linux-Kenntnisse sind sonderlich gut sind und die Lösung ja bereits von Dir skizziert worden ist, hoffe ich, dass sich das ganze im nächsten Firmwareupdate wiederfindet.

Viele Grüße

@SW-Entwicklung: Bitte nehmt diese Punkte mit auf!!
WLANnutzer
 
Posts: 2
Joined: 02.11.2009, 19:15

Re: HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby matce » 23.11.2009, 21:29

Hallo epeios!

Was muss ich denn tun, um die "WLAN-Abschaltungsfunktion" ohne die Linkstation nutzen zu können? Bei mir schaltet es nach den 20 Sekunden zwar den MusicPal in Standby und schaltet das WLAN aus aber leider wird es bei späterem Gebrauch nicht wieder von selbst eingeschaltet :( Da muss ich dann selbst Hand anlegen.

Wäre echt nett wenn man da auch eine Lösung finden würde.

Gruß matce
matce
 
Posts: 4
Joined: 18.01.2009, 12:44

Re: HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby gert99 » 23.11.2009, 22:41

Hallo,

als Anregung poste ich mal meine /bin/nashville_notify.sh (basierend auf der von epeios geposteten, danke!). Das Script kümmert sich um das Wlan und schaltet einen eingeschalteten Wecker nach 70 Minuten wieder ab. Bei mir funktioniert das einwandfrei.

Code: Select all
#!/bin/sh                                                                       

logger $1 $2 $3

# bei power_down Netzwerk deaktivieren und wecker_on loeschen
if [ $1 = "event" -a $2 = "power_down" ]; then               
  /etc/init.d/wlan stop                                     
  if [ -f /tmp/wecker_on ]; then                             
  rm /tmp/wecker_on                                         
  fi                                                         
fi                                                           

# bei power_up Netzwerk initialisieren
if [ $1 = "event" -a $2 = "power_up" ]; then

  # wenn kein LAN und kein WLAN aktiv, WLAN akktivieren
  if ! ifconfig | grep eth0 && ! ifconfig | grep wlan0; then
  /etc/init.d/wlan start
  fi

  # wenn LAN und WLAN aktiv, WLAN deaktivieren
  if ifconfig | grep eth0 && ifconfig | grep wlan0; then
    /etc/init.d/wlan stop
  fi
fi


# Wecker soll nach 70*60=4200 Sekunden abschalten
TIMER_STANDBY=4200

if [ "$1" = "event" -a "$2" = "wakeup_timer" ]; then
  touch /tmp/wecker_on
  sleep $TIMER_STANDBY
  if [ -f /tmp/wecker_on ]; then
  rm /tmp/wecker_on
# In den Standby schicken
  ipc_send power_down
  fi
fi

exit 0


Grüße Gert
gert99
 
Posts: 48
Joined: 19.10.2009, 06:21

Re: HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby matce » 24.11.2009, 18:22

Das funktioniert ja fast perfekt! WLAN aus und wieder ein :D Vielen vielen Dank! Jetzt funktioniert auch die Nachtschaltung der Fritzbox wieder perfekt.

Leider höre ich nun wenn ich mich wecken lasse, immer den Gockel, der meint es gäbe keinen Stream. Gibt es dabei irgendwie noch eine Möglichkeit den Wecker ca. 20 Sekunden warten zu lassen, damit die WLAN-Verbindung steht, bevor er klingelt? Dann müsste doch auch der olle Gockel endlich Ruhe geben.

Wie gesagt vielen Dank!

Gruß matce
matce
 
Posts: 4
Joined: 18.01.2009, 12:44

Re: HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby gert99 » 24.11.2009, 18:44

Leider höre ich nun wenn ich mich wecken lasse, immer den Gockel, der meint es gäbe keinen Stream. Gibt es dabei irgendwie noch eine Möglichkeit den Wecker ca. 20 Sekunden warten zu lassen, damit die WLAN-Verbindung steht, bevor er klingelt? Dann müsste doch auch der olle Gockel endlich Ruhe geben.


Ich glaube nicht, dass man das in der nashville_notify.sh regeln kann. Die wird ja nur mit dem Wake_up Event gestartet, mir ist keine Möglichkeit bekannt, das Starten des Wecksignals dann zu verzögern. Ich habe das Problem hier nicht, da ich den MP im Schlafzimmer per Patchkabel betreibe und das Wlan in der Nacht sowieso aus ist.

Hast du es schon mit der aktuellen Firmware 1.65 Beta probiert? Soviel ich weiß, soll es da den Gockel sowieso nicht mehr geben, vielleicht ist das Problem dafür aber in Nashville ja gelöst.

Edit: Du könntest ja ungefähr zu der festen Zeit, zu der du morgens immer das Wlan der Fritzbox aktivierst, im MP über einen Cronjob ebenfalls das Wlan starten. Wie das gehen könnte, kannst Du dem Beispiel im folgenden Link entnehmen:

http://www.mydssd.de/musicpal/doku.php?id=my_musicpal:autooff

Anstelle des "root ipc_send power_down" halt dort einfach ein "root /etc/init.d/wlan start" müsste funktionieren.

Grüße Gert
gert99
 
Posts: 48
Joined: 19.10.2009, 06:21

Re: HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby steffenp » 24.11.2009, 19:05

matce wrote:Leider höre ich nun wenn ich mich wecken lasse, immer den Gockel, der meint es gäbe keinen Stream. Gibt es dabei irgendwie noch eine Möglichkeit den Wecker ca. 20 Sekunden warten zu lassen, damit die WLAN-Verbindung steht, bevor er klingelt? Dann müsste doch auch der olle Gockel endlich Ruhe geben.


schon mal versucht als ersten Favoriten ein mp3-File anzugeben? Können ja auch 20 sec. Stille sein. Hab das aber selber noch nicht probiert.

Gruß
Steffen
steffenp
 
Posts: 145
Joined: 14.02.2008, 10:37

Re: HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby matce » 24.11.2009, 21:38

Hallo! Vielen vielen Dank für eure Mühe!

Also das mit der Beta 1.65 habe ich probiert --> kein Unterschied bei diesem Problem...

Aber die Idee mit dem Cronjob ist mir gestern auch schon gekommen. Dazu gibt es sogar in der allwissenden Müllhalde Wikipedia etwas zu finden : http://de.wikipedia.org/wiki/Cron

Damit sollte denke ich jetzt mal in jedem Falle eine kleine möglicherweise sogar sehr präzise "Nachtschaltung" möglich sein.

Ich werde da wohl noch etwas experimentieren und euch, wenn alles klappt über die Ergebnisse berichten. Möglicherweise hilft das ja dem ein oder anderen auch irgendwie weiter.

Trotzdem die Bitte an freecom: Baut da doch in die Firmware mal was richtiges ein.... ich meine selbst das iPhone schaltet im Standby das WLAN ab und später wieder an... sollte doch Standard sein, sowas nicht immer laufen zu lassen. Das mit dem Wecker kann doch auch nicht das große Problem sein....

Gruß matce
matce
 
Posts: 4
Joined: 18.01.2009, 12:44

Re: HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby epeios » 09.03.2010, 22:56

Hi,

anbei mal wieder eine aktuelle Doku(wen es interessiert).

1.) Der MusicPal hängt hinter einer Funktsteckdose, nach Anschalten des Stromkreises sollte der MusicPal in den Standby gehen.
2.) Der MusicPal soll WLAN im Standby immer deaktivieren und beim aktivieren (aus dem Standby aktivieren) das WLAN nur dann aktivieren wenn kein LAN zur Verfügung steht.


Auf dem MusicPal:

Um Dateien in / schreiben zu können muss das Filesystem neu gemountet werden!

mount -o remount,rw /

Danach wieder Read-Only mounten werden!
mount -o remount,ro /

alternativ: /home/make_rw.sh


/etc/rc.d/init.d/poweron_to_standby:
a.) Das Script anlegen (touch /etc/rc.d/init.d/poweron_to_standby)
b.) chmod 755 auf das Script (Berechtigungen richtig)
c.) cd /etc/rc3.d/
d.) ln -s ../init.d/poweron_to_standby /etc/rc3.d/S99poweron_to_standby

(a. Der MusicPal geht nach dem Boot direkt in den Standby)
(b. Nach dem Boot werden einige Eckpunkte überprüft, bis diese verfügbar sind. Danach wird 15 Sekunden gewartet. Dieses ist für das WLAN nötigt damit die Zeitsynchronisation funktioniert und die WLAN Verbindung später stabil bleibt, bevor das WLAN durch das nashville_notify Script deaktiviert wird)

In die Datei /etc/rc.d/init.d/poweron_to_standby folgendes einfügen:

#! /bin/sh

case "$1" in
start)

while ! ifconfig | grep eth0 && ! ifconfig | grep wlan0
do
sleep 1;
done

while [ `ps | grep "watch_nashville" | grep -v "grep" | wc -l | awk '{print $1}'` -eq 0 ]
do
sleep 1;
done

/bin/ipc_send menu_collapse
IPC_SEND=$?
until [ $IPC_SEND -eq 1 ]
do
/bin/ipc_send menu_collapse
IPC_SEND=$?
sleep 2;
done

DATE=`date +%H:%M`
/bin/ipc_send show_msg_box "$DATE - Starte:§15sec verbleibend§#5"
sleep 5
/bin/ipc_send menu_collapse
DATE=`date +%H:%M`
/bin/ipc_send show_msg_box "$DATE - Starte:§10sec verbleibend§#5"
sleep 5
/bin/ipc_send menu_collapse
DATE=`date +%H:%M`
/bin/ipc_send show_msg_box "$DATE - Starte:§ 5sec verbleibend§#5"
sleep 5
/bin/ipc_send menu_collapse
/bin/ipc_send power_down
;;
*)
echo "Usage: $0 {start}"
exit 1
;;
esac
exit 0

/etc/rc.d/init.d/poweron_to_standby_BOOTDONE:
a.) Das Script anlegen (touch /etc/rc.d/init.d/poweron_to_standby_BOOTDONE)
b.) chmod 755 auf das Script (Berechtigungen richtig)
c.) cd /etc/rc3.d/
d.) ln -s ../init.d/poweron_to_standby_BOOTDONE /etc/rc3.d/S03poweron_to_standby_BOOTDONE

(a. Die beim letzten Boot vom Script "poweron_to_standby" angelegte Datei wird beim booten gelöscht um sie dann im späteren Bootvorgang, nach Feststellung des Status, wieder anzulegen. Dadurch wird gewährleistet das die WOL Befehle im nashville_notify nicht beim initialen Starten ausgeführt werden)

In die Datei /etc/rc.d/init.d/poweron_to_standby_BOOTDONE folgendes einfügen:

#! /bin/sh

if [ -f /tmp/BOOTDONE ]; then
rm /tmp/BOOTDONE
fi


/bin/nashville_notify.sh:
(a. WLAN wird im Standby deaktiviert)
(b. WLAN wird im aktiven Modus nur aktiviert wenn keine LAN-Verbindung besteht)

In die Datei /bin/nashville_notify.sh folgendes einfügen:

#!/bin/sh

#logger $1 $2 $3

if [ $1 = event -a $2 = power_down ]; then
# Netzwerk deaktivieren
/etc/init.d/wlan stop
fi

# Wenn MusicPal aufwacht, WLan starten
if ([ $1 = event -a $2 = power_up ] && [ -f /tmp/BOOTDONE ]); then
# Netzwerk aktivieren
if ! ifconfig | grep eth0 && ! ifconfig | grep wlan0; then
/etc/init.d/wlan start;
fi
fi

if [ ! -f /tmp/BOOTDONE ]; then
touch /tmp/BOOTDONE
fi


Ich übernehme keinerlei Haftung für die Richtigkeit, Vollständigkeit usw. Wer diese Zeilen oder etwas aus diesen Zeilen übernimmt tut dieses auf eigene Gefahr.

Viel Spaß!
epeios
 
Posts: 4
Joined: 11.10.2009, 15:02

Re: HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby catman42 » 14.07.2010, 15:14

Kann mir bitte jemand eine Anleitung geben wie ich das Wlan abschalten Script mit telnet einfüge?

Ich habe folgendes gemacht:
einloggen als root via telnet.
./make_rw.sh
vi /bin/nashville_notify.sh

Dann steht im Fenster:
#!bin/sh
Logge $1 $2 $3

dann füge ich den text ein, RETURN,
am ende steht dann :
/bin/nashville_notify.sh [modified] 1-35 100%

Ist das soweit richtig?
Was muss ich dann tun?
Ich verstehe es leider nicht und es wäre mir so wichtig, dass der MusicPal im Standby das Wlan abschaltet.

Danke
catman42
 
Posts: 1
Joined: 14.07.2010, 14:38

Re: HowTo: Standby nach Boot,WLAN aus im Standby,Linkstation WOL

Postby mk75 » 15.07.2010, 19:08

Hallo,
vielen Dank für das Script.
Bei mir funktioniert es - fast.

Mit der Fritzbox kann ich sehen das im Standby das Wlan ausgeht.
Ich kann auch sehen das nach dem "aktivieren" der Musicpal sich mit der Fritzbox verbindet.
Direkt danach kann ich auch mit dem Musicpal Musik von einem UPNP Server abspielen der
sich im Heimnetzwerk befindet.

Was jedoch nicht geht beliebige Internetradio Sender !

Ich bekomme immer die Fehlermeldung:
"Kann nicht wiedergegeben werden
Überprüfen sie die Verbindung"


2. Problem :

Die verwendeten "§" Zeichen im Skript musste ich löschen weil beim Mac und Telnet immer ein " B' " erscheint anstatt "§".
mk75
 
Posts: 1
Joined: 15.07.2010, 18:56


Return to MusicPal