[Anleitung] Freetz und Linkstation Pro Duo (Auto-Mode)

han-solo

Mitglied
Mitglied seit
28 Jul 2005
Beiträge
451
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe mir vor kurzem eine Linkstation Pro Duo mit 2x500GB geleistet. Diese besitzt eine Stromsparfunktion (Auto-Mode) und schaltet sich ab wenn der PC runtergefahren wird.

Solange der PC läuft, schickt die mitgelieferte Software jede Minute Magic-Wachpakete an die Linkstation.

Soweit, sogut! Allerdings will ich von unterwegs auch auf die Linkstation zugreifen und über meine DBox2 will ich ebenfalls die Linkstation aufwecken können um mir Filme anzuschauen.

Ich glaube diejenigen unter euch, die ebenfalls eine Linkstation haben würde das auch alles gerne tun.

Hier mein Lösungsweg:

1. Linkstation Modifikation

Anhängende Datei "acp_commander.txt" downloaden, in asp_commander.jar umbenennen und lokal auf dem PC speichern.
Mit der Command Line Console (cmd) in das Verzeichnis wechseln in der die Datei gespeichert wurde.

Ganz wichtig: Alle Firewalls auf dem Computer ausschalten!

Code:
java -jar acp_commander.jar -t <ip-adresse> -o

TELNET dauerhaft aktivieren! Erstmal ein Passwort festlegen

Code:
passwd

Danach die original rcS sichern und editieren

Code:
cp /etc/init.d/rcS /etc/init.d/rcS_backup
vi /etc/init.d/rcS

Ans Ende der Datei folgendes hinzufügen

Code:
# telnetd for debug
/usr/sbin/telnetd

Will man auch SSH aktivieren, dann noch folgendes hinzufügen

Code:
# ssh starten
/usr/local/sbin/sshd

2. Awake Script (Wachbleiben im Auto-Modus) erstellen

Damit die Linkstation auch ohne die mitgelieferte Software wach bleibt, kann folgende Script verwendet werden. Bitte in /etc/cron/cron.d/chkip.sh erstellen und die MAC- und IP-Adresse der Linkstation sowie der Geräte die das Wachbleiben ermöglichen sollen eintragen.

Code:
#! /bin/sh

# Linkstation
MACADR=01:02:03:04:05:06
IPADR=192.168.178.105
# Computer
CHKIP1=192.168.178.20
# DBox2
CHKIP2=192.168.178.101
# FritzBox
CHKIP3=192.168.178.250

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

WOLDONE=0

if [ $WOLDONE -eq 0 ]; then
   ping -c 1 $CHKIP1
   if [ $? -eq 0 ]; then
      echo "Computer is alive..."
      dowol
      WOLDONE=1
   fi
fi

if [ $WOLDONE -eq 0 ]; then

    ping -c 1 $CHKIP2
    if [ $? -eq 0 ]; then
       echo "DBox is alive..."
       dowol
       WOLDONE=1
    fi
fi

if [ $WOLDONE -eq 0 ]; then

    ping -c 1 $CHKIP3
    if [ $? -eq 0 ]; then
       echo "Remote User active..."
       dowol
       WOLDONE=1
    fi
fi

In die crontab ist dann folgendes hinzuzufügen, damit die Linkstation jede Minute eine Überprüfung vornimmt.

Code:
# Pruefen ob ein Geraet eingeschlatet ist.
# Wenn JA, dann Wachpakete and die  Linkstation schicken
* * * * * /etc/cron/cron.d/chkip.sh

Somit hätten wir die Grundkonfiguration der Linkstation abgeschlossen.
Solange der PC mit der im Script eingetragenen IP-Adresse eingeschaltet ist, bleibt die Linkstation schonmal wach.

3. DBox2 zum wecken und schlafenlegen der Linkstation konfigurieren

Im Verzeichnis /var/tuxbox/plugins erstellt ihr folgende Scripte:

naswakeup.sh (meindns.dyndns.org und die MAC-Adresse der Linkstation mit euren Werten ersetzen %3A ist jeweils ein Bindestrich, bitte nicht löschen)
Code:
#!/bin/sh

# Linkstation aufwecken
wget -O - "http://www.wakeonlan.me/?mobile=0&ip=meindns.dyndns.org&mac=00%3A01%3A02%3A03%3A04%3A05&schedule=&timezone=2"

# Virtuelle IP setzen
ifconfig eth0:1 192.168.178.101 netmask 255.255.255.0 up

naswakeup.cfg
Code:
type=3
name=Linkstation aufwecken
desc=Schickt ein Magic WOL package
needfb=0
needrc=0
needlcd=0
needoffs=0

nassleep.sh
Code:
#!/bin/sh

# Linkstation in den Schlafmodus versetzen
ifconfig eth0:1 192.168.178.101 down

nassleep.cfg
Code:
type=3
name=Linkstation schlafen legen
desc=Schickt ein Sleep Kommando an die Webseite
needfb=0
needrc=0
needlcd=0
needoffs=0

4. FritzBox Portfreigaben Konfiguration

Damit das Wecken über die DBox2 funktioniert, muss man in der FritzBox den WOL Port öffnen. Also unter den Portfreigaben folgendes setzen:

Bezeichnung: WOL Linkstation
Protokoll: UDP
Port: 9
an Computer: <IP der Linkstation> hier 192.168.178.105
Port: 9

5. Linkstation remote über FritzBox wecken

Ihr solltet checkmaild in Freetz enthalten haben.
Wenn nicht, könnt ihr es auch dynamisch einbinden. Siehe hier: http://www.xobztirf.de/selfsite.php?aktion=Dynamische Pakete
Im checkmaild package muss die Datei maillog.cfg so aussehen: Hierbei die Werte im letzten Abschnitt entsprechend der MAC- und IP-Adresse eurer Linkstation, sowie eure Mail-Adresse und den POP3 Account anpassen.
In Freetz > Pakete > chechmaild dann unter "Skriptaufruf einschalten" und "Skriptaufruf einschalten" einen Haken setzen.

maillog.cfg
Code:
#! /bin/sh
#
# /mod/etc/maillog.cfg - Checkmaild script
#
# -----------------------------------------------------------------------------
# Change log:
# V01.00 02-May-2009 HB First release
# -----------------------------------------------------------------------------
#
# * $1. Parameter: 0=New Mail received, 1=Status
# * $2. Parameter: Mails total
# * $3. Parameter: Current mail
# * $4. Parameter: Account
# * $5. Parameter: Message-ID
# * $6. Parameter: Datum
# * $7. Parameter: Uhrzeit
# * $8. Parameter: From
# * $9. Parameter: Subject
#
# -----------------------------------------------------------------------------
# Parameter aus /mod/etc/checkmaild.conf
#
# LEDMAJOR=7
# LED: 1: Power, 2: DSL, 3: LAN, 4:WLAN, 7: INFO, 13: Festnetz, 14: Internet
#
# LEDMINOR=4
# Status: 1 ausschalten 2: immer an, 3 schnelles blinken, 4 langsames blinken,
#
# Bsp.: echo 7,1 >/var/led schaltet Info LED aus
# -----------------------------------------------------------------------------
 
 
status=$1
mails_total=$2
current_mail=$3
account=$4
msgid_no=$5
datum=$6
zeit=$7
from=$8
subject=$9
subject=`echo $subject | sed 's#,# #g;s#!#.#g;s#?#.#g;s#;# #g'`
sender=`echo $from | sed -e "s/.*\ <//g" | sed -e "s/>//g"`
 

# -----------------------------------------------------------------------------
# E-Mail Kommandoabfragen:
# -----------------------------------------------------------------------------
# - doreboot        - Reboot
# -----------------------------------------------------------------------------
 
if [ "$subject" != "" ]; then
  if [ `echo "$subject" | grep -i "nas_start"` != "" ]; then
    ifconfig eth0:2 192.168.178.250 netmask 255.255.255.0 up
    /var/media/ftp/uStor01/wol -i 192.168.178.105 -p 9 00:01:02:03:04:05
    sleep 10
    mailer -s "NAS ist jetzt aufgewacht" -f '[email protected]' -t $sender -m 'smtp.web.de' -a 'meinemail' -w 'password'
  fi
  if [ `echo "$subject" | grep -i "nas_stop"` != "" ]; then
    ifconfig eth0:2 192.168.178.250 netmask 255.255.255.0 down
    mailer -s "NAS hat sich wieder schlafen gelegt" -f '[email protected]' -t $sender -m 'smtp.web.de' -a 'meinemail' -w 'password'
  fi
fi


Zuletzt noch die beiliegende Datei "wol" ins ROOT eines angesteckten Datenträgers (z.B. USB-Stick) entpacken.


Nun sollte bei gestartetem checkmaild die Linkstation geweckt werden, wenn man eine Mail mit dem Betreff "nas_start" an eure E-Mail Adresse schickt.
Ich habe mir für diese Funktion ein separates POP3 Konto eingerichtet.

Viel Erfolg bei der Umsetzung!

Gruß
HS
 

Anhänge

  • acp_commander.txt
    45.6 KB · Aufrufe: 57
  • wol.zip
    37 KB · Aufrufe: 44
Zuletzt bearbeitet:
Interessante Ideen, han-solo. Zwar werden das wahrscheinlich nur wenige in der vollen Konfiguration genau so nutzen wollen, aber einzelne Ideen wie z.B. Mails als Einschalt/Ausschaltkriterien sind sehr interessant und evtl. sogar Paketwürdig. Solche Funktion kann man mit Sicherheit GUI-sieren und in WebIF einzelne Masken für Mail-Account, Schlüsselwörter, Aktion usw. vorsehen.

MfG
 
Auch meine Kudos an dich! Sehr nice! Es wird dann wohl doch mal eher eine LinkStation als ein anderes NAS. Mal sehen, werde sicherlich deine Arbeit mal benötigen :D
 
Standby und resume DBOX2-Plugin --> Linkstation Pro LS-Gl (V1)

Hallo han-solo,

ich würde dein DBOX2-Skript gerne dahingehend abändern, dass ich meine Linkstation Pro LS-GL (V1) mittels einem wget-Aufruf auf http://<Linkstation-IP>/cgi-bin/resume.cgi bzw. standby.cgi von der Box aus hochfahren bzw. runterfahren kann.
3. DBox2 zum wecken und schlafenlegen der Linkstation konfigurieren

Im Verzeichnis /var/tuxbox/plugins erstellt ihr folgende Scripte:

naswakeup.sh (meindns.dyndns.org und die MAC-Adresse der Linkstation mit euren Werten ersetzen %3A ist jeweils ein Bindestrich, bitte nicht löschen)
Code:
#!/bin/sh

# Linkstation aufwecken
wget -O - "http://www.wakeonlan.me/?mobile=0&ip=meindns.dyndns.org&mac=00%3A01%3A02%3A03%3A04%3A05&schedule=&timezone=2"

# Virtuelle IP setzen
ifconfig eth0:1 192.168.178.101 netmask 255.255.255.0 up

naswakeup.cfg
Code:
type=3
name=Linkstation aufwecken
desc=Schickt ein Magic WOL package
needfb=0
needrc=0
needlcd=0
needoffs=0

nassleep.sh
Code:
#!/bin/sh

# Linkstation in den Schlafmodus versetzen
ifconfig eth0:1 192.168.178.101 down

nassleep.cfg
Code:
type=3
name=Linkstation schlafen legen
desc=Schickt ein Sleep Kommando an die Webseite
needfb=0
needrc=0
needlcd=0
needoffs=0
Deine Skripts habe ich dementsprechend angepasst:

linkstation_standby.so
Code:
#!/bin/sh

# Linkstation standby
wget -O - "http://192.168.178.21/cgi-bin/standby.cgi"

## Virtuelle IP setzen
#ifconfig eth0:1 192.168.178.101 netmask 255.255.255.0 up
linkstation_standby.cfg
Code:
type=3
name=Linkstation standby
desc=Ruft per wget http://192.168.178.21/cgi-bin/standby.cgi auf
needfb=0
needrc=0
needlcd=0
needoffs=0
Das gleiche dann nochmals mit "resume".

Die beiden Skripts tauchen im DBOX2-Menü auf, Ausführung funktioniert aber irgendwie nicht, sehe nur ein kurzes Flackern, aber keine neue Bildschirmausgabe am Fernseher. Wie kann ich das debuggen? Hab irgendwo gelesen ein
Code:
2>&1
an den Befehl ranzuhängen, damit man die Standardfehlerausgabe umleitet. Funktioniert das?

Per telnet in der Box eingeloggt funktioniert übrigens ein Aufruf von
Code:
wget http://<Linkstation-IP>/cgi-bin/standby.cgi
Das Skript wird in das ausführende Verzeichnis runtergezogen und fährt anschließend die Box in den standby.

Mit welchem Parameter kann ich es eigentlich verhindern, dass jedesmal die Datei heruntergeladen wird? Kann man das irgendwie in eine Art Papierkorb schieben?
Code:
/dev/null
Wäre das korrekt? Also wenn mir jemand einen funktionierenden wget-Aufruf bauen könnte, wäre ich euch dankbar.

Grüße, tommac

P.S.: Falls jemand eine Standby-Lösung für die LS-GL (V1) sucht, schaut mal hier: http://forum.discountnetz.com/buffa...-mode-fuer-linkstation-pro-ls-gl-v1-t569.html
 
hallo. bin neu hier, und wollte auch meine neue LS Live 1TB v2 hacken, um einen RS downloader zu installieren.

habe jedoch schon probleme "java -jar asp_commander.jar -t 192.168.1.187 -o
es kommt immer der fehler: der Befehl "java" ist entweder falsch geschrieben oder konnte nicht gefunden werden.


was tun?

LG navaro
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.