Recent Posts

31
Hallo Claus, wie ich schon schrieb, wollte bei keinem der netinstall-Images irgendeine Installation starten.

Aus reiner Verzweiflung, weil ich schon so lange ohne funktionierenden VDR bin, habe ich nun die sources.list in meinem noch laufenden System durch die aus der (mld6.6.testing) mld-image-netinstall-x86-64.iso ersetzt.
Mit apt update und full-upgrade läuft das System nun mit kernel 6.14.0-yocto-standard. dddvb wurde wieder installiert, ohne dass sich etwas tat. Vielleicht war das sowieso kein gangbarer Weg, aber immerhin habe ich dabei einiges lernen können

Inzwischen habe ich deine letzte Antwort gelesen:  Bei "Paketmanager/Updates" war nichts zu aktualisieren.
Dann doch das neue Image auf einen Stick kopiert und neu installiert. Dann auch wieder dddvb installiert, neu gestartet.

Von der 5.4 kenne ich, dass bei Vorhandensein der scr.conf im VDR-Menu unter VDR-LNB sofort die Adapter melden, wenn diseqc eingeschaltet wird. Das passiert nach wie vor nicht.
Die diseqc.conf ist ok, die scr.conf auch.

Code: [Select]
lspci | grep -i dd01                                                                                                                                     
05:00.0 Class 0480: dd01:0021                                                                                                                                               

find /lib/modules/ -name "*dddvb*.ko" -o -name "*ddbridge*.ko"                                                                                           
/lib/modules/6.18.24-yocto-standard/kernel/drivers/media/pci/ddbridge/ddbridge-dummy-fe.ko                                                                                   
/lib/modules/6.18.24-yocto-standard/kernel/drivers/media/pci/ddbridge/ddbridge.ko                                                                                           
/lib/modules/6.18.24-yocto-standard/updates/ddbridge/ddbridge.ko                                                                                                           

lsmod | grep -i dddvb

lsmod | grep -i ddbridge

modprobe -a dddvb                                                                                                                                         
modprobe: WARNING: Module dddvb not found in directory /lib/modules/6.18.24-yocto-standard                                                                                   

modprobe -a ddbridge

lsmod | grep -i dddvb

lsmod | grep -i ddbridge                                                                                                                                 
ddbridge              172032  0                                                                                                                                             
cxd2099                16384  1 ddbridge                                                                                                                                     
dvb_core              135168  2 ddbridge,vtunerc                                                                                                                             

Also, nach Neustart keinen Erfolg - die adapter werden nicht geladen. Wohin wurde das dddvb-Modul installiert?
Was kann / muss ich noch tun?

Klaus, der Wanderer
32
Allgemein [ General ] / Neuinstallation
« Last post by clausmuus on October 10, 2026, 22:21:44 »
Ich würde das so machen, in Anlehnung an das existierende 60_wakeup.sh Script. Dies berücksichtigt auch die Zeit für's Booten und unterbindet ein Ausschalten wenn der Time kurz bevor steht:
Code: [Select]
#!/bin/sh
# set wakeup time for the next recording

eval $(setting get --sh vdr.nexttimer)
eval $(setting get --sh vdr.wakeup)

curentTime=`date +%s`
if [ "$utctime" ] ; then
        if [ $utctime -eq 0 ] ; then
                # kein timer gesetzt
                wakeTime=$curentTime
        else
                if [ $difftime -lt $(( $bootDuration + $shutdownDuration )) ] ; then
                        echo " Time to next wakeup time is to short"
                        exit 1
                fi
                wakeTime=$(( $utctime - $bootDuration ))
        fi

        days=$(( ($wakeTime - $curentTime) / 60 / 60 / 24))
        time=$(date -d "@$wakeTime" '+%H%M')
        echo -ne \\xC0$days$time > /dev/RCU
        echo -ne \\xE2\\x0A\\x2A\\x4A\\x6A > /dev/RCU
fi
exit 0

Oder wenn Du die Byte Codes brauchst wie beschrieben geht das so:
Code: [Select]
printf '%s' "$days$time" | od -An -v -tx1 | xargs

Bei der MLD-5 kannst Du auch in der 60_wakeup.sh nachschauen, wie dort die Zeit des nächsten Timers eingebunden wird.
33
Allgemein [ General ] / Neuinstallation
« Last post by purzel on October 10, 2026, 21:14:02 »
Mit log/journal.log bezog ich mich auf das vom MLD VDR heruntergeladene Debug-Log Archiv (tgz-File). Da musst Du den Log-Schnippsel aus Post #124 ja auch her haben - kannst ja schließlich nicht "live" auf meinem VDR `jounalctl` laufen lassen ;)

Übrigens kannst Du die Tage bis zum nächsten Timer auch so berechnen:
Code: [Select]
DAYS=$(($(setting get vdr.nexttimer.difftime) / 60 / 60 / 24))

Ich brauche ja nicht nur die Tage sondern auch die Uhrzeit, alles ziffernweise als ASCII-Bytes. Beispiel: 30 32 30 31 30 für 0 Tage, 20:10 Uhr.

Du kannst also per "setting get vdr.nexttimer" einige Infos zum nächsten anstehenden Timer abfragen, und brauchst nicht selber die timers.conf auslesen. Die Werte werden immer beim ausschalten aktualisiert.
Unter MLD-5 stehen die Infos in einer Datei die Du in Dein Script einbinden kannst, um an die Werte zu kommen.

Das habe ich ja nicht gewusst - woher auch. Wie gesagt ist das Script schon seit Jahren auf meinem alten MLD 5.3 im Einsatz; da natürlich mit dem "Beiwerk" welches seinerzeit für Start- und Shutdownscripts nötig war.

Du schreibst "werden immer beim ausschalten aktualisiert." - wann genau? Das muss ja VOR meinem set_recordtimer.sh passieren damit DAS nicht "auf die Nase fällt" oder mit alten Daten arbeitet.

Die von Dir genannte Datei unter MLD-5 interessiert mich schon auch noch, auch wenn mein VDR mittelfristig von dem 6.5er abgelöst werden soll. Ich "betreue" noch zwei weitere MLD-VDRs mit RCU.

Brauchst Du noch das ganze Script? Viel mehr als die paar Befehle macht es eigentlich nicht:

Code: [Select]
#!/bin/sh                                                                                                                                                                                           
                                                                                                                                                                                                   
# DON'T FORGET TO SET FILENAME AND PATH:                                                                                                                                                           
FILE="/etc/vdr/timers.conf"                                                                                                                                                                         
                                                                                                                                                                                                   
if [ -r $FILE ] ; then                                                                                                                                                                             
  NEXT=2147483647                                                                                                                                                                                   
  while read LINE ; do                                                                                                                                                                             
# if using bash:
    EPOCH=$(date +%s -d "$(echo -n $LINE | awk -F: -v q=" " '{print q$3,$4q}' | sed 's/^\(.\{14\}\)/\1:/')")                                                                                       
# if using busybox:
#    EPOCH=$(date +%s -d "$(echo -n $LINE | awk -F: '{print $3,$4}' | sed 's/^\(.\{13\}\)/\1:/')")                                                                                                 
    if [ $EPOCH -lt $NEXT ]; then                                                                                                                                                                   
      NEXT=$EPOCH                                                                                                                                                                                   
    fi                                                                                                                                                                                             
  done < $FILE                                                                                                                                                                                     
  TIMER=$NEXT                                                                                                                                                                                       
  NOW=$(date +"%s")                                                                                                                                                                                 
  DAYS=$(($(date -d "@$TIMER" +%d)-$(date -d "@$NOW" +%d)))                                                                                                                                         
  if [ $NEXT -lt 2147483647 ] ; then                                                                                                                                                               
    echo -ne \\xC0$DAYS$(date +"%H%M" -d @$TIMER) > /dev/RCU    # send recordtimer                                                                                                                 
  fi                                                                                                                                                                                               
fi                                                                                                                                                                                                 
echo -ne \\xE2\\x0A\\x2A\\x4A\\x6A > /dev/RCU    # display four '-'             
                                                                                                                   
                                                                                                                                                                                                   
34
Allgemein [ General ] / Neuinstallation
« Last post by clausmuus on October 10, 2026, 19:59:05 »
Übrigens kannst Du die Tage bis zum nächsten Timer auch so berechnen:
Code: [Select]
DAYS=$(($(setting get vdr.nexttimer.difftime) / 60 / 60 / 24))Du kannst also per "setting get vdr.nexttimer" einige Infos zum nächsten anstehenden Timer abfragen, und brauchst nicht selber die timers.conf auslesen. Die Werte werden immer beim ausschalten aktualisiert.
Unter MLD-5 stehen die Infos in einer Datei die Du in Dein Script einbinden kannst, um an die Werte zu kommen.
35
Allgemein [ General ] / Neuinstallation
« Last post by clausmuus on October 10, 2026, 18:39:08 »
Nicht unter log/journal.log, sondern per "journalctl" Kommando.

Poste mal das ganze Script.
36
Allgemein [ General ] / Neuinstallation
« Last post by purzel on October 10, 2026, 18:29:50 »
OK, danke.
Das hätte ich also - wenn es denn auftritt - in log/journal.log finden können.

Ich verstehe aber überhaupt nicht, unter welchen Bedingungen sich der Fehler ergibt. Er war halt vorgestern (erst spät abends gesehen, Posting dazu entsprechend gestern) und davor vor etwa vier Wochen (siehe oben). Heute den ganzen Tag (etliche Hoch- und Herunterfahr-Vorgänge, teils mit Timer) NICHT. Und auch sonst bei den vielen Start- und Shutdown-Vorgängen in den vergangenen Wochen keine Fehler. OK, da gab's meist keine Timer.

Das Script macht im Grunde nicht viel: es liest, falls vorhanden, den obersten Timer aus /etc/vdr/timers.conf und baut daraus eine Bytefolge für's RCU. Direkt in der Shell habe ich auch mal probiert, da kommt kein Fehler:
Code: [Select]
root@MLD:~# NEXT=2147483647
root@MLD:~# TIMER=$NEXT
root@MLD:~# NOW=$(date +"%s")
root@MLD:~# DAYS=$(($(date -d "@$TIMER" +%d)-$(date -d "@$NOW" +%d)))  # vermeintlich fehlerhafte Zeile 19
root@MLD:~# echo $DAYS
9

Interessant ist "09" - und nicht wie hier drüber "9".

Ich muss leider jetzt erstmal aufhören - habe aber just in diesem Moment eine Idee: ob das immer am 8. des Monats passiert? Das teste ich sobald es geht... Auf dem alten MLD 5.3 mit Busybox ist es übrigens noch nie vorgekommen, dass er nicht 'runterfahren will.

37
Allgemein [ General ] / Neuinstallation
« Last post by clausmuus on October 10, 2026, 16:56:51 »
Im Log des VDR ("journalctl -u vdr" oder im Webif unter "Meldungen") ist am Ende dies zu finden:
Code: [Select]
Oct 09 17:40:23 MLD vdr[1450]: Shutdown...
Oct 09 17:40:23 MLD vdr[1450]: 50_vdr.sh says:
Oct 09 17:40:24 MLD vdr[1450]:  do shutdown
Oct 09 17:40:24 MLD vdr[1450]: 60_wakeup.sh says:
Oct 09 17:40:24 MLD vdr[1450]:  do shutdown
Oct 09 17:40:24 MLD vdr[1450]: 70_set_recordtimer.sh says:
Oct 09 17:40:24 MLD vdr[1505]: /usr/share/vdr/shutdown.d/70_set_recordtimer.sh: Zeile 19: 19-09: Der Wert ist für die aktuelle Basis zu groß. (Fehlerverursachendes Zeichen ist "09").
Oct 09 17:40:24 MLD vdr[1450]:  do not shutdown

Der Fehler ist also in Zeile 19 Deines Scripts.
38
Allgemein [ General ] / Neuinstallation
« Last post by purzel on October 10, 2026, 14:02:57 »
Wow! Wie hast Du das so schnell gefunden? Als der Fehler vor 4 Wochen schon einmal auftrat hatte ich mir ja die Logs auch heruntergeladen - aber wenn man so gar keine Idee hat, nach was mach sucht... Du hast nicht einfach nur nach "error" gesucht oder?

Wie auch immer, Du hast natürlich richtig erkannt, dass das besagte Script von mir ist. Aber das benutze ich schon seit Jahren auf dem alten MLD 5.3 und auch schon fast von Anfang an in der MLD 6.5 Installation. Natürlich musste ich ein paar Anpassungen vornehmen wegen anderer Shell (Bash anstatt Busybox) und andere Init-Variante (Systemd anstatt SysV(-Derivat?)). Aber MEIST tritt der Fehler ja auch in der 6.5 nicht auf - heute auch schon wieder zweimal nicht.

Hast Du etwas Ausführlicheres in meinem Log gesehen? Ohne den Fehler liefert mir ein `fgrep -ri "record*" /tmp/MLD-Logs/*`(dahin hatte ich sie entpackt)  keinen Hinweis auf mein Script; "trocken" getestet gibt es keine Fehler und auch im Shutdown mit und ohne existierende timer (/etc/vdr/timers.conf) scheint alles OK.

[EDIT]
Nachtrag: Ich hatte den Einfall, ob das Script vielleicht "auf die Nase fällt" wen es eine leere /etc/vdr/timers.conf gibt - das ist aber auch nicht der Fall. Umso mehr würde mich natürlich interessieren, was genau der (vermeintliche?) Fehler gestern war...
39
Da hast Du Images erwischt, bei dem das Webinterface einen Fahler hatte. Den Fehler hatte ich aber vorgestern Abend behoben. Seit gestern sollten die Images also wieder heil sein. Ich habe das gerade ausprobiert, und bei mir trat der Fehler mit einem frischen Image nicht mehr auf.
Anstatt ein neues Image herunter zu laden, kannst Du auch als erstes nach dem Booten das Webinterface updaten (über das Burgermenü links oben und dann den Paketmanager/Updates auswählen)
Da die MLD-6.5 und MLD-6.6 das selbe Webinterface verwenden, war der Fehler in beiden Versionen enthalten.
40
Danke erstmal, aber es hilft nichts.

Ich habe das Paket mld6.6-x86 heruntergeladen und auf USB-Stick kopiert. Über die Sprachauswahl komme ich nicht hinaus, bei "Funktionen auswählen" dreht sich nur der Trichter. Es ist egal, ob ich mich für Deutsch oder Englisch entscheide.
Das gleiche passiert auch mit den beiden mld6.5-Sticks (normal und intel).
Ist dein Server erreichbar?
Deine Webseite erreiche ich mit ping, das Webinterface funktioniert auch, also am Netzwerk sollte es nicht liegen.
Interresannterweise bekomme ich auf dem anfang September installierten mld6.5-intel Updates angeboten, die auch durchlaufen.