Digital Devices CINE C/T Modus DVB-T nicht dauerhaft

  • Hi!


    ich habe mir die Cine C/T zugelegt. Die Karte wird erkannt und und scannt bei gestoppten VDR brav DVB-T, welches von mir zurzeit ausschließlich genutzt wird. Starte ich YAVDR wird die Karte als DVB-C erkannt. Kein Problem dachte ich mir, dvb-fe-tool gesucht und gefunden, übersetzt, VDR gestoppt frontends umgeschaltet, VDR wieder gestartet, läuft prima. Leider bleibt die DVB-T Einstellung nicht erhalten. An sich dachte ich erlesen zu haben, dass bei ausschließlich DVB-T in der Channels.conf DVB-T automatisch eingestellt wir bzw. dies der VDR abhakt. Dem scheint nicht so zu sein- Daher: Wo kann ich das Umschalten am besten einfügen?




    lspci-Auszug

    Code
    1. 03:00.0 Multimedia controller: Digital Devices GmbH Octopus LE DVB adapter
    2. Subsystem: Digital Devices GmbH Device 0030
    3. Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx+
    4. Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
    5. Latency: 0, Cache Line Size: 64 bytes
    6. Interrupt: pin A routed to IRQ 48
    7. Kernel driver in use: DDBridge
    8. Kernel modules: ddbridge


    dmesg Auszug


    Danke schon mal für die Hilfe.

    über woody CT-vdr gewachsen auf YAVDR 0.6 pre Frodo testing-vdr/ 2.2.0 /4x CINE dvb-c/t
    ASROCK Q1900 + 4 GB + NVIDIA GT 730 eigener Kernel 4.8.17

  • Hallo abraxas.


    Hast du inzwischen ein Lösung für ein Startup-Skript gefunden? Ich bin im Moment am gleichen Problem. Habe die gleiche Karte wie du und benötige ein Skript welches VOR (in meinem Fall) TVHeadend startet und die beiden Adapter umschaltet.
    Momentan mache ich dies manuell mittels


    Code
    1. /etc/init.d/tvheadend stop
    2. dvb-fe-tool -a0 -d DVBT
    3. dvb-fe-tool -a1 -d DVBT
    4. /etc/init.d/tvheadend start


    Ich schätze für den VDR geht das analog. Im Prinzip benötige ich ein Startskript welches als Superuser das dvb-fe-tool ausführt und erst wenn dies geschehen ist den VDR/TVHeadend starten lässt.
    Hat jemand eine Ahnung wie man das umsetzt?


    LG Philipp


    P.S. Für die Leute die das dvb-fe-tool nicht selbst kompilieren wollen: Für Ubuntu 12.04 gibt es Version 0.8.8. in den Repos von "libv4l" in launchpad.

  • Mal naiv gefragt: Kann man beim Laden der Module nicht sagen, welche(r) Tuner für C/T verwendet werden sollen? Ich verwende ebenfalls eine CineCT, allerdings ausschliesslich für DVB-C.


    BJ1

  • Moin!


    Am besten mal das Upstart Cook Book lesen. :)


    Wenn etwas vor einem anderen Job gestartet werden soll, dann muss die Bedingung "on starting" benutzt werden. Und da es kein richtiger Dauerlauf-Service-Job ist, muss es wohl als task gekennzeichnet werden.


    Lars

  • Ups lange nicht mehr geschaut...!


    Unter 0.4 habe ich es analog zum WIKI mit dem Renamen der Frontends hinbekommen.
    Bei der 0.5 alpha habe ich nicht weitergeforscht, ging out of the box noch nicht - dvb-fe-tool übersetzen benötigte erstmal einen gewissen Nachinstallationsaufwand. Bei der Leserei der Upstart Geschichte habe ich dann zunächst gestoppt, da es unter 0.4 ja bei mir läuft.


    Gruß


    Thomas

    über woody CT-vdr gewachsen auf YAVDR 0.6 pre Frodo testing-vdr/ 2.2.0 /4x CINE dvb-c/t
    ASROCK Q1900 + 4 GB + NVIDIA GT 730 eigener Kernel 4.8.17

  • Hallo zusammen,


    danke für den Tipp mit Upstart. Ich habe mich ein bisschen eingelesen (wenn auch nicht das ganze Cookbook) und einen groben Überblick bekommen. Dennoch finde die start on und stop on Befehle noch ein bisschen verwirrend. Bevor ich mir nun meinen Bootvorgang zerschieß wäre ich froh, wenn mal der ein oder andere von euch drüberschauen könnte, und auf das Ganze grobe Fehler prüfen. Ich habe mir aus diversen Foreneinträgen ein eigenes kleines Skript zusammengeschustert.
    Konzeptionell würde folgendermaßen vorgehen, in dem ich zwei neue .conf Dateien in /etc/init anlege:


    (1) dvb-switch.conf: Starte wenn dvb-Adapter initialisiert sind; Switche anschließend beide Adapter mit dem dvb-fe-tool
    (2) tvheadend.conf: Starte TVHeadend nachdem dvb-switch ausgeführt wurde.


    dvb-switch.conf


    und noch eine zweite Config-Datei:


    tvheadend.conf

    Code
    1. description "Start TVHeadend with Upstart"
    2. start on runlevel [2345]
    3. stop on runlevel [016]
    4. exec /usr/bin/tvheadend -f -u hts -g video


    Und dann muss ich noch tvheadend aus der init.d herausnehmen wenn ich das richtig verstanden habe, damit tvheadend nicht doppelt gestartet wird.
    update-rc.d -f tvheadend remove


    Passt das so ungefähr? Für jegliche Tipps bin ich euch dankbar.
    MfG Philipp

  • Moin!


    Statt der "date >> ..."-Aufrufe würde ich einfach "logger -t dvb-switch ..." benutzen, dann ist es im syslog.
    Ansonsten einfach ausprobieren und vorher eine Live-CD zurechtlegen, damit du zur Not auf der Platte den Job wieder löschen kannst.


    Lars.

  • Hallo Lars,
    danke nochmal für deine Antworten. Ich denke es funktioniert. Hier poste ich mal nochmal meine zwei confs für Leute die das gleiche Problem haben.
    Also ich habe unter /etc/init folgende zwei Skripte angelegt:


    dvb-switch.conf


    tvh.conf

    Code
    1. description "Start TVHeadend with Upstart"
    2. start on runlevel [2345]
    3. stop on runlevel [016]
    4. exec /usr/bin/tvheadend -f -u hts -g video


    Anschließend habe ich TVHeadend aus der init.d genommen:

    Code
    1. sudo update-rc.d -f tvheadend remove


    und dann noch den Daemon gestoppt:

    Code
    1. sudo invoke-rc.d tvheadend stop


    Nach einem Reboot bekomme ich Folgendes in der syslog angezeigt:


    Außerdem wird im Ordner /var/log/upstart noch eine dvb-switch.log erzeugt. (Warum?)


    Zweimal Neustart -> zweimal LiveTV über DVB-T direkt aus XBMC heraus. Funktioniert.


    Allerdings habe ich noch eine Verständnisfrage:
    Er scheint dvb-switch erst zu aktivieren wenn beide dvb-Adapter schon geladen sind, d.h. die Prüfung in der dvb-switch.conf ob beide Adapter geladen sind ist dann überflüssig?


    Ansonsten nochmal Danke für die Hilfe.
    Philipp

  • Moin!


    Außerdem wird im Ordner /var/log/upstart noch eine dvb-switch.log erzeugt. (Warum?)


    Vermutlich gibt dvb-fe-tool etwas auf stdout aus, das wird von Upstart protokolliert. Schau doch mal rein, da wird drin stehen, ob es geklappt hat.
    Entweder logrotate für diese Dateien einschalten (wenn's nicht schon ist) oder bei den Aufrufen stdout auf /dev/null umleiten.

    Er scheint dvb-switch erst zu aktivieren wenn beide dvb-Adapter schon geladen sind, d.h. die Prüfung in der dvb-switch.conf ob beide Adapter geladen sind ist dann überflüssig?


    Das ist "Zufall", da die Treiber dieser Karte sehr schnell initialisieren. Es stört aber nicht da drin und ist "das Netz über dem das Programm balanciert", falls es mal bei einem Treiber hakt und er erst später da ist.


    Da es sich, soweit ich weiß, nicht um Dateien von yaVDR handelt, kommst du sogar um das templating herum. Aber das hättest du auch schnell gelernt. :)


    Lars.

  • Wäre nicht eine udev Regel die einfachere Lösung - so mache ich es zumindest bei meiner Cinergy-T:


    /etc/udev/rules.d/11-cinergy-t.rules

    Code
    1. KERNEL=="dvb[0-9].*" SUBSYSTEM=="dvb" DRIVERS=="cx23885", RUN+="/usr/bin/dvb-fe-tool -d DVBT -a $env{DVB_ADAPTER_NUM}"


    also wenn man den cx23885 durch ddbridge ersetzt oder so.


    Code
    1. KERNEL=="dvb[0-9].*" SUBSYSTEM=="dvb" DRIVERS=="ddbridge", RUN+="/usr/bin/dvb-fe-tool -d DVBT -a $env{DVB_ADAPTER_NUM}"


    vg, aragorn

    vdr1: yavdr 0.5 | Intel DH77EB MSI B75MA-E33 | Celeron G540 | GT 630 passiv | DD Cine CT v6 | Noctua NH-L12 | Seasonic SS-300TGW (semi-passiv) | targavfd | Atric v5 | im Revox B-226 Gehäuse
    vdr2: yavdr 0.5 - GA-MA78GM-S2H - BE-2350 - GT 520 passiv - Seagate 250GB - Terratec Cinergy C/T Dual

  • Moin!


    Wäre nicht eine udev Regel die einfachere Lösung


    Theoretisch ja, ich meine aber, dass das schon jemand mit der Cine-C/T probiert hat und es soll nicht zuverlässig funktioniert haben.


    Aber eigentlich sollte man eine aktuelle vdr-Version benutzen, dann sollte es "eigentlich" gar nicht nötig sein. Aber das kann man auch auf vdr 2.0 verschieben... :)


    Lars.

  • Hallo!


    mit der yavdr 0.5 beta gehts erstmal bei mir nicht ohne das Script von seine_dudeheit (abgewandelt auf starting vdr).


    Gruß


    Thomas

    über woody CT-vdr gewachsen auf YAVDR 0.6 pre Frodo testing-vdr/ 2.2.0 /4x CINE dvb-c/t
    ASROCK Q1900 + 4 GB + NVIDIA GT 730 eigener Kernel 4.8.17

  • Hallo miteinander,


    das switchen des DVB funktioniert nun prächtig. Nur leider lädt das System meinen selbst generierten Upstart-Job (tvh.conf) nicht, sondern den alten System-V init.d Job(tvheadend), wenn ich das richtig verstehe:


    initctl list

    Code
    1. ...
    2. tty5 start/running, process 1275
    3. tvh stop/waiting
    4. failsafe stop/waiting
    5. ...


    service --status-all

    Code
    1. ...
    2. [ - ] stop-bootlogd-single
    3. [ ? ] sudo
    4. [ ? ] tvheadend
    5. [ ? ] udev
    6. ...


    Eigentlich dachte ich hätte ich den init.d Job mit oben genannten Befehlen entfernt. Ich habe zwar zwischenzeitlich ein apt-get upgrade ausgeführt, aber da war meines Wissens das tvheadend Paket nicht dabei. Oder gibt es einen anderen Grund warum mir tvheadend wieder in die /etc/init.d/ geschrieben wird?
    Ich bin etwas verwirrt und weiß jetzt nicht genau, ob tvheadend, welches ich in der Syslog sehe nun von init oder init.d gestartet wird?


    P.S. Ich weiß, dass dies hier ein yavdr-Forum ist, aber möglicherweise sind diese Probleme auch für yavdr-Nutzer relevant, da Ubuntu und upstart bei beiden die Basis ist.

  • Wissens das tvheadend Paket nicht dabei. Oder gibt es einen anderen Grund warum mir tvheadend wieder in die /etc/init.d/ geschrieben wird?


    Mit update-rc.d entfernst du es nicht updatesicher. IIRC muss ein Link bestehen bleiben damit das klappt.


    Aber poste mal das tvheadend Init Script. Evtl. kann man das sauber deaktivieren.


    cu

  • Hallo,
    hier die etc/init.d/tvheadend

  • Na ist doch super :)


    Dann schreibst du am Anfang in die "/etc/default/tvheadend" ein "exit 0" und dann ist Ruhe. Existiert die "/etc/default/tvheadend" nicht dann umso besser (dann fragt apt nicht blöd rum wenn die sich im tvheadend Paket ändert) dann erstellst du die einfach.


    cu