17.11.2008, 13:33
Hallo zusammen,
ich habe die Tage meinen neuen VDR installiert.
Vielleicht war die Wahl der Hardware nicht ganz glücklich, da ich viele Probleme in den verschiedenstens bereichen hatte/habe. (LCD, FB, ACPI, Bidget TT-1401, FF TT Rev. 1.3, ...)
Eines der Probleme war das Wakeup durch ACPI.
Dies hat einige Tage, zahlreiche Kernel und viele Threads in Foren lesen, gebraucht.
Schließlich habe ich es hin bekommen und möchte meine Erfahrungen mit euch Teilen.
Zunächst einmal musste ich die Live-CD mit dem Kernel 2.6.25.9 zur Installatione nutzen, da die Installations-CD mit dem 2.6.22er Kernel meine SATA Platte nicht erkannt hat.
Jetzt aber zum ACPI.
Standard maßig ist der 2.6.25.9er Kernel mit RTC Unterstützung gebacken, sodass nicht, wie bei älteren Kernel, "/proc/acpi/alarm" sondern "/sys/class/rtc/rtc0/wakealarm" zum setzen des Timer genutzt wird.
Und genau hier scheint auch das Problem zu liegen.
Egal ob ich den Kernel 2.6.25.9, 2.6.25.20 oder 2.6.27.6 kompiliert habe, der Wakeup über "/sys/class/rtc/rtc0/wakealarm" hat nicht funktioniert.
Ein "cat /proc/drivers/rtc" hat mir zwar angezeigt, dass der neue Timer richtig gesetzt wurde, aufgewacht ist der VDR trotzdem nicht.
Was habe ich gemacht, um ACPI Wakeup zum laufen zu bekommen.
1.
2.6.25.20 Kernel ohne RTC CLASS neu kompiliert, sodass "/proc/acpi/alarm" wieder erstellt und genutzt werden kann. (Kernel-Config siehe Anhang)
2.
/usr/bin/easyvdrshutdown.sh wie folgt an der entsprechenden Stelle angepasst:
[sub]##############################################################################################
"ACPI")
if [ -f $PROC_ALARM ]; then
ACPI_METHOD="PROC"
fi
if [ -f $SYS_ALARM ]; then
ACPI_METHOD="SYS"
fi
hwclock -w --localtime
DAY_AHEAD=$(date -d "1 day" +%s)
if [ $NEXT_TIMER -gt $DAY_AHEAD ] || [ "$TIMER" = "0" ] ; then
ACT_HOUR=$(date +%k)
if [ $WAKEUP_HOUR -gt $ACT_HOUR ] ; then
#NEXT_ALARM=$(date -d "$WAKEUP_HOUR:00" +"%Y-%m-%d %R") // Original
NEXT_ALARM=$(date -d "$WAKEUP_HOUR:00" +"%Y-%m-%d %T")
else
#NEXT_ALARM=$(date -d "$WAKEUP_HOUR:00 1 day" +"%Y-%m-%d %R") // Original
NEXT_ALARM=$(date -d "$WAKEUP_HOUR:00 1 day" +"%Y-%m-%d %T")
fi
else
#NEXT_ALARM=$(date -d "1970-01-01 UTC $NEXT_TIMER seconds" +"%Y-%m-%d %R") // Original
NEXT_ALARM=$(date -d "1970-01-01 UTC $NEXT_TIMER seconds" +"%Y-%m-%d %T")
fi[/sub]
3.
/etc/init.d/hwclock.sh vorsichtshalber wie in folgender Doku Angepasst:
https://help.ubuntu.com/community/MythTV...hwclock.sh
Mit dem 2.6.27er Kernel war überhaupt nichts zu machen, wobei ich nicht die Hand dafür ins feuer legen möchte, dass ich alle richtig gemacht habe.
Falls Ihr auch schon Erfahrungen mit dem Board habt und/oder vielleicht eine Idee, wie man es auch mit RTC und anderen Kerneln zum rennen bekommt, nur her damit. ;-)
Gruß Timo
ich habe die Tage meinen neuen VDR installiert.
Vielleicht war die Wahl der Hardware nicht ganz glücklich, da ich viele Probleme in den verschiedenstens bereichen hatte/habe. (LCD, FB, ACPI, Bidget TT-1401, FF TT Rev. 1.3, ...)
Eines der Probleme war das Wakeup durch ACPI.
Dies hat einige Tage, zahlreiche Kernel und viele Threads in Foren lesen, gebraucht.
Schließlich habe ich es hin bekommen und möchte meine Erfahrungen mit euch Teilen.
Zunächst einmal musste ich die Live-CD mit dem Kernel 2.6.25.9 zur Installatione nutzen, da die Installations-CD mit dem 2.6.22er Kernel meine SATA Platte nicht erkannt hat.
Jetzt aber zum ACPI.
Standard maßig ist der 2.6.25.9er Kernel mit RTC Unterstützung gebacken, sodass nicht, wie bei älteren Kernel, "/proc/acpi/alarm" sondern "/sys/class/rtc/rtc0/wakealarm" zum setzen des Timer genutzt wird.
Und genau hier scheint auch das Problem zu liegen.
Egal ob ich den Kernel 2.6.25.9, 2.6.25.20 oder 2.6.27.6 kompiliert habe, der Wakeup über "/sys/class/rtc/rtc0/wakealarm" hat nicht funktioniert.
Ein "cat /proc/drivers/rtc" hat mir zwar angezeigt, dass der neue Timer richtig gesetzt wurde, aufgewacht ist der VDR trotzdem nicht.
Was habe ich gemacht, um ACPI Wakeup zum laufen zu bekommen.
1.
2.6.25.20 Kernel ohne RTC CLASS neu kompiliert, sodass "/proc/acpi/alarm" wieder erstellt und genutzt werden kann. (Kernel-Config siehe Anhang)
2.
/usr/bin/easyvdrshutdown.sh wie folgt an der entsprechenden Stelle angepasst:
[sub]##############################################################################################
"ACPI")
if [ -f $PROC_ALARM ]; then
ACPI_METHOD="PROC"
fi
if [ -f $SYS_ALARM ]; then
ACPI_METHOD="SYS"
fi
hwclock -w --localtime
DAY_AHEAD=$(date -d "1 day" +%s)
if [ $NEXT_TIMER -gt $DAY_AHEAD ] || [ "$TIMER" = "0" ] ; then
ACT_HOUR=$(date +%k)
if [ $WAKEUP_HOUR -gt $ACT_HOUR ] ; then
#NEXT_ALARM=$(date -d "$WAKEUP_HOUR:00" +"%Y-%m-%d %R") // Original
NEXT_ALARM=$(date -d "$WAKEUP_HOUR:00" +"%Y-%m-%d %T")
else
#NEXT_ALARM=$(date -d "$WAKEUP_HOUR:00 1 day" +"%Y-%m-%d %R") // Original
NEXT_ALARM=$(date -d "$WAKEUP_HOUR:00 1 day" +"%Y-%m-%d %T")
fi
else
#NEXT_ALARM=$(date -d "1970-01-01 UTC $NEXT_TIMER seconds" +"%Y-%m-%d %R") // Original
NEXT_ALARM=$(date -d "1970-01-01 UTC $NEXT_TIMER seconds" +"%Y-%m-%d %T")
fi[/sub]
3.
/etc/init.d/hwclock.sh vorsichtshalber wie in folgender Doku Angepasst:
https://help.ubuntu.com/community/MythTV...hwclock.sh
Mit dem 2.6.27er Kernel war überhaupt nichts zu machen, wobei ich nicht die Hand dafür ins feuer legen möchte, dass ich alle richtig gemacht habe.
Falls Ihr auch schon Erfahrungen mit dem Board habt und/oder vielleicht eine Idee, wie man es auch mit RTC und anderen Kerneln zum rennen bekommt, nur her damit. ;-)
Gruß Timo
VDR: easyVDR 0.6.08 -- Kernel 2.6.26.9 -- ALSA 1.20 -- Lirc CSV 14.11.2008 -- LCDproc 0.5.2 iMON patched -- xine-vdpau + crop patch v9 - HDMI
Hardware: Asus M3A-H -- AMD 4850e -- 2048MB RAM -- NVIDIA 9400GT HDMI -- Nexus-S FF Rev. 2.3 -- TT 1401
Gehäuse: Thermaltake DH101 -- SoundGraph iMON IR/LCD 0038 -- iMON PAD F
Hardware: Asus M3A-H -- AMD 4850e -- 2048MB RAM -- NVIDIA 9400GT HDMI -- Nexus-S FF Rev. 2.3 -- TT 1401
Gehäuse: Thermaltake DH101 -- SoundGraph iMON IR/LCD 0038 -- iMON PAD F