[gelöst] verzögerter VDR Start bis USB SSD verfügbar ist?

  • Hallo,

    erst ein paar einleitende Worte zu meiner Hard/Software Kombination:

    Verwende VDR*ELEC (CoreELEC Basis) auf einem Odroid N2+ 4GB. Mein Hauptfrontend ist vdr mit softhdodroid.

    Über USB sind zwei SSDs angeschlossen. Eine für Aufnahmen und per Symlink dahin eine Zweite Archiv SSD.

    CoreELEC mounted externe Datenträge automatisch unter /media mit Partitionsname. Konkret:

    /media/4TB_XFS <- Aufnahmen

    /media/8TB_exFAT <- Archiv

    Dann ein Symlink /storage/recordings>/media/4TB_XFS/vdr/video. In den vdr Startoptionen ist --video=/storage/recordings gesetzt.

    VDR Aufnahmen funktioniert damit zuverlässig - passt.

    Jetzt die Archiv SSD. Dahin existiert ein Symlink von /storage/recordings/8TB_exFAT>/media/8TB_exFAT/vdr/video

    Probleme: Nach vdr Start wird der 8TB_exFAT Ordner nicht gleich mit angezeigt. Im vdr Menü (commands.conf) Aufnahmen-Liste aktualisieren (/usr/local/bin/svdrpsend updr) anwähle reicht nicht.

    Erst nach vdr Neustart ist der 8TB_exFAT Ordner zu sehen.

    Habe ich bei meiner "Symlinkerei" einen Denkfehler? Könnte man den vdr Start eventl. verzögern? Oder wie wäre ein Lösungsansatz das 8TB_exFAT Ordner gleich nach vdr Start sichtbar ist?

    USB Datentransfer ist um die 300MB/sek - also Zugriffszeit sollte kein Grund sein.

    Danke

    Klick für meine Hardware

    vdr1: Odroid N2+ 4GB | VDR*ELEC CE21-ng 64GB eMMC | Video über USB: 4TB SATA Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr2: Odroid N2+ 4GB | VDR*ELEC CE22-no 256GB eMMC | Video: 1TB microSD (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr3: HP ProDesk 400 G3 SFF (i3) | NVidia Quadro T400 | 2x 8GB | System: Ubuntu 24.02 LTS, yavdr ansible (vdr 2.7.3) auf 30GB mSATA SSD | Video: 3TB SATA (XFS) | 1x WinTV dualHD | IRMP RP2040 KBD

    TV: Philips 55OLED805

  • Oh, danke für den Hinweis.

    Bei VDR*ELEC gibt es ~/.config/system.d/vdropt.service + vdropt.target

    Habe vdropt.service um RequiresMountsFor=/media/8TB_exFAT/vdr/video/ erweitert - sieht jetzt so aus:

    Danach ein systemctl daemon-reload, systemctl restart vdropt.service und reboot... aber 8TB_exFAT Ordner erscheint nicht in der Aufnahmeliste. Beim Initialstart des Systems.

    Das klappt so noch nicht :rolleyes:

    Ist das die richtige Datei? vdropt.target kann ich ignorieren?

    Überlege weiter ob VDR Startabhängigkeit hier schlau ist? Toll wäre eine flexible Lösung das USB Archivplatte nicht zwingend verbunden sein muss. Also nur in der Aufnahmeliste erscheint wenn wirklich verbunden (klar, vor Systemstart).

    Klick für meine Hardware

    vdr1: Odroid N2+ 4GB | VDR*ELEC CE21-ng 64GB eMMC | Video über USB: 4TB SATA Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr2: Odroid N2+ 4GB | VDR*ELEC CE22-no 256GB eMMC | Video: 1TB microSD (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr3: HP ProDesk 400 G3 SFF (i3) | NVidia Quadro T400 | 2x 8GB | System: Ubuntu 24.02 LTS, yavdr ansible (vdr 2.7.3) auf 30GB mSATA SSD | Video: 3TB SATA (XFS) | 1x WinTV dualHD | IRMP RP2040 KBD

    TV: Philips 55OLED805

  • Für flexibles Einbinden habe ich in meiner fstab den Eintrag

    UUID=a0444c12-9ad7-4dd1-9615-dc639174ee58 /video/ext828 xfs defaults,nofail,x-systemd.device-timeout=1 0 2

    Damit wird die Platte eingebunden, wenn sie angeschlossen ist, hält aber sonst den Betrieb nicht auf.

  • Jetzt nochmal ein anderer Ansatz: Warum funktioniert Aufnahmeliste aktualisieren über VDR OSD nicht?

    In meiner /storage/.config/vdropt/commands.conf steht:

    Code
    ...
    Aufnahmen-Liste aktualisieren : echo "/usr/local/bin/svdrpsend UPDR" | at now
    Aufnahmen-Liste aktualisieren2 : echo "touch /storage/recordings/.update 2>&1" | at now
    ...

    Rufe die Befehle auf, aber es passiert nix!?

    Manuell auf Kommandozeile:

    Code
    vdr1:~ # /usr/local/bin/svdrpsend UPDR
    220 vdr1 SVDRP VideoDiskRecorder 2.7.3; Sun Nov 24 14:06:52 2024; UTF-8
    250 Re-read of recordings directory triggered
    221 vdr1 closing connection

    alles bestens.

    Im Log journalctl | grep SVDRP sehe ich nur den manuell abgesetzten Befehl.

    Bei VDR*ELEC läuft vdr als root, genau unter dem Benutzer starte ich ja auch den Befehl auf Kommandozeile.

    Warum geht das über VDR OSD nicht?

    Andere Befehle aus der commands.conf funktionieren, z.B.:

    Code
    VDR neu starten : /bin/systemctl --no-block restart vdropt.service
    Klick für meine Hardware

    vdr1: Odroid N2+ 4GB | VDR*ELEC CE21-ng 64GB eMMC | Video über USB: 4TB SATA Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr2: Odroid N2+ 4GB | VDR*ELEC CE22-no 256GB eMMC | Video: 1TB microSD (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr3: HP ProDesk 400 G3 SFF (i3) | NVidia Quadro T400 | 2x 8GB | System: Ubuntu 24.02 LTS, yavdr ansible (vdr 2.7.3) auf 30GB mSATA SSD | Video: 3TB SATA (XFS) | 1x WinTV dualHD | IRMP RP2040 KBD

    TV: Philips 55OLED805

  • Aufnahmen-Liste aktualisieren : echo "/usr/local/bin/svdrpsend UPDR" | at now

    Aufnahmen-Liste aktualisieren2 : echo "touch /storage/recordings/.update 2>&1" | at now

    Eigentlich braust Du das "| at now" gar nicht.

    Bei mir würde der Eintrag in der commands.conf so aussehen:

    Code
    Aufnahmen aktualisieren: touch /storage/recordings/.update

    Das Aktualisieren macht der VDR dann im Hintergrund selbst.

    Grüße

    kamel5

    VDR 2.7.3: ASUS Prime X470-PRO, Ryzen 7 5700X, 64GB, 6TB HD, GT1030, Fedora 40 Kernel 6.12 X86_64, Devicebonding 2 x 1 auf 2, TT6400, DVBSky S952 V3

    Git-Repo: gitlab.com/kamel5

  • Eigentlich braust Du das "| at now" gar nicht.

    Bei mir würde der Eintrag in der commands.conf so aussehen:

    Code
    Aufnahmen aktualisieren: touch /storage/recordings/.update

    Super, damit funktioniert es.

    Klick für meine Hardware

    vdr1: Odroid N2+ 4GB | VDR*ELEC CE21-ng 64GB eMMC | Video über USB: 4TB SATA Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr2: Odroid N2+ 4GB | VDR*ELEC CE22-no 256GB eMMC | Video: 1TB microSD (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr3: HP ProDesk 400 G3 SFF (i3) | NVidia Quadro T400 | 2x 8GB | System: Ubuntu 24.02 LTS, yavdr ansible (vdr 2.7.3) auf 30GB mSATA SSD | Video: 3TB SATA (XFS) | 1x WinTV dualHD | IRMP RP2040 KBD

    TV: Philips 55OLED805

  • Ich mache das ganz quick and dirty im chroot-System in der runvdr vor dem Start von vdr.

    (CoreElec startet beim Booten vdr in chroot)

    Der erste check prüft, ob CE eine externe Platte erkannt hat (device node vorhanden). Es wird unterstellt, dass das immer der Fall sein sollte.

    Der zweite check führt beim ersten Aufruf der runvdr immer dazu, dass die Platte innerhalb der chroot-Umgebung in /srv gemounted wird. Auf den erfolgreichen Abschluss des Mountens (die auf der Platte unterhalb srv vorhandenen Ordner sind dann vorhanden) wird abschließend dann nochmal gewartet.

    Wenn die Platte nicht dranhängt oder aus anderem Grund nicht eingebunden werden kann, kommt vdr nicht hoch. Dann weiss ich, wo ich suchen muss.

    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

  • Danke an alle Beteiligten.

    Einfache Lösung für mich ist jetzt erstmal Aufnahmeliste aktualisieren über vdr osd.

    Das klappt nun zuverlässig.

    Alles unabhängig ob Archivplatte angesteckt oder nicht.

    Klick für meine Hardware

    vdr1: Odroid N2+ 4GB | VDR*ELEC CE21-ng 64GB eMMC | Video über USB: 4TB SATA Rec (XFS) + 8TB SATA Archiv (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr2: Odroid N2+ 4GB | VDR*ELEC CE22-no 256GB eMMC | Video: 1TB microSD (exFAT) | 2x WinTV dualHD (DVB-T2/DVB-C) | IR onboard

    vdr3: HP ProDesk 400 G3 SFF (i3) | NVidia Quadro T400 | 2x 8GB | System: Ubuntu 24.02 LTS, yavdr ansible (vdr 2.7.3) auf 30GB mSATA SSD | Video: 3TB SATA (XFS) | 1x WinTV dualHD | IRMP RP2040 KBD

    TV: Philips 55OLED805

  • vdr_rossi December 4, 2024 at 10:00 AM

    Changed the title of the thread from “[VDR*ELEC] verzögerter VDR Start bis USB SSD verfügbar ist?” to “[gelöst] verzögerter VDR Start bis USB SSD verfügbar ist?”.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!