Hallo, in diesem Beitrag möchte ich schrittweise erklären wie ich auf meinem alten 600er Rechner LinVDR 0.5 mit dem Plugin nvram-wakeup v0.91 installiert habe.
Ich erzähle an dieser Stelle nichts neues weil alle Informationen die ich dafür benötigt habe immer hier irgendwo im Forum zu finden waren.
Grundsätzliches für die allerlesefaulsten unter uns:
- LinVDR ist eine minimale Distribution und ist damit eigentlich nicht für die installation weiterer, nicht vorgesehener Plugins gedacht. Um nvram-wakeup zu installieren muß man also ein kleines Bißchen in den Eingeweiden der Distribution herumwühlen.
- Es wird von LinVDR bereits eine Weckfunktion über ACPI unterstützt. Bevor man sich also an nvram-wakeup haranwagt sollte man testen ob diese Funktion nicht vielleicht funktioniert.
- Für beide Varianten (ACPI oder nvram-wakeup) muß man den LinVDR über den ATX-Powerknopf oder über die Power-Taste der Fernbedienung (über die Tastatur für gewöhnlich F12) ausschalten. Nicht über das OSD(OnScreenDisplay) Menü.
- Als nvram bezeichnet man den nicht flüchtigen Speicher der Hauptplatine, also auch den Bereich, der mit den Aufweckzeiten beschrieben wird. Das Plugin, das dieses Beschreiben übernimmt, heißt nvram-wakeup.
Und hier die Fehler, die ich erschlagen mußte:
- Zunächst habe ich versucht irgendeine Version von nvram-wakeup zu installieren. Es funktioniert aber nur mit den beiden weiter unten aufgeführten Files. Nvram-wakeup 0.91 und der Kernel 4.2.21.
- Dann hat meine Firewall auf dem Windowsrechner die Netzwerkkommunikation verhindert.
- Danach habe die runvdr Datei mit dem Texteditor nano editiert. Nano interpretiert aber beim speichern irgendwelche Zeilenumbrüche und macht damit die runvdr unbrauchber. Mit dem Texteditor innerhalb des MidnightCommander hat es funktioniert.
- Nvram-wakeup schreibrt nur eine Zeit ins BIOS wenn sie mindestens 10 Minuten in der Zukunft liegt.
Rechner für LinVDR 0.5
AMD Athlon 600
Asus K7M
DVB-s Karte
20 GB IBM IDE Festplatte
10 Mbit Netzwerkkarte
Netzwerkverbindung zum Hauptrechner
ISDN Internetzugang über den Hauptrechner (Win XP Pro)
Zunächst habe ich im BIOS die Funktion Wake on Alarm aktiviert. Wobei ich mir vorstellen könnte, daß nvram-wakeup dies auch übernehmen könnte. Wenn es die Daten ins Bios schreiben kann warum sollte es dann nicht auch den Vermerk enabled an die richtige Stelle schreiben können.
Nachdem ich dann von der LinVDR 0.5 Installations-CD gebootet und das Setup nebst Netzwerk- und Samba-Einstellungen durchgelaufen habe hat mein Fernseher schon ein Bild wiedergegeben.
Nun konnte ich mich nach Auswahl einer Konsole (z.B. Alt-F1) in das System einloggen.
Benutzername: root
Kennwort: linvdr
root ist gewissermaßen für Linux das, was für Windows NT und Konsorten der administrator ist. Vorteil: root darf alles
Nachteil: root darf auch alles kaputt machen
Hier habe ich dann nochmal „setup“ aufgerufen und den DNS-Server nachträglich eingetragen weil der bei der Installation nicht nachgefragt wird (wurde offenbar vergessen). Für das Gateway und den DNS-Server habe ich die IP's meiner Windowsmaschine eingetragen.
Weil die Verkabelung und die Netz/Sambaeinstellungen korrekt waren konnte ich (nachdem ich die Firewall unter Windows deaktiviert hatte) auf die freigegebenen Ordner des LinVDR zugreifen.
Nun habe ich auf meinem Hauptrechner eine Verbindung zum Internet hergestellt und drei Dateien heruntergeladen:
1.den Kernel 2.4.21
http://linvdr.org/download/lin…nvdr-kernel-2.4.21.tar.gz
2.speziell für den 2.4.21er Kernel kompiliertes nvram-wakeup 0.91 Paket
http://www.dpfeil.de/
3.Putty
http://www.chiark.greenend.org…atham/putty/download.html
aufgrund einiger Anfragen im Forum wurde das Plugin nvram-wakeup 0.91 für LinVDR 0.4 kompiliert und in oben genanntes Paket gepackt. Vollbracht hat dies matrix79 aus dem VDR-Portal (Applaus Applaus).
Da LinVDR 0.5 aber den Kernel 2.4.23 hat und dieses nvram-wakeup Paket damit nicht funktioniert muß der alte Kernel installiert werden.
Da ich auf die Weiterentwicklung des 2.4.23er Kernels gut verzichten konnte war das ja kein Beinbruch.
Um das Browsen auf dem LinVDR Rechner für den Linuxunerfahrenen etwas gemütlicher zu gestalten und um Konfigurationsdateien zu editieren habe ich auf dem LinVDR den MidnightCommander installieren und auf dem Hauptrechner das Programm Putty gestartet (EXE-Datei, braucht nicht installiert werden)
Bei Putty mußte ich nun lediglich die IP-Adresse des VDR eingeben und hatte dann die Befehlszeile des VDR auf meinem Windows-Bildschirm.
Um dem MidnightCommander zu installieren habe ich nun (bei bestehender Internetverbiudung) folgendes auf dem VDR eingegeben:
linvdr:/# debtool -u
linvdr:/# debtool -i libgpmg1 libglib1.2 file mc mc-common
Nun habe ich die beiden heruntergeladenen Pakete übers Netzwerk in das Export Verzeichnis des LinVDR geschickt und mich dann wieder Putty zugewandt.
linvdr:/# cd ..
linvdr:/# cd ..
um auf das Stammverzeichnis zu kommen,
linvdr:/# tar -xzvf pub/export/linvdr-kernel-2.4.21.tar.gz
Entpakt den Kernel und setzt die entsprechenden Links im Verzeichnis /boot
linvdr:/# tar -xzvf pub/export/nvram_for_linvdr-0.4.tar.gz
Installiert das Device /dev/nvram, das Kernelmodul nvram.o, ändert die Datei /etc/modules, setzt die Links in /boot auf den nvram-Kernel und kopiert die Datei vdrshutdown nach /usr/bin
Nun mußte die Datei /etc/init.d/runvdr geändert werden. Hier habe ich den Fehler begangen und den Texteditor Nano genommen. Nano interpretiert beim speichern irgendwelche Zeilenumbrüche und macht auf diese Weise die ganze runvdr-Datei unbrauchbar und das System läuft nicht mehr an.
Also habe ich den MidnightCommander (mc) genommen. (Mit der Taste TAB kann man übrigens die Bildschirmhälften wechseln und mit F4 wird die angewählte Datei editiert.)
Die Zeile
$BINDIR/vdr -L $PLUGINDIR $PLUGINS -v /video0 -c $CONFDIR -w 900 -E /ramdisk/epg.data -s /usr/bin/poweroff.pl < /dev/tty$vdrtty
muß folgendermaßen geändert werden:
$BINDIR/vdr -L $PLUGINDIR $PLUGINS -v /video0 -c $CONFDIR -w 900 -E /ramdisk/epg.data -s /usr/bin/vdrshutdown < /dev/tty$vdrtty
poweroff gibt die Anweisung den Rechner auszuschalten.
vdrshutdown gibt die Anweisung die Aufweckzeit des nächsten Timers ins Bios zu schreiben und dann auszuschalten.
Beim nächsten Shutdown über die Power-Taste der Fernbedienung (F12 auf der Fernbedieungsersatztastatur) bzw. dem ATX-Powerknopf am Gehäuse sollten nvram-wakeup nun laufen und die Aufweckzeit ins BIOS schreiben. Bitte beachten, daß die Aufweckzeit mindestens 10 Minuten in der Zukunft liegen muß, sonst kümmert sich nvram-wakeup nicht ein Bißchen.
Überprüfen kann man dann die neue Aufweckzeit wenn man mal ins BIOS geht und nachschaut.
Wichtig ist auch daß man über das OSD
Einstellungen/Sonstiges/Mindest Benutzer-Inaktivität (min): 0
auf 45 Minuten oder so einstellt damit er nach der Aufnahme herunterfährt.
Wenn es keine Benutzeraktivitäten während der Aufnahme gab fährt er wenn ich richtig informiert bin auch schon nach 5 Minuten herunter jedoch nicht wenn der Wert auf 0 stehen hat.
So, ich hoffe ich habe nichts vergessen. Als ich diesen Thread verfasst habe war ich übrigens selbst noch ein Newbie und habe manche Tatsachen vielleicht nicht so gesehen wie sie jemand sehen würde, der den Durchblick hat. Also bin ich für Verbesserungen und Aufklärungen immer dankbar.
Achso, wenn man auf der Konsole den Befehl logread eingibt kann man das Logbuch seit dem letzten Start lesen, falls mal etwas nicht geht und man wissen möchte, was es ist.
Die Moral von der Geschicht:
Nvram-wakeup habe ich tatsächlich installiert bekommen aber wenn bei manchen von Euch der Rechner trotzdem nicht anspringt wie bei mir wird es warscheinlich daran liegen, daß Eure Hauptplatine auch einen Neustart braucht um die neue Aufweckzeit zu „begreifen“.
An dieser Sache bin ich selbst noch zugange aber Ihr könnt zumindest Klarheit darüber erhalten ob Euer Board einen Reboot braucht indem ihr:
-die datei nvram-wakeup-mb lest, vorausgesetzt Euer Board ist dort zu finden. (müßte im nvram-wakeup Paket oder, noch aktueller, auf der Internetseite von nvram-wakeup zu finden sein)
Da stehen dann solche Sachen drin wie :
void asus_k7m(struct biosinfo *b)
{
CHECKSUM(b, 0x30);
TIMEREGS(b, 0x57);
b->need_reboot = ON_ANY_CHANGE;
b->addr_stat = 0x56;
b->rtc_day = 0x6F;
b->reset_day = ON;
b->shift_stat = 4;
-Den Computer nach dem Ausschalten erneut einschaltet und beim ersten Pieps des Speakers wieder ausschaltet auf diese Weise funktioniert das Aufwachen bisher bei mir. Soll natürlich nicht so bleiben.
So. Hoffe das hat geholfen. Bewertet mich (und den Thread) recht nett
Ciao
UnWitt