Installation eines VDR+Plugins nativ auf CoreELEC Boxen

  • mit scripts/build kannst du einzelne Pakete bauen.

  • 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:


    Code
    vrtc: rtc@0a8 {                     
                    compatible = "amlogic,meson-vrtc";
                    reg = <0x0 0xff8000a8 0x0 0x4>;
            };

    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

    Code
    reg = <0x0 0x000a8 0x0 0x4>;

    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

    Und die Box wacht immer noch nicht auf.

  • 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:


    Hast du auch diese Meldung?

    Code
    tanix1:~ # dmesg | grep rtc
    [    1.420836@1]- hctosys: unable to open rtc device (rtc0)

    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:

    Code
    rtc_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 ;)


    Code
    tanix1:~ #  cat /sys/power/state 
    freeze mem

    Keine der Varianten führte zum Erfolg:

  • 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.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • 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.

  • Hi,

    Hast du mal nach 1h probiert? Nicht dass es sn Sommerzeit oder so liegt?

    MfG Stefan

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • 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:

    Alarmzeit setzen, shutdown, warten ... Und mir ist fast der Löffel aus der Hand gefallen, als die Box wieder startete :D


    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.

    VDR1: ACT-620, Asus P8B75-M LX, Intel Core i3-3240, 4 GB DDR3 RAM 1600 MHz, passive Geforce GT1030 von MSI, Sandisk 2TB SSD, 2xWinTV DualHD, Atric-IR-Einschalter. SW: Xubuntu 20.04 auf 64GB Sandisk SSD.

    VDR2: Odroid N2+ mit CoreELEC und Ubuntu in chroot, WinTV DualHD

    VDR3: Tanix TX3 mit CoreELEC und Ubuntu in chroot, WinTV DualHD

  • 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:

    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

    Code
    echo 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!