mit scripts/build kannst du einzelne Pakete bauen.
Installation eines VDR+Plugins nativ auf CoreELEC Boxen
-
-
So bei mir funktioniert es nun. Der Fehler war im device tree. Der ist wohl unter kernel 4.9 noch etwas anders. Damit geht es nun:
Damit kann man bei einen Suspend oder nach einem Shutdown den Rechner dann wieder Zeitgesteuert hochfahren. Mir ist aufgefallen das es bis zu 60 Sekunden dauert bis er dann wieder hochkommt. Ob da noch etws an der Zeitberechnung fehlerhaft ist kann ich nicht sagen. Mit genügend vorlauf ist das aber auch egal.
Gebt mal Feedback ob es bei euch auch klappt.
PS:
Die Version aus dem 6er kernel klappt nur beim suspend, da sie den Timer erst setzt wenn der Suspend aufgerufen wird. Die Version die Zabrimus eingecheckt hat setzt den Timer direkt beim Aufruf und funktioniert auch bei einem shutdown. Ich denke wir lassen das so wie es ist. Evtl. muss man beim booten noch ein echo 0 >/sys/class/rtc/rtc0/wakealarm einbauen damit der Timer sicher gelöscht wird.
-
reg = <0x0 0xff8000a8 0x0 0x4>;
Da liegt ein Unterschied zu dem Patch den ich drin habe. Im Patch steht
Image gebaut, dtb ersetzt und getestet (tanix tx3). Mich dünkt, ich mache irgendwas falsch.
Egal welchen Wert ich nutze echo 12041451 > /sys/class/rtc/rtc0/wakealarm die Alarmzeit ist immer 5 Minuten in der Zukunft. Auch bei echo 0 > /sys/class/rtc/rtc0/wakealarm
Code
Alles anzeigentanix1:~ # cat /proc/driver/rtc rtc_time : 13:53:38 rtc_date : 2022-12-04 alrm_time : 13:58:36 alrm_date : 2022-12-04 alarm_IRQ : no alrm_pending : no update IRQ enabled : no periodic IRQ enabled : no periodic IRQ frequency : 1 max user IRQ frequency : 64 24hr : yes
Und die Box wacht immer noch nicht auf.
-
Hast du die alte rtc definition im Devicetree entfernt?
-
Hast du die alte rtc definition im Devicetree entfernt?
Die alte wurde durch die neue ersetzt. Soll ich beide drin lassen?
Vielleicht sollte ich den Devicetree auch mal genauer checken. Nicht das durch irgendein anderes Include noch was reingerutscht ist, daß ich noch nicht gefunden habe.
-
Die alte muss raus. Ich vermute aber das du zwei rtc devices hast. Ein altes rtc0 und ein neues rtc1.
Poste mal was cat /sys/class/rtc/rtc0/name sagt. Und ob es ein cat /sys/class/rtc/rtc1/name gibt.
Und was gibt ein dmesg | grep rtc
-
Poste mal was cat /sys/class/rtc/rtc0/name sagt. Und ob es ein cat /sys/class/rtc/rtc1/name gibt.
Und was gibt ein dmesg | grep rtc
Das sieht alles relativ unauffällig aus:
Code
Alles anzeigentanix1:~ # cat /sys/class/rtc/rtc0/name meson-vrtc tanix1:~ # cat /sys/class/rtc/rtc1/name cat: can't open '/sys/class/rtc/rtc1/name': No such file or directory tanix1:~ # dmesg | grep rtc [ 1.420836@1]- hctosys: unable to open rtc device (rtc0) [ 12.627626@3]- meson-vrtc ff8000a8.rtc: rtc core: registered meson-vrtc as rtc0 tanix1:~ # cat /proc/driver/rtc rtc_time : 16:44:23 rtc_date : 2022-12-05 alrm_time : 00:00:00 alrm_date : 1970-01-01 alarm_IRQ : no alrm_pending : no update IRQ enabled : no periodic IRQ enabled : no periodic IRQ frequency : 1 max user IRQ frequency : 64 24hr : yes tanix1:~ # ls /proc/driver/rtc* /proc/driver/rtc tanix1:~ # ls -la /dev/rtc* lrwxrwxrwx 1 root root 4 Aug 6 2021 /dev/rtc -> rtc0 crw------- 1 root root 251, 0 Aug 6 2021 /dev/rtc0
Hast du auch diese Meldung?
Ich überlege gerade, ob es ein sinnvoller Test wäre, den Treiber nicht als Modul zu bauen, sondern fix in den Kernel?
Edit:
Ob als Modul oder fix in den Kernel macht keinen Unterschied.
-
Hast du auch diese Meldung?
Ja das habe ich auch. Das ist der Versuch des Betriebssystems die Uhrzeit von dem Device zu lesen. Das klappt natürlich nicht. Ist aber unschädlich.
Wenn du eine Alarmzeit setzt dann sollte der alarm_IRQ auf yes gehen. Sonst klappt das Aufwachen wohl nicht. Bei mir sieht das dann so aus:
Codertc_time : 06:21:27 rtc_date : 2022-12-06 alrm_time : 06:21:55 alrm_date : 2022-12-06 alarm_IRQ : yes alrm_pending : no update IRQ enabled : no periodic IRQ enabled : no periodic IRQ frequency : 1 max user IRQ frequency : 64
Und die Zeiten sind in UTC. Und du musst sinnvolle Aufwachzeiten setzen. Also Zeiten in der Zukunft. Nicht wie in deinem Test oben.
Derzeit also grösser als 1670307715
-
Und die Zeiten sind in UTC. Und du musst sinnvolle Aufwachzeiten setzen. Also Zeiten in der Zukunft. Nicht wie in deinem Test oben.
Derzeit also grösser als 1670307715
Okay. Ein typischer ERROR-40. Wenn mans richtig macht, dann wird auch der IRQ gesetzt und die Box (tx3) wacht trotzdem nicht auf
Keine der Varianten führte zum Erfolg:
Code
Alles anzeigenGemeinsam ist: echo 0 > /sys/class/rtc/rtc0/wakealarm echo +20 > /sys/class/rtc/rtc0//wakealarm cat /proc/driver/rtc rtc_time : 14:09:02 rtc_date : 2022-12-06 alrm_time : 14:09:22 alrm_date : 2022-12-06 alarm_IRQ : yes alrm_pending : no update IRQ enabled : no periodic IRQ enabled : no periodic IRQ frequency : 1 max user IRQ frequency : 64 24hr : yes Und dann entweder echo freeze > /sys/power/state echo mem > /sys/power/state shutdown -h -P now systemctl suspend
-
Nur so eine Idee: Eventuell hilft es den Timer ein paar Minuten in der Zukunft zu setzen, als nur ein paar Sekunden?
-
Kann das an Hardwareunterschieden zwischen der X96MAX und der Tanix TX3 (Alice?) liegen? Wäre schade, die TX3 ist günstiger zu haben.
-
Nur so eine Idee: Eventuell hilft es den Timer ein paar Minuten in der Zukunft zu setzen, als nur ein paar Sekunden?
Ich habe den Timer jetzt mit 10 Minuten getestet und 25 Minuten gewartet. Ohne Erfolg.
Kann das an Hardwareunterschieden zwischen der X96MAX und der Tanix TX3 (Alice?) liegen? Wäre schade, die TX3 ist günstiger zu haben.
Da muss es wohl Unterschiede geben. Es scheint sogar Unterschiede zwischen verschiedenen TX3 zu geben. 1 GBit vs. 100Mbit Netzwerk. Angeblich soll auch WOL funktionieren, aber das habe ich auch nicht hin bekommen.
Gut. Mich stört das nicht, weil ich das wakeup bisher nie eingesetzt habe und jetzt mit der TX3 zum ersten mal teste. Das WOL ist schon ärgerlich, aber auch kein Beinbruch. Die Box dient eben nur zum TV/Kodi schauen und nix anderes.
-
Kann das an Hardwareunterschieden zwischen der X96MAX und der Tanix TX3 (Alice?) liegen? Wäre schade, die TX3 ist günstiger zu haben.
Das wakeup wird rein in dem SoC gemacht. M.E. kann es da keine Unterschiede geben. Hast du den bl301 Blob geladen ? Das musst du unter Kodi aktivieren.
-
Hi,
Hast du mal nach 1h probiert? Nicht dass es sn Sommerzeit oder so liegt?
MfG Stefan
-
Hast du mal nach 1h probiert? Nicht dass es sn Sommerzeit oder so liegt?
Genau deshalb habe ich mir ja die Daten (cat /proc/driver/rtc) ausgeben lassen. Die Systemzeit und die Alarmzeit unterschieden sich genau um die gewünschte Zeit.
Hast du den bl301 Blob geladen ? Das musst du unter Kodi aktivieren.
Genau das war es! Ich habe das zwar nur auf der Shell gemacht und das Ergebnis sieht jetzt so aus:
Code
Alles anzeigentanix1:~ # inject_bl301 Starting bootloader blob BL301 injection tool... This tool can be used to update the bootloader blob BL301 of the vendor bootloader on the internal eMMC. This bootloader blob BL301 is customized by Team CoreELEC to support all wake-up features like CEC, Wake-On-LAN, IR, and GPIO wake-up from suspend or power off state! Device serial number: 2b0b010001071a00000c3233334e3050 Using CPU type SM1 (2b): S905X3, S905D3 Using binary type because of CoreELEC DT-ID: Generic Using /dev/bootloader as bootloader partition Did not find Amlogic image v2 header magic! Found a valid Amlogic v3 ToC header (0x10210) Amlogic magic: AA640001 Serial Number: 12345678 Flags: 0 Old signature bl2: 2D935C42E6B9B0FB700A2C3010F78D41D6B18B9B601B29521E7F1B14EDC68BF2 BL2 time stamp: Built : 14:57:11, Sep 1 2020. g12a g3c95fed - gongwei.chen@droid11-sz TOC ENTRY #3 UUID: D6D0EEA7FCEAD54B97829934F234B6E4 Offset Address: 0xA7170 (absolute: 0xB7380) Size: 0xB9000 Flags: 0x0 Found BL33 blob image at: 0x000B7380 Amlogic magic: @AML BL33 time stamp: U-Boot 2015.01-g3f93e96a99-dirty (Oct 12 2020 - 14:46:584▒ #a TOC ENTRY #0 UUID: 9766FD3D89BEE849AE5D78A140608213 Offset Address: 0x68000 (absolute: 0x78210) Size: 0xFD70 Flags: 0x0 Found BL30 blob image at: 0x00078210 Amlogic magic: @AML Old signature bl30: 451C18B54C4394E62D8DC3D6CB6B7437CD7D92562ED576F5B037F8F6E0DCAD36 Using bl301 blobs from: 221119 Using bl301 blob: Generic_28_2b_bl301.bin Use config.ini value: wol = 0x01 Use config.ini value: cec_osd_name = CoreELEC New signature bl30: 451C18B54C4394E62D8DC3D6CB6B7437CD7D92562ED576F5B037F8F6E0DCAD36 Update of BL301.bin on eMMC is not needed
Alarmzeit setzen, shutdown, warten ... Und mir ist fast der Löffel aus der Hand gefallen, als die Box wieder startete
Danke. WOL habe ich noch nicht getestet, aber das Aufwecken funktioniert einwandfrei.
-
Habt Ihr mal den Unterschied des Stromverbrauchs zwischen „Kiste läuft“ und „Kiste ist mit gesetzter Aufwachzeit runtergefahren“ gemessen?
Über eine zusammenfassende und anfängertaugliche Zusammenfassung, was genau zu tun ist, würde ich mich freuen. Werde mir wohl eine Tanix TX 3 Alice holen. Aktuell in der 4/32-Ausführung für knapp 38 zu haben. Dass der onboard-LAN höchstwahrscheinlich nichts taugt und durch einen externen USB-Adapter ersetzt werden muss, ist verschmerzbar. -
Alarmzeit setzen, shutdown, warten ... Und mir ist fast der Löffel aus der Hand gefallen, als die Box wieder startete
Na prima. Dann bin ich ja beruhigt das es auch bei anderen nun klappt. Jetzt müsste das nur noch in das Shutdown script eingebaut werden ( gibt es ja schon länger wie es geht) und dann haben wir einen "vollständigen" vdr mit automatischen Recording für wenig Geld
PS: Meine Max braucht incl. SSD Festplatte ca. 8 Watt im Betrieb und heruntergefahren ca. 1 Watt.
-
Habt Ihr mal den Unterschied des Stromverbrauchs zwischen „Kiste läuft“ und „Kiste ist mit gesetzter Aufwachzeit runtergefahren“ gemessen?
Im Rahmen der Messungenauigkeit und des verwendeten Netzteils komme ich für die Tanix TX3 auf diese Werte (ohne Platte, SSD, oder andere Geräte):
Verbrauch VDR/Kodi: 2,7 Watt
Aus: 1,3 Watt
Aufwachzeit gesetzt: 1,3 Watt
-
Über eine zusammenfassende und anfängertaugliche Zusammenfassung, was genau zu tun ist, würde ich mich freuen.
Ich versuche mich mal zu erinnern
Schritt 1:
Es muss eine Unterscheidung getroffen werden: Update oder Neuinstallation.
Neuinstallation wie üblich. SD Karte, dtb aussuchen und nach dtb.img kopieren.
Für das Update einer Bestandsinstallation gilt nahezu dasselbe. Die neue dtb muss kopiert werden, denn die wird bei einem Update nicht automatisch aktualisiert.
Ich verwende die dtb sm1_s905x3_4g_1gbit.dtb. Es scheint auch Leute zu geben, bei denen die Box nur startet, wenn man die dtb ohne "1gbit" oder "100mbit" nutzt. Da hilft nur probieren.
Schritt 2:
Für die Tanix TX3 musste ich den Bootloader aktualisieren: Stichwort bl301. Nachlesen kann man es z.B. auf im CoreELEC Wiki. Und da gibt es auch eine Warnung, die ich heute ignoriert habe, da ich meine Box nicht von Aliexpress habe:
This method does currently NOT work with these devices:
TX3 S905X3 from Aliexpress
Falls das System nach dem bl301 Update nicht mehr bootet beginnt das Lesen des Forums und das Kurzschliessen von 2 Pins auf dem Board und Nutzung einer speziellen SD Karte um wieder an die Box zu kommen.
Ich habe das inject per Kommdozeile gemacht, weil ich die Ausgaben sehen wollte und die weitere Konfiguration dann in Kodi.
inject_bl301
Nach dem erfolgreichem Booten kann man inject_bl301 nochmal aufrufen und prüfen, ob der neue Bootloader auch geschrieben wurde. Meine Ausgabe kann man oben finden.
Schritt 3:
Nutzung... In einem shutdown Script oder wie auch immer. Das bleibt dann jedem selbst überlassen. Meine Box wacht erfolgreich auf mit
Codeecho 0 > /sys/class/rtc/rtc0/wakealarm echo +300 > /sys/class/rtc/rtc0//wakealarm shutdown -h -P now
Falls Datumsberechnungen (mit z.B. date) erfolgen sollen, dann sollte man beachten, daß das busybox date verwendet wird und das verhält sich etwas anders, als das normale bekannte Kommando und da muss man ein wenig forschen. Deshalb kam ich auf das "echo +300" um meine Tests einfacher durchführen zu können.
-
Ich hänge mal mein script an. Das wird vor dem stop und nach dem start aufgerufen und püft ob ein Timer ansteht und setzt dann das wakup. Beim start wird geschaut ob der Start über den Timer erfolgt ist damit nach der Aufnahme dann wieder runtergefahren werden kann (und der TV nicht eingeschaltet wird).
Wichtig ist hier das beim start auf das setzen der Uhrzeit per ntp gewartet wid. Da es ja keine Hardwareuhr gibt.
PS: in den diversen Distributionen hier ist das wohl noch viel eleganter gelöst.
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!