Seite 1 von 1

[Spark] Shutdown & RTC

Verfasst: Mittwoch 23. Januar 2013, 06:10
von graugans
Hi,

ich war etwas überrascht als ich mir für meinen openembedded Port angeschaut hatte wie die Boxen heruntergefahren werden.
http://gitorious.org/neutrino-hd/builds ... d/spark_fp

Ich hätte jetzt eine Lösung im Kernel erwartet. Interessante Technik aus dem Userspace... Aus reiner Neugierde habe ich mich mal hingesetzt und zwei Patches geschrieben welche das Problem im Kernel lösen. Der eine fügt einen pm_power_of "hook" im Kernel Code ein. Der andere modifiziert den aotom Treiber so, dass dieser bei der Initialisierung sich genau an diesen Hook hängt und ein Power_off zu Verfügung stellt. Wird aotom entladen wird der Hook wieder entfernt.

Am Anfang kam mir das ganze etwas unsauber vor aber es funktioniert ganz gut. :D

https://github.com/project-magpie/meta- ... halt.patch
https://github.com/project-magpie/meta- ... tion.patch

Ob das ganze dann auch mit Timern usw. funktioniert haben ich noch nicht getestet. Die Box geht in deep standby und kann mit der FB wieder geweckt werden.

Da ich beim openembedded port auch noch an der Busybox rumtricksen musste damit die nicht davon ausgeht, dass keine RTC im System vorhanden ist. Hatte ich mir überlegt on top of aotom könnte man doch ein RTC Modul bauen welches hwclock kompatibel wäre.


Über Eure Meinung zum Thema würde ich mich freuen.

Gruß

Re: [Spark] Shutdown & RTC

Verfasst: Mittwoch 23. Januar 2013, 09:42
von seife
Das ist prinzipiell die wesentlich bessere und die korrekte Lösung -- ich war einfach nicht motiviert genug, das so zu machen.

Ich schau mir das mal an und baue es dann wohl in meine builds mit ein, weil das wesentlich schicker ist.

Re: [Spark] Shutdown & RTC

Verfasst: Sonntag 27. Januar 2013, 19:16
von martii
Hallo graugans,

ich hab's eben (plus einer Handvoll dadurch bedingter Änderungen) in meinen Clone reingenommen, tut prima.

Danke!

Ciao,

martii

Re: [Spark] Shutdown & RTC

Verfasst: Montag 28. Januar 2013, 11:24
von schufti
aber baut nicht durch ....

Code: Alles auswählen

make[3]: Entering directory `/home/lindev/martii/build_tmp/libstb-hal/tools'
  CC     spark_fp.o
/home/lindev/martii/source/libstb-hal/tools/spark_fp.c: In function 'main':
/home/lindev/martii/source/libstb-hal/tools/spark_fp.c:232:21: error: 'VFDSETPOWERONTIME' undeclared (first use in this function)
/home/lindev/martii/source/libstb-hal/tools/spark_fp.c:232:21: note: each undeclared identifier is reported only once for each function it appears in
/home/lindev/martii/source/libstb-hal/tools/spark_fp.c:235:21: error: 'VFDPOWEROFF' undeclared (first use in this function)
make[3]: *** [spark_fp.o] Error 1

Re: [Spark] Shutdown & RTC

Verfasst: Montag 28. Januar 2013, 20:16
von martii
schufti hat geschrieben:aber baut nicht durch ....
Die aotom_main.h wird beim Anlegen von build_tmp/drivers angelegt, also

Code: Alles auswählen

cp build_tmp/frontcontroller/aotom/aotom_main.h root/include/
Bei nachträglichen Änderungen wird das nicht nachgezogen -- musst Du manuell machen, oder

Code: Alles auswählen

rm -rf build_tmp/drivers ; make sparkdriver
Ciao,

martii

Re: [Spark] Shutdown & RTC

Verfasst: Montag 28. Januar 2013, 21:33
von schufti
Hi,
OK, dass die .h nicht paßt habe ich schon gefunden, aber nicht warum sie nicht an den richtigen Platz kommt ... habe kernel neu gebaut, libstd-hal alles auch brav vorher gelöscht, bloß "driver" hab ich glatt übersehen. :blind

danke,
schufti

Re: [Spark] Shutdown & RTC

Verfasst: Sonntag 10. Februar 2013, 15:26
von seife
graugans hat geschrieben:Über Eure Meinung zum Thema würde ich mich freuen.
Wie schon erwähnt -- die Idee fand ich super, aber dass der Kernel core gepatched werden musste, verwirrte mich ein wenig. Da war doch was. Genau. "reboot_notifier". Damit gehts ohne Kernelpatch.

Und wo ich schon dabei war mir den Treiber zu Gemüte zu führen (das ist ja echt kein Spass... :-) habe ich auch gleich noch ein richtiges RTC-Interface mit eingebaut. Jetzt kann man mittels "hwclock" die Uhrzeit lesen / setzen und die wakeup-Time im sysfs, wie auf "richtigen" Rechnern.

Dabei habe ich das tdt-driver gleich mal auf den aktuellen Stand hochgezogen und die Patches angepasst, ich hoffe dass dabei nichts kaputt ging, bei mir funktioniert es noch.

Re: [Spark] Shutdown & RTC

Verfasst: Sonntag 10. Februar 2013, 19:21
von graugans
Vielen Dank Seife,
seife hat geschrieben: Wie schon erwähnt -- die Idee fand ich super, aber dass der Kernel core gepatched werden musste, verwirrte mich ein wenig. Da war doch was. Genau. "reboot_notifier". Damit gehts ohne Kernelpatch.
Das war ja nur nen proof of concept :D umso besser das es auch ohne Kernel-Patch geht.
seife hat geschrieben: Und wo ich schon dabei war mir den Treiber zu Gemüte zu führen (das ist ja echt kein Spass... :-) habe ich auch gleich noch ein richtiges RTC-Interface mit eingebaut. Jetzt kann man mittels "hwclock" die Uhrzeit lesen / setzen und die wakeup-Time im sysfs, wie auf "richtigen" Rechnern.

Dabei habe ich das tdt-driver gleich mal auf den aktuellen Stand hochgezogen und die Patches angepasst, ich hoffe dass dabei nichts kaputt ging, bei mir funktioniert es noch.
Das ist echt genial. Schon wieder Arbeit gesspart ;-) Ich werde es sobald ich Zeit habe testen..

Gruß
Christian