NVRAM WakeUp

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
K (Board ASRock AM2NF3-VSTA hinzugefügt)
 
(19 dazwischenliegende Versionen von 13 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Autor==
 
==Autor==
 
Sergei Haller (bistr-o-math)
 
Sergei Haller (bistr-o-math)
 +
 +
===Status===
 +
Letztes Update 05/2013
  
 
==Einleitung==
 
==Einleitung==
NVRAM-Wakeup ist ein Programm, das dafür sorgt, dass ein Rechner zu einem bestimmten Zeitpunkt selbständig aus dem ausgeschalteten Zustand startet.<br>
+
NVRAM-Wakeup ist ein Programm, das dafür sorgt, dass ein Rechner zu einem bestimmten Zeitpunkt selbständig aus dem ausgeschalteten Zustand startet.
Dazu verwendet NVRAM-Wakeup die Fähigkeiten des {{wikipedia|BIOS}}, den Rechner mittels Echtzeituhr-Alarm ({{wikipedia|RTC}} '''R'''eal'''T'''ime'''C'''lock) automatisch zu starten.<br>
+
Dazu verwendet NVRAM-Wakeup die Fähigkeiten des {{wikipedia|BIOS}}, den Rechner mittels Echtzeituhr-Alarm ({{wikipedia|RTC}} '''R'''eal'''T'''ime'''C'''lock) automatisch zu starten.  
Diese Fähigkeit wird von den meisten [[Mainboard|Mainboards]] mit ATX-Formfaktor und auch einigen AT/BAT-[[Mainboard|Mainboards]] mit ATX-Buchse unterstützt.<br>
+
Diese Fähigkeit wird von den meisten [[Mainboard|Mainboards]] mit ATX-Formfaktor und auch einigen AT/BAT-[[Mainboard|Mainboards]] mit ATX-Buchse unterstützt. Als Alternative für neuere Mainboards eignet sich [[ACPI Wakeup]], das diese besser unterstützt.
 +
 
 
NVRAM-Wakeup hängt nicht vom [[VDR]] ab sondern ist ein eigenständiges Programm, kann aber sehr gut zum automatischen Starten des VDR-Rechners rechtzeitig zur nächsten Aufnahme benutzt werden.<br>
 
NVRAM-Wakeup hängt nicht vom [[VDR]] ab sondern ist ein eigenständiges Programm, kann aber sehr gut zum automatischen Starten des VDR-Rechners rechtzeitig zur nächsten Aufnahme benutzt werden.<br>
 
Im Normalfall wird es im [[shutdown.sh|Shutdown-Skript]] aufgerufen, welches den Zeitpunkt des nächsten Timers übergeben bekommt.<br>
 
Im Normalfall wird es im [[shutdown.sh|Shutdown-Skript]] aufgerufen, welches den Zeitpunkt des nächsten Timers übergeben bekommt.<br>
Zeile 11: Zeile 15:
  
 
Fünf Minuten nach erfolgter Aufnahme lässt VDR den Rechner automatisch herunterfahren, sofern keine Benutzeraktivität auftrat und kein weiterer Timer innerhalb der nächsten MinEventTimeout Minuten ("Mindest Event Pause") liegt.<br>
 
Fünf Minuten nach erfolgter Aufnahme lässt VDR den Rechner automatisch herunterfahren, sofern keine Benutzeraktivität auftrat und kein weiterer Timer innerhalb der nächsten MinEventTimeout Minuten ("Mindest Event Pause") liegt.<br>
Während dieser fünf Minuten wird der Hinweis "Taste drücken um Shutdown abzubrechen" eingeblendet, um einem evtl. doch anwesenden oder hinzu kommenden Benutzer eine Abbruchmöglichkeit zu geben.
+
Während dieser fünf Minuten wird der Hinweis "Taste drücken um Shutdown abzubrechen" eingeblendet, um einem eventuell doch anwesenden oder hinzu kommenden Benutzer eine Abbruchmöglichkeit zu geben.
  
 
Der jeweils neueste Quelltext (und damit der aktuelle Stand was die Unterstützung von [[Mainboard|Mainboards]] angeht) kann von der [http://sourceforge.net/projects/nvram-wakeup Projektseite] bezogen werden.
 
Der jeweils neueste Quelltext (und damit der aktuelle Stand was die Unterstützung von [[Mainboard|Mainboards]] angeht) kann von der [http://sourceforge.net/projects/nvram-wakeup Projektseite] bezogen werden.
  
 
==Liste funktionierender Mainboards==
 
==Liste funktionierender Mainboards==
Grundsätztlich lässt sich jedes Mainboard mit Nvram-Wakeup betreiben.
+
Grundsätzlich lässt sich jedes Mainboard mit Nvram-Wakeup betreiben.
  
Man unterscheidet hier zwischen Mainboards, die einen Reboot benötigen und solchen, die keinen Reboot benötigen. <br>
+
Man unterscheidet hier zwischen Mainboards, die einen Reboot benötigen und solchen, die keinen Reboot benötigen. Bei ersteren kann die neue Aufwach-Zeit im BIOS nur aktiviert werden, wenn sie nach dem Eintragen der Zeit nochmals bis zum Laden des Kernels gebootet werden. Letztere können nach dem Setzen der Zeit einfach per APM abgeschaltet werden.
Bei ersteren kann die neue Aufwach-Zeit im BIOS nur aktiviert werden, wenn sie nach dem Eintragen der Zeit nochmals bis zum Laden des Kernels gebootet werden. <br>
+
Letztere können nach dem Setzen der Zeit einfach per APM abgeschaltet werden.
+
  
 
Bei manchen Mainboards (z.B. EPIA M10000) muss im Bios "Instant Off" unter Power Management gewählt sein!
 
Bei manchen Mainboards (z.B. EPIA M10000) muss im Bios "Instant Off" unter Power Management gewählt sein!
  
 
Eine Liste von Haus aus unterstützter Mainboards befindet sich auf der Projektseite. [http://nvram-wakeup.cvs.sourceforge.net/nvram-wakeup/nvram-wakeup/nvram-wakeup-mb.c?revision=1.283&view=markup] <br>
 
Eine Liste von Haus aus unterstützter Mainboards befindet sich auf der Projektseite. [http://nvram-wakeup.cvs.sourceforge.net/nvram-wakeup/nvram-wakeup/nvram-wakeup-mb.c?revision=1.283&view=markup] <br>
Weitere Möglichkeiten eine nvram-wakeup.conf für das jeweilige Mainboard zu finden: [http://www.vdr-wiki.de/wiki/index.php/Mainboard_spezifische_NVRAM_Einstellungen] / [http://www.vdrportal.de/board/board.php?boardid=9]
+
Weitere Möglichkeiten eine nvram-wakeup.conf für das jeweilige Mainboard zu finden: [[Mainboard spezifische NVRAM Einstellungen]] / [http://www.vdr-portal.de/board/board.php?boardid=9]
 
+
  
  
Zeile 59: Zeile 60:
 
| Abit NF-M2SV
 
| Abit NF-M2SV
 
| ja
 
| ja
 +
| -
 +
|-
 +
| AOpen AX6BC
 +
| ja
 +
| BIOS Version 2.59, nvram-wakeup.conf: need_reboot = ON_ANY_CHANGE ; addr_day = 0x47 ; addr_hour = 0x48 ; addr_min = 0x49 ; addr_sec = 0x4A ; addr_stat = 0x4D ; addr_chk_h = 0x6F # guessed ; addr_chk_l = 0x70
 +
|-
 +
| ASRock A330ION
 +
| nein
 +
| BIOS v1.40, [[Mainboard_spezifische_NVRAM_Einstellungen#ASROCK_A330ION|nvram-wakeup.conf]] --directisa upper_method = VT82Cxxx
 
| -
 
| -
 
|-
 
|-
Zeile 91: Zeile 101:
 
| Asrock ALiveNF7G-HDReady
 
| Asrock ALiveNF7G-HDReady
 
| nein
 
| nein
| Bios Version 1.90 mit guess-helper (Chipsatz Auswahl: "v"). --directisa ist anzugeben, Tipps: [http://vdr-portal.de/board/thread.php?threadid=36758]
+
| Bios Version 1.90 mit guess-helper (Chipsatz Auswahl: "v"). --directisa ist anzugeben, {{vdrportal board|36758|Tipps}}
 
|-
 
|-
 
| Asrock P4i65G
 
| Asrock P4i65G
Zeile 139: Zeile 149:
 
| Asus M2A-VM
 
| Asus M2A-VM
 
| ja
 
| ja
| mit --directisa. Re-Boot und Power-Off-Kernel erforderlich. [http://www.vdr-portal.de/board/thread.php?threadid=80289 mehr]
+
| mit --directisa. Re-Boot und Power-Off-Kernel erforderlich. {{vdrportal board|80289|mehr}}
 
|-
 
|-
 
|-
 
|-
 
| Asus M2N-VM DVI
 
| Asus M2N-VM DVI
 
| ja
 
| ja
| mit --directisa. Re-Boot und Power-Off-Kernel erforderlich. [http://www.vdr-portal.de/board/thread.php?threadid=81535 mehr]
+
| mit --directisa. Re-Boot und Power-Off-Kernel erforderlich. {{vdrportal board|81535|mehr}}
 
|-
 
|-
 
|-
 
|-
Zeile 193: Zeile 203:
 
| ASUS P5VD2-X
 
| ASUS P5VD2-X
 
| ja
 
| ja
| Konfiguration: [http://vdr-portal.de/board/thread.php?threadid=76279]
+
| {{vdrportal board|76279|Konfiguration}}
 
|-
 
|-
 
| Asus TUSL2
 
| Asus TUSL2
Zeile 213: Zeile 223:
 
| DFI Infinity NF4 Ultra-U
 
| DFI Infinity NF4 Ultra-U
 
| ja
 
| ja
| Konfiguration: [http://www.vdr-wiki.de/wiki/index.php/Mainboard_spezifische_NVRAM_Einstellungen#DFI_Infinity_NF4_Ultra-U]
+
| Konfiguration: [[Mainboard_spezifische_NVRAM_Einstellungen#DFI_Infinity_NF4_Ultra-U|DFI_Infinity_NF4_Ultra-U]]
 
|-
 
|-
 
| Elitegroup K75SA
 
| Elitegroup K75SA
Zeile 221: Zeile 231:
 
| Elitegroup KT600-A
 
| Elitegroup KT600-A
 
| nein
 
| nein
| Konfiguration: [http://vdr-portal.de/board/thread.php?threadid=36758]
+
| {{vdrportal board|36758|Konfiguration}}
 
|-
 
|-
 
| Elitegroup L7VMM2
 
| Elitegroup L7VMM2
Zeile 234: Zeile 244:
 
| ja
 
| ja
 
| Reboot beim Statuswechsel (Enabled / Disabled) notwendig
 
| Reboot beim Statuswechsel (Enabled / Disabled) notwendig
 +
|-
 +
| Epox 8KRA2+
 +
| ja
 +
| benötigt die Option --directisa , nvram-wakeup.conf: addr_stat = 0xD2; shift_stat = 5; addr_day = 0xD8; addr_hour = 0xD9;addr_min = 0xDA; addr_sec = 0xDB; addr_chk_h = 0xCD; addr_chk_l = 0xCE; upper_method = VT8235_37
 
|-
 
|-
 
| Foxconn [http://ftp.gwdg.de/pub/linux/easyvdr/wakeup/Foxconn/6150K8MD-8EKRSH%20%5baquarius%5d/nvram-wakeup.conf 6150K8MD-8EKRSH]
 
| Foxconn [http://ftp.gwdg.de/pub/linux/easyvdr/wakeup/Foxconn/6150K8MD-8EKRSH%20%5baquarius%5d/nvram-wakeup.conf 6150K8MD-8EKRSH]
Zeile 254: Zeile 268:
 
| ja
 
| ja
 
| -
 
| -
 +
|-
 +
| Gigabyte GA-870A-UD3 (rev.2.1) {{vdrportal board|101415|(GA-870A-UD3 (rev.2.1))}}
 +
| ja
 +
| BIOS Version F3, nvram-wakeup.conf: addr_day = 0x48 ; addr_sec = 0x49 ; addr_min = 0x4A ; addr_hour = 0x4B ; rtc_day = 0x7F ; addr_stat = 0x8A ; shift_stat = 5 ; addr_chk_h = 0x6D ; addr_chk_l = 0x6E ; upper_method = VT82Cxxx ; need_reboot = ON_ANY_CHANGE # WICHTIG: HPET muss sowohl im BIOS als auch in der grub config deaktiviert werden!
 
|-
 
|-
 
| Gigabyte GA-8SIMLH
 
| Gigabyte GA-8SIMLH
 
| nein
 
| nein
 
| -
 
| -
 +
|-
 +
|Gigabyte GA-965P-DQ6
 +
| ja
 +
| getestet mit Bios F13, Reboot ON_ANY_CHANGE
 
|-
 
|-
 
| Gigabyte GA-K8NS-Ultra 939
 
| Gigabyte GA-K8NS-Ultra 939
Zeile 265: Zeile 287:
 
| Gigabyte M78SM-S2H
 
| Gigabyte M78SM-S2H
 
| ja
 
| ja
| wurde per guess-helper erstellt, als option wurde VIA VT82Cxxx angegeben (Die Option "unbekannt" funtionierte nicht!)
+
| wurde per guess-helper erstellt, als Option wurde VIA VT82Cxxx angegeben (Die Option "unbekannt" funktionierte nicht!)
 +
|-
 +
| Gigabyte MA785GM-US2H
 +
| ja
 +
| wurde per guess-helper erstellt, als Option wurde VIA VT82Cxxx angegeben
 
|-
 
|-
 
| Gigabyte 73PVM-S2H
 
| Gigabyte 73PVM-S2H
 
| ja
 
| ja
| per guess-helper erstellt, als Option VIA VT82Cxxx verwendet und im Ergebnis den doppelten Eintrag addr_stat = 0x6D entfernt. Das Board erfordert einen Reboot um den neuen Wert zu verwenden zu können.
+
| per guess-helper erstellt, als Option VIA VT82Cxxx verwendet und im Ergebnis den doppelten Eintrag addr_stat = 0x6D entfernt. Das Mainboard erfordert einen Reboot um den neuen Wert zu verwenden zu können.
 
|-
 
|-
 
| MSI 6701 entspricht Medion MD 5000
 
| MSI 6701 entspricht Medion MD 5000
Zeile 281: Zeile 307:
 
| MSI 6318
 
| MSI 6318
 
| ja
 
| ja
| Guess-Helper erkennt das Board, allerdings nur mit BIOS Rev. 1.9 oder höher! Board aus Medion 2000 PC
+
| Guess-Helper erkennt das Mainboard, allerdings nur mit BIOS Rev. 1.9 oder höher! Mainboard aus Medion 2000 PC
 
|-
 
|-
 
| MSI 6340
 
| MSI 6340
Zeile 289: Zeile 315:
 
| MSI 6535 / Hermes 651
 
| MSI 6535 / Hermes 651
 
| ja
 
| ja
| Option ''-I msi_6535_20b'', ''-I msi_6535'' oder ''-I msi_6535_oldbios'' (für BIOS 2.0B, 1.2, 1.0 bzw 1.1). Option ''-C /etc/nvram-wakeup.conf'' nicht angeben
+
| Option ''-I msi_6535_20b'', ''-I msi_6535'' oder ''-I msi_6535_oldbios'' (für Mainboard Rev. 2.0B, 1.2, 1.0 bzw 1.1) und Option ''--directisa''. Option ''-C /etc/nvram-wakeup.conf'' nicht angeben
 
|-
 
|-
 
| MSI 6570
 
| MSI 6570
Zeile 310: Zeile 336:
 
| ja
 
| ja
 
| -
 
| -
 +
|-
 +
| MSI 915GM Speedster-FA4 (MS-9625)
 +
| ja
 +
| --directisa, reboot und poweroff-kernel, nvram-wakup.conf: need_reboot = ON_ANY_CHANGE; addr_stat = 0x46; addr_day = 0x47; addr_hour = 0x48; addr_min = 0x49; addr_sec = 0x4A; addr_chk_h = 0x6F; addr_chk_l = 0x70; upper_method = INTEL; [http://sourceforge.net/tracker/?func=detail&aid=3049132&group_id=35022&atid=412959 zugehöriger SF-Tracker]
 +
|-
 +
| MSI P965 Platinum (MS7238)
 +
| ja
 +
| --directisa, reboot und poweroff-kernel, nvram-wakup.conf: need_reboot = ON_ANY_CHANGE; addr_stat = 0xE8; shift_stat = 5; addr_day = 0xE8; addr_hour = 0xE9; addr_min = 0xEA; addr_sec = 0xEB; addr_chk_h = 0x30; addr_chk_l = 0x31; upper_method = INTEL; [http://sourceforge.net/tracker/?func=detail&aid=3081796&group_id=35022&atid=412959 zugehöriger SF-Tracker]
 
|-
 
|-
 
| MSI K8N Neo2 (MS-7025)
 
| MSI K8N Neo2 (MS-7025)
 
| ja
 
| ja
| Guess-Helper erkennt das Board, mit option "--directisa". Braucht leider nen Reboot, damit der Timer funktioniert.
+
| Guess-Helper erkennt das Mainboard, mit option "--directisa". Braucht leider nen Reboot, damit der Timer funktioniert.
 
|-
 
|-
 
| MSI KT6V (MS-7021)
 
| MSI KT6V (MS-7021)
 
| ja
 
| ja
| Guess-Helper erkennt das Board. Es geht sowohl mit als auch ohne "--directisa". Braucht leider nen Reboot, damit der Timer funktioniert.
+
| Guess-Helper erkennt das Mainboard. Es geht sowohl mit als auch ohne "--directisa". Braucht leider nen Reboot, damit der Timer funktioniert.
 
|-
 
|-
| MSI K8MM3-V [http://www.vdr-portal.de/board/thread.php?threadid=65634 (MS-7181)]
+
| MSI K8MM3-V {{vdrportal board|65634|(MS-7181)}}
 
| ja
 
| ja
 
| getestet mit Board-Rev 1.0 (BIOS 1.1 + 1.5) und Rev. 2.0 --- µATX-Board / Sockel 754 / VIA-Chipsatz
 
| getestet mit Board-Rev 1.0 (BIOS 1.1 + 1.5) und Rev. 2.0 --- µATX-Board / Sockel 754 / VIA-Chipsatz
Zeile 337: Zeile 371:
 
| VIA EPIA VE5000
 
| VIA EPIA VE5000
 
| -
 
| -
| NVRAM-WakeUp erkennt das Board nicht und kann die RTC-Parameter nicht ermitteln. Daher sollte set_timer verwendet/versucht werden (s. u.).
+
| NVRAM-WakeUp erkennt das Mainboard nicht und kann die RTC-Parameter nicht ermitteln. Daher sollte set_timer verwendet/versucht werden (s. u.).
 
|-
 
|-
 
| VIA EPIA ML5000A
 
| VIA EPIA ML5000A
Zeile 373: Zeile 407:
 
|}
 
|}
  
Für Boards, die nur Wake on Time (keinen Datumseintrag) unterstützen (z.B. ASUS A7N8X-Deluxe) gibt es eine Lösung:
+
Für Mainboards, die nur Wake on Time (keinen Datumseintrag) unterstützen (z.B. ASUS A7N8X-Deluxe) gibt es eine Lösung:
 
[http://www.eisenwagen.at/inter/vdr/wakeontime.shtml Wake on time]
 
[http://www.eisenwagen.at/inter/vdr/wakeontime.shtml Wake on time]
  
Zeile 383: Zeile 417:
 
* auspacken
 
* auspacken
 
* [http://nvram-wakeup.svn.sourceforge.net/viewvc/nvram-wakeup/trunk/nvram-wakeup/README README] lesen
 
* [http://nvram-wakeup.svn.sourceforge.net/viewvc/nvram-wakeup/trunk/nvram-wakeup/README README] lesen
* folgendes ausfuehren:
+
* folgendes ausführen:
 
<pre>
 
<pre>
 
make devices  
 
make devices  
Zeile 394: Zeile 428:
 
* wenn das Board nicht unterstützt wird. Halb-automatisch anlernen:
 
* wenn das Board nicht unterstützt wird. Halb-automatisch anlernen:
 
*# [[guess-helper]] ausführen. Das funktioniert so: VDR booten lassen, sich dann in der Console anmelden und einfach guess-helper eingeben. Return -> und der Anleitung folgen
 
*# [[guess-helper]] ausführen. Das funktioniert so: VDR booten lassen, sich dann in der Console anmelden und einfach guess-helper eingeben. Return -> und der Anleitung folgen
*# Mit der fast fertigen nvram-wakeup.conf die Anleitung aus [http://nvram-wakeup.svn.sourceforge.net/viewvc/nvram-wakeup/trunk/nvram-wakeup/README.reboot README.reboot] durchgehen um zu testen ob das Motherboard einen Reboot braucht.
+
*# Mit der fast fertigen nvram-wakeup.conf die Anleitung aus [http://nvram-wakeup.svn.sourceforge.net/viewvc/nvram-wakeup/trunk/nvram-wakeup/README.reboot README.reboot] durchgehen um zu testen ob das Mainboard einen Reboot braucht.
 
Dieses dann in nvram-wakeup.conf eintragen.
 
Dieses dann in nvram-wakeup.conf eintragen.
* wenn die generierte [[nvram-wakeup.conf]] nicht funktioniert, auf VDR-Portal.de im NVRAM-Forum posten.
+
* wenn die generierte [[nvram-wakeup.conf]] nicht funktioniert, im [[VDR Portal]] im NVRAM-Forum posten.
  
 
===Distributionsspezifisch===
 
===Distributionsspezifisch===
Zeile 404: Zeile 438:
  
 
===Mit set_timer für problematische Boards (ansonsten weiter zum checkscript, s.u.)===
 
===Mit set_timer für problematische Boards (ansonsten weiter zum checkscript, s.u.)===
'''Falls nvram_wakeup das Mainboard nicht kennt''' und auch guess-helper.sh zur Parameter-Ermittung nicht weiter hilft gibt es noch ein Script, das im Paket NVRAM-Wakeup enthalten ist und welches immer zum Ziel führen sollte. Das Script heißt set_timer.
+
'''Falls nvram_wakeup das Mainboard nicht kennt''' und auch guess-helper.sh zur Parameter-Ermittlung nicht weiter hilft gibt es noch ein Script, das im Paket NVRAM-Wakeup enthalten ist und welches immer zum Ziel führen sollte. Das Skript heißt set_timer.
  
*Installation ist im Script selbst beschrieben siehe [http://nvram-wakeup.cvs.sourceforge.net/nvram-wakeup/nvram-wakeup/set_timer?revision=1.9&view=markup hier]
+
*Installation ist im Skript selbst beschrieben siehe [http://nvram-wakeup.cvs.sourceforge.net/nvram-wakeup/nvram-wakeup/set_timer?revision=1.9&view=markup hier]
  
 
==Checkscript Beispiele==
 
==Checkscript Beispiele==
Zeile 413: Zeile 447:
 
  chmod +x checkscript.sh
 
  chmod +x checkscript.sh
  
nach dem Erstellen ausführbar zu machen. Anschliessend muss in dem vdrshutdown-Skript (im CTVDR /usr/share/doc/nvram-wakeup/examples/vdrshutdown) folgende Variable angepasst werden. (Bsp.)
+
nach dem Erstellen ausführbar zu machen. Anschließend muss in dem vdrshutdown-Skript (im CTVDR /usr/share/doc/nvram-wakeup/examples/vdrshutdown) folgende Variable angepasst werden. (Bsp.)
  
 
  CHECKSCRIPT=/usr/local/bin/checkscript.sh
 
  CHECKSCRIPT=/usr/local/bin/checkscript.sh
Zeile 423: Zeile 457:
 
  nvram-wakeup -s $((`date +%s` + 20 * 60))
 
  nvram-wakeup -s $((`date +%s` + 20 * 60))
  
Wenn nach dem Herunterfahren im BIOS Eintrag dann die Zeit des Eintragens +20 Minuten eingetragen ist, dann kann man den VDR ausmachen und warten, ob das System dann angeht.
+
Wenn nach dem Herunterfahren im BIOS Eintrag dann die Zeit des Eintrages +20 Minuten eingetragen ist, dann kann man den VDR ausmachen und warten, ob das System dann angeht.
  
 
Wenn dies geht, dann liegt der Fehler bei der Einbindung ins VDR.
 
Wenn dies geht, dann liegt der Fehler bei der Einbindung ins VDR.
  
Wenn er nicht angeht, liegt es evtl. am nicht erfolgten Reboot, den manche Boards, wieoben beschrieben erfordern. Man kann auch mal testen, ob das Board wenigstens angeht, wenn man von Hand im BIOS ein WakeUp-Event einträgt, ob er dann zur eingestellten Zeit angeht.
+
Wenn er nicht angeht, liegt es eventuell am nicht erfolgten Reboot, den manche Mainboards, wie oben beschrieben erfordern. Man kann auch mal testen, ob das Mainboard wenigstens angeht, wenn man von Hand im BIOS ein WakeUp-Event einträgt, ob er dann zur eingestellten Zeit angeht.
  
 
==WakeUp nach einfachem Herunterfahren==
 
==WakeUp nach einfachem Herunterfahren==
Zeile 443: Zeile 477:
  
 
==Snapshot==
 
==Snapshot==
  <nowiki>svn co https://nvram-wakeup.svn.sourceforge.net/svnroot/nvram-wakeup nvram-wakeup</nowiki>
+
  svn co https://nvram-wakeup.svn.sourceforge.net/svnroot/nvram-wakeup nvram-wakeup
  
 
==Links==
 
==Links==

Aktuelle Version vom 1. September 2013, 13:37 Uhr

Inhaltsverzeichnis

[Bearbeiten] Autor

Sergei Haller (bistr-o-math)

[Bearbeiten] Status

Letztes Update 05/2013

[Bearbeiten] Einleitung

NVRAM-Wakeup ist ein Programm, das dafür sorgt, dass ein Rechner zu einem bestimmten Zeitpunkt selbständig aus dem ausgeschalteten Zustand startet. Dazu verwendet NVRAM-Wakeup die Fähigkeiten des BIOS, den Rechner mittels Echtzeituhr-Alarm (RTC RealTimeClock) automatisch zu starten. Diese Fähigkeit wird von den meisten Mainboards mit ATX-Formfaktor und auch einigen AT/BAT-Mainboards mit ATX-Buchse unterstützt. Als Alternative für neuere Mainboards eignet sich ACPI Wakeup, das diese besser unterstützt.

NVRAM-Wakeup hängt nicht vom VDR ab sondern ist ein eigenständiges Programm, kann aber sehr gut zum automatischen Starten des VDR-Rechners rechtzeitig zur nächsten Aufnahme benutzt werden.
Im Normalfall wird es im Shutdown-Skript aufgerufen, welches den Zeitpunkt des nächsten Timers übergeben bekommt.
NVRAM-Wakeup zieht von dieser Zeit dann noch einmal fünf Minuten ab (damit der Rechner zum Zeitpunkt der Aufnahme bereits fertig gebootet hat und rund läuft) und schreibt den Aufwachzeitpunkt in den NVRAM.

Fünf Minuten nach erfolgter Aufnahme lässt VDR den Rechner automatisch herunterfahren, sofern keine Benutzeraktivität auftrat und kein weiterer Timer innerhalb der nächsten MinEventTimeout Minuten ("Mindest Event Pause") liegt.
Während dieser fünf Minuten wird der Hinweis "Taste drücken um Shutdown abzubrechen" eingeblendet, um einem eventuell doch anwesenden oder hinzu kommenden Benutzer eine Abbruchmöglichkeit zu geben.

Der jeweils neueste Quelltext (und damit der aktuelle Stand was die Unterstützung von Mainboards angeht) kann von der Projektseite bezogen werden.

[Bearbeiten] Liste funktionierender Mainboards

Grundsätzlich lässt sich jedes Mainboard mit Nvram-Wakeup betreiben.

Man unterscheidet hier zwischen Mainboards, die einen Reboot benötigen und solchen, die keinen Reboot benötigen. Bei ersteren kann die neue Aufwach-Zeit im BIOS nur aktiviert werden, wenn sie nach dem Eintragen der Zeit nochmals bis zum Laden des Kernels gebootet werden. Letztere können nach dem Setzen der Zeit einfach per APM abgeschaltet werden.

Bei manchen Mainboards (z.B. EPIA M10000) muss im Bios "Instant Off" unter Power Management gewählt sein!

Eine Liste von Haus aus unterstützter Mainboards befindet sich auf der Projektseite. [1]
Weitere Möglichkeiten eine nvram-wakeup.conf für das jeweilige Mainboard zu finden: Mainboard spezifische NVRAM Einstellungen / [2]


Von VDR Nutzern werden erfolgreich/nicht erfolgreich eingesetzt:

Mainboard Reboot Besonderheiten
Abit KV7 ja Reboot nur ON_STAT notwendig
Abit KT7 ja IWNAME: bio_m6vcg
Abit AV8 ja -
Abit ANM-2 ja --directisa, reboot und poweroff-kernel, nvram-wakup.conf: addr_stat = 0x4A ; shift_stat = 3 ; addr_day = 0x4C ; addr_hour = 0x4D ; addr_min = 0x4E ; addr_sec = 0x4F; addr_chk_h = 0x6D; addr_chk_l = 0x6E ; upper_method = VT82Cxxx
Abit IP35 PRO ja Bios ID: 17
Abit NF-M2SV ja -
AOpen AX6BC ja BIOS Version 2.59, nvram-wakeup.conf: need_reboot = ON_ANY_CHANGE ; addr_day = 0x47 ; addr_hour = 0x48 ; addr_min = 0x49 ; addr_sec = 0x4A ; addr_stat = 0x4D ; addr_chk_h = 0x6F # guessed ; addr_chk_l = 0x70
ASRock A330ION nein BIOS v1.40, nvram-wakeup.conf --directisa upper_method = VT82Cxxx -
ASRock AM2NF3-VSTA nein --directisa und upper_method = VT8235_37
ASRock K7VT4A+ ja -
ASRock K7VM2 ja -
ASRock K7S41GX nein Bios v2.80, iwname:asrock_k7s41gx, --directisa ist anzugeben
ASRock K7S8X Rev. 3.0 Ja Bios V2.5 wird direkt erkannt, V2.6 nicht
Asrock K8Upgrade-NF3 nein Bios Version 1.0 - 1.5 mit guess-helper (Chipsatz Auswahl: "v"). --directisa ist anzugeben
Asrock K8NF4G-SATA2 Rev 1.0 nein Bios Version 1.70 mit guess-helper (Chipsatz Auswahl: "v"). --directisa ist anzugeben
Asrock ALiveNF7G-HDReady nein Bios Version 1.90 mit guess-helper (Chipsatz Auswahl: "v"). --directisa ist anzugeben, Tipps
Asrock P4i65G ja mit --directisa, nvram-wakeup.conf mit guess-helper erstellt
Asus A7N8X-VM-400 ja BIOS Version: 1004.009
Asus A7V333-X nein Läuft mit "asus_a7v8x" out of the box.
Asus A7V600-X nein ist jetzt im neuesten CVS enthalten (ist gleich wie A7V600)
Asus A7V400-MX nein BIOS 1009, mit --directisa
Asus A7v8x-x nein -
Asus A7V8X nein ab Bios 1013 mit --iwname asus_a7v8x (der Parameter funktioniert auch mit dem latest beta-Bios 1015.003, das zusätzlich Wake-On-Lan beherrscht)
Asus CUSL-2(C) nein --directisa klappt ohne Reboot
Asus CUV4X-E nein OpenSuse 10.2 - Bootoption ACPI=off APM=power-off
Asus CUV4X-M ja funktioniert mit Bios Version 1007 und option "-I asus_cuv4xe --directisa".
Asus M2A-VM ja mit --directisa. Re-Boot und Power-Off-Kernel erforderlich. mehr
Asus M2N-VM DVI ja mit --directisa. Re-Boot und Power-Off-Kernel erforderlich. mehr
Asus M2NPV-VM ja mit --directisa. Re-Boot und Power-Off-Kernel erforderlich.
Asus M3N78-EM ja mit --directisa. Re-Boot und Power-Off-Kernel erforderlich.
Asus P2B-F ja -
Asus P3B-F ja mit --directisa. Außerdem darf hwclock beim Shutdown nur mit --directisa verwendet werden (Init-Skript hwclock.sh anpassen).
Asus P4P800-VM ja mit --directisa.
Asus P4PE nein -
Asus P4S533-MX nein -
ASUS P4S8L ja Bios Vers. 1005, wird von neuester NVRAM-Version automatisch erkannt.
Asus P5A nein Kernel muss für 128 Bytes in NVRAM-Treiber gepatched sein. (oder seit Version 0.95 die --directisa Option benutzen)
Asus P5B nein BIOS version "0806": addr_min = 0x50, addr_sec = 0x58, addr_day = 0x5D, addr_hour = 0x5E, addr_stat = 0xE0, shift_stat = 3, addr_chk_h = 0x30, addr_chk_l = 0x31, upper_method = INTEL
ASUS P5LD2-VM ja Bios Version: 1401
ASUS P5VD2-X ja Konfiguration
Asus TUSL2 nein Reboot unnötig. Ab c't VDRDevel 1.3.36 (=4.5) funktioniert alles mit Standardeinstellungen (Tipps [[C%27t-VDR_-_Leitfaden_f%FCr_Einsteiger#NVram-Wakeup|hier]])
Biostar M7VKA nein Bios von Okt. 2000
Asus TUSL2-C ja -
DFI K6BV3+ nein BAT-Format mit ATX-Anschluss
DFI Infinity NF4 Ultra-U ja Konfiguration: DFI_Infinity_NF4_Ultra-U
Elitegroup K75SA ja benötigt die Option --directisa; es gibt mehrere, verschiedene BIOS-Versionen, die sich alle als 1.0 identifizieren - hier muss ggf. manuell die richtige Version gesucht werden (siehe Projektseite)
Elitegroup KT600-A nein Konfiguration
Elitegroup L7VMM2 nein benötigt die Option --directisa
Elitegroup RS485M-M ja benötigt die Option --directisa
Epox 8KTA3+ Pro ja Reboot beim Statuswechsel (Enabled / Disabled) notwendig
Epox 8KRA2+ ja benötigt die Option --directisa , nvram-wakeup.conf: addr_stat = 0xD2; shift_stat = 5; addr_day = 0xD8; addr_hour = 0xD9;addr_min = 0xDA; addr_sec = 0xDB; addr_chk_h = 0xCD; addr_chk_l = 0xCE; upper_method = VT8235_37
Foxconn 6150K8MD-8EKRSH ja µATX-Board / Sockel 939 / nforce-Chipsatz
Gigabyte GA-5AX ja -
Gigabyte GA-6WMMC7 ja -
Gigabyte GA-7IX ja Zuverlässiger Slot-A-Dino, Reboot ON_ANY_CHANGE
Gigabyte GA-7N400E-L ja -
Gigabyte GA-870A-UD3 (rev.2.1) (GA-870A-UD3 (rev.2.1)) ja BIOS Version F3, nvram-wakeup.conf: addr_day = 0x48 ; addr_sec = 0x49 ; addr_min = 0x4A ; addr_hour = 0x4B ; rtc_day = 0x7F ; addr_stat = 0x8A ; shift_stat = 5 ; addr_chk_h = 0x6D ; addr_chk_l = 0x6E ; upper_method = VT82Cxxx ; need_reboot = ON_ANY_CHANGE # WICHTIG: HPET muss sowohl im BIOS als auch in der grub config deaktiviert werden!
Gigabyte GA-8SIMLH nein -
Gigabyte GA-965P-DQ6 ja getestet mit Bios F13, Reboot ON_ANY_CHANGE
Gigabyte GA-K8NS-Ultra 939 ja Reboot immer notwendig, auch ohne Zeitänderung
Gigabyte M78SM-S2H ja wurde per guess-helper erstellt, als Option wurde VIA VT82Cxxx angegeben (Die Option "unbekannt" funktionierte nicht!)
Gigabyte MA785GM-US2H ja wurde per guess-helper erstellt, als Option wurde VIA VT82Cxxx angegeben
Gigabyte 73PVM-S2H ja per guess-helper erstellt, als Option VIA VT82Cxxx verwendet und im Ergebnis den doppelten Eintrag addr_stat = 0x6D entfernt. Das Mainboard erfordert einen Reboot um den neuen Wert zu verwenden zu können.
MSI 6701 entspricht Medion MD 5000 ja need_reboot=ON_ANY_CHANGE, addr_stat=0x32, shift_stat=1,addr_chk_l =0x6F, addr_chk_h=0x70
MSI 6156 nein MS-6156 (VT693). Funktioniert über directisa ohne Neustart
MSI 6318 ja Guess-Helper erkennt das Mainboard, allerdings nur mit BIOS Rev. 1.9 oder höher! Mainboard aus Medion 2000 PC
MSI 6340 ja Guess-Helper erkennt Board zuverlässig- Option "--directisa" ist anzugeben
MSI 6535 / Hermes 651 ja Option -I msi_6535_20b, -I msi_6535 oder -I msi_6535_oldbios (für Mainboard Rev. 2.0B, 1.2, 1.0 bzw 1.1) und Option --directisa. Option -C /etc/nvram-wakeup.conf nicht angeben
MSI 6570 ja Guess-Helper brachte falsche Werte für "addr_chk_h" und "addr_chk_l" Board ist bekannte, aktuelle Bios Version nicht, funktioniert mit Option -I msi_ms_6570
MSI 6723 ja Guess-Helper erkennt Board zuverlässig- Option "--directisa" ist anzugeben Board aus Digitainer von Medion
MSI 694T Pro nein -
MSI 6398E ja -
MSI 6368 ja -
MSI 915GM Speedster-FA4 (MS-9625) ja --directisa, reboot und poweroff-kernel, nvram-wakup.conf: need_reboot = ON_ANY_CHANGE; addr_stat = 0x46; addr_day = 0x47; addr_hour = 0x48; addr_min = 0x49; addr_sec = 0x4A; addr_chk_h = 0x6F; addr_chk_l = 0x70; upper_method = INTEL; zugehöriger SF-Tracker
MSI P965 Platinum (MS7238) ja --directisa, reboot und poweroff-kernel, nvram-wakup.conf: need_reboot = ON_ANY_CHANGE; addr_stat = 0xE8; shift_stat = 5; addr_day = 0xE8; addr_hour = 0xE9; addr_min = 0xEA; addr_sec = 0xEB; addr_chk_h = 0x30; addr_chk_l = 0x31; upper_method = INTEL; zugehöriger SF-Tracker
MSI K8N Neo2 (MS-7025) ja Guess-Helper erkennt das Mainboard, mit option "--directisa". Braucht leider nen Reboot, damit der Timer funktioniert.
MSI KT6V (MS-7021) ja Guess-Helper erkennt das Mainboard. Es geht sowohl mit als auch ohne "--directisa". Braucht leider nen Reboot, damit der Timer funktioniert.
MSI K8MM3-V (MS-7181) ja getestet mit Board-Rev 1.0 (BIOS 1.1 + 1.5) und Rev. 2.0 --- µATX-Board / Sockel 754 / VIA-Chipsatz
PC-Chips M810DLU (Pro2000A+) ja IWNAME: ecs_k7som_p (Option -I ecs_k7som_p) --- µATX-Board mit Mobile-Athlon 950 / SIS-Chipsatz
Shuttle SK21G ja Guess-Helper erkennt die Parameter nicht zuverlässig, Config-File hier
Tekram P5M4-M Rev. 1.x ja Reboot nur ON_STAT notwendig.
VIA EPIA VE5000 - NVRAM-WakeUp erkennt das Mainboard nicht und kann die RTC-Parameter nicht ermitteln. Daher sollte set_timer verwendet/versucht werden (s. u.).
VIA EPIA ML5000A ja -
VIA EPIA ML8000A nein ohne --directisa Im Powermanagement "Instant Off" ausgewählt
VIA EPIA ME6000G ja BIOS release: "05/19/2004"; BIOS version: "6.00 PG"; BIOS vendor: "Award Software International, Inc."
VIA [[C%27t-VDR_-_NVRAM_Wakeup_f%FCr_VIA_EPIA_M10000 | EPIA M10000]]B ja im Bios "Instant Off" unter Power Management wählen! Braucht "Reboot On_Any_Change", --directisa ist unnötig!
VIA EPIA SP8000 ja Braucht "Reboot On_Any_Change"
VIA EPIA SP13000 ja -
VIA EPIA CN10000G ja Funktioniert mit --directisa, benötigt "need_reboot = ON_ANY_CHANGE"
VIA EPIA CN700-8237R ja Funktioniert mit "need_reboot = ON_ANY_CHANGE", --directisa ist unnötig!

Für Mainboards, die nur Wake on Time (keinen Datumseintrag) unterstützen (z.B. ASUS A7N8X-Deluxe) gibt es eine Lösung: Wake on time

Wenn NVRAM nicht mit dem verwendeten Mainboard funktioniert, bleibt noch die Möglichkeit der Wakeup-Hardwarelösung.

[Bearbeiten] Installation

[Bearbeiten] Allgemein

make devices 
make
make install
man nvram-wakeup
nvram-wakeup -D
  • wenn man Glück hatte, war's das schon
  • wenn das Board nicht unterstützt wird. Halb-automatisch anlernen:
    1. guess-helper ausführen. Das funktioniert so: VDR booten lassen, sich dann in der Console anmelden und einfach guess-helper eingeben. Return -> und der Anleitung folgen
    2. Mit der fast fertigen nvram-wakeup.conf die Anleitung aus README.reboot durchgehen um zu testen ob das Mainboard einen Reboot braucht.

Dieses dann in nvram-wakeup.conf eintragen.

[Bearbeiten] Distributionsspezifisch

[Bearbeiten] Mit set_timer für problematische Boards (ansonsten weiter zum checkscript, s.u.)

Falls nvram_wakeup das Mainboard nicht kennt und auch guess-helper.sh zur Parameter-Ermittlung nicht weiter hilft gibt es noch ein Script, das im Paket NVRAM-Wakeup enthalten ist und welches immer zum Ziel führen sollte. Das Skript heißt set_timer.

  • Installation ist im Skript selbst beschrieben siehe hier

[Bearbeiten] Checkscript Beispiele

Im Header der vdrshutdown finden sich bereits ein paar Beispiele, alternativ ist auch das Skript unter checkscript.sh ein guter Startpunkt. Nicht vergessen das Skript mit

chmod +x checkscript.sh

nach dem Erstellen ausführbar zu machen. Anschließend muss in dem vdrshutdown-Skript (im CTVDR /usr/share/doc/nvram-wakeup/examples/vdrshutdown) folgende Variable angepasst werden. (Bsp.)

CHECKSCRIPT=/usr/local/bin/checkscript.sh

Testen, ob die WakeUp-Daten (Tag, Zeit, WakeUp An/Aus) korrekt im BIOS gesetzt werden mit folgender Kommandozeileneingabe:

nvram-wakeup -C /etc/nvram-wakeup.conf --directisa -s $(date +%s -d +10minutes)

oder falls man kein directisa benötigt und das Board bekannt ist:

nvram-wakeup -s $((`date +%s` + 20 * 60))

Wenn nach dem Herunterfahren im BIOS Eintrag dann die Zeit des Eintrages +20 Minuten eingetragen ist, dann kann man den VDR ausmachen und warten, ob das System dann angeht.

Wenn dies geht, dann liegt der Fehler bei der Einbindung ins VDR.

Wenn er nicht angeht, liegt es eventuell am nicht erfolgten Reboot, den manche Mainboards, wie oben beschrieben erfordern. Man kann auch mal testen, ob das Mainboard wenigstens angeht, wenn man von Hand im BIOS ein WakeUp-Event einträgt, ob er dann zur eingestellten Zeit angeht.

[Bearbeiten] WakeUp nach einfachem Herunterfahren

Schaltet man den Computer nicht über die Fernbedienung oder aus dem VDR-Menü aus, wird mit obiger Variante nicht in den NVRAM geschrieben, da VDR dann das Shutdown-Skript nicht ausführt. Deswegen sollte man in diesem Fall den folgenden Befehl vor einem kill des VDR ausführen (in der Regel in /etc/init.d/vdr):

wakeup=$(svdrpsend.pl -d localhost NEXT abs|grep 250 |cut -f3 -d' '|tr -d '\r')
nvram-wakeup -s ${wakeup:-0}

Bei ct'VDR in der Version 5.x muss der Eintrag so heißen:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/lib/vdr/
wakeup=$(svdrpsend.pl -d localhost NEXT abs|grep 250 |cut -f3 -d' '|tr -d '\r')
nvram-wakeup -s ${wakeup:-0}

[Bearbeiten] Snapshot

svn co https://nvram-wakeup.svn.sourceforge.net/svnroot/nvram-wakeup nvram-wakeup

[Bearbeiten] Links

In anderen Sprachen