v4l-dvb-dkms inkompatibel zu LIRC?

  • Hallo!


    Ich habe ein System, das auf dem testing-vdr Repository von yavdr basiert.


    Mit meiner Technisat Skystar HD (die ja eine Technotrend TT DVB S2-3200) ist, habe ich immer wieder mal das Problem, dass das Umschalten zwischen verschiedenen Kanälen mehrere Sekunden (zB 5 Sekunden, bis max. 10) in Anspruch nimmt.


    Bei der VDR-Ausgabe mittels Xine (vdr-sxfe) bleibt in so einem Fall derweil das Bild aus (oder es erscheint dann sogar kurz "No signal") - nutze ich Xbmc mittels VNSI-Schnittstelle, so erhalte ich die Meldung "Kanal kann nicht angezeigt werden"


    (Xbmc scheint nicht so geduldig zu sein, wenn ein Kanal nicht gleich nach dem Umschalten empfangen wird)



    Besser ist das Alles mit den DVB-Treibern aus dem Paket v4l-dvb-dkms (auch aus dem selben yavdr-Repository).


    Boote ich das System allerdings mit diesen V4L-DVB-Treibern, so wird gleich zur Boot-Zeit der IR-Receiver meiner Skystar HD erkannt und dafür das Kernel-Modul "lirc_dev" geladen.


    Das ist nun aber ein Problem.


    Später wird lirc gestartet, da ich den VDR mit Fernbedienung steuere.


    Ich verwende dazu einen IR-Empfänger, der am COM-Port des Mainboards hängt --> dafür benötige ich die LIRC-Module lirc_dev und lirc_serial.



    lirc_dev wird ja schon zuvor, bei der Initialisierung des DVB-Treibers geladen und ist also schon vorhanden beim Start von LIRC.


    Neu hingegen ist zu diesem Zeitpunkt des LIRC-Startes noch das Modul lirc_serial, weshalb es geladen wird.



    Das klappt aber nicht --> das Modul lirc_serial aus dem LIRC-Paket ist nicht kompatibel zum Modul lirc_dev aus dem V4L-DVB-DKMS-Paket.


    (Die genaue Fehlermeldung kann ich auf Wunsch posten. Sie tritt immer dann auf, wenn mittels modprobe das Modul lirc_serial geladen wird, wenn zu diesem Zeitpunkt schon das lirc_dev Modul aus den V4L-DVB-DKMS-Treibern geladen ist)


    Das Resultat ist, dass ich so meine Fernbedienung nicht nutzen kann, weshalb ich vorerst wieder auf den Standard-DVB-Treiber mit den Umschalt-Verzögerungen zurück gewechselt bin.



    Liegt hier eigentlich ein Problem an den Paket-Quellen vor (lirc und auch v4l-dvb-dkms nutze ich aus dem yavdr-Repository, sind vielleicht die yavdr-Paket intern zueinander nicht kompatibel?)



    Als Workaround würde mir einfallen, den IR-Empfänger der TT S2-3200 nicht zu initalisieren (benötige ich eh nicht), wodurch dann auch nicht das problematische lirc_dev Modul zu laden ist.


    Wie das zu bewerkstelligen ist (Option beim Kernel-Modul für die TV-Karte???) habe ich allerings noch nicht herausgefunden.

  • Welchen Kernel hast du denn? Ab dem 2.6.36 ist da das lirc Zeug mit in den Kernel gekommen, da hatte ich (und einige andere hier auch) es auch nicht hinbekommen lirc überhaupt zum laufen zu bekommen (bei mir mit mit ner X10 und TV Karten ohne eigenen Empfänger).


    Ich bin dann wieder auf den 2.6.35.3 zurück, da läuft alles wie gewohnt. Und da der Kernel überhaupt nix mit lirc zu tun hat gibts hier auch gar nicht die Möglichkeit für derartige Probleme.


    Nur ersetzt V4L-DVB ja auch die DVB Sachen aus dem Kernel, also hier evtl. auch mal analog ne ältere Version ohne lirc probieren.


    Jedenfalls vertragen sich die lirc Variante aus dem Kernel und das "richtige" lirc überhaupt nicht.


    Aber evtl. reicht es ja auch aus die entsprechenden Module aus dem Kernel/V4L-DVB zu löschen (danach depmod).
    Oder die Module blacklisten ( /etc/modprobe.d/ ).



    Naja, ich warte jedenfalls ne Weile eh ich da mal wieder was aktualisiere, die ganzen lirc Sachen müssen sich da ja erstmal sortieren.


    cu

  • Inzwischen habe ich eine Lösung gefunden:


    Die LIRC-Module des normalen Kernels (also des Kernels von Ubuntu 10.04) funktionieren als solche ausgezeichnet.


    Teile der LIRC-Module befinden sich allerdings in neuerer Version im v4l-dvb-dkms Paket.


    Wären dort alle LIRC-Pakete mit dabei, so würde die Sache wieder funktionieren. Da sich darin aber nur das allseits benutzte lirc_dev befindet, das für einen seriellen Empfänger benutzte lirc_serial aber nur im normalen Kernel vorhanden ist, klappt die ganze Sache nicht.



    Module verschieben oder kopieren (mit anschließendem depmod) wollte ich nicht --> das wäre der sichere Weg das System spätestens beim nächsten Kernel-Update (wo die händisch angepassten Module wieder überschrieben werden) zu zerstören.


    Stattdessen hab ich mich an der modprobe-Konfiguration gespielt und diese so angepasst, dass der LIRC-Untersatz aus dem normalen Kernel (anstatt vom v4l-dvb Treiber) geladen wird.


    Das spezielle LIRC-Modul für den IR-Empfänger meiner TT-budget S2-3200 habe ich deaktiviert, das das mit dem LIRC-Untersatz des normalen Kernels ohnehin nicht funktionieren würde - zwar würde das Modul nicht geladen, wenn ich es von vorn herein aber blackliste, so erspare ich dem dmesg eine Fehlermeldung.


    Mit etwas Glück überlebt meine Modul-Anpassung sogar die Einspielung eines neuen Kernels mittels dist-upgrade - vollautomatisch ;)



    Gemacht habe ich diese Anpassungen durch Anlage der Datei /etc/modprobe.d/lirc-v4l-dvb-cleanup.conf


  • Hallo Löwe,


    zwar schon lange her, dass du dich dieses Problems angenommen hast aber auf jeden Fall Danke!!!


    Ich habe gestern Nacht ewig gesucht warum mein Lirc (0.9.0) nicht mehr geht nach einem Update der DVB-Treiber. Nach langer Suche habe ich die Abhängigkeit zwischen v4l und lirc entdeckt, bin aber nicht so recht weitergekommen. Jetzt stelle ich mit deinen Infos aber fest, dass es definitiv zwei lirc_dev.ko in meinem Kernel gibt und nach dem Ersetzen derselben läuft bei mir lirc_serial.ko nun endlich wieder...


    Danke & viele Grüße,
    Max


    VDRClient [MLD] auf RaspberryPi mit LIRC+IR-Einschalter (mit Arduino Pro Mini)
    Amazon FTV 2 [Kodi 15.x] als VDR-Streaming-Client
    Headless VDR [Ubuntu 14.04LTS mit VDR 2.2.0] mit Digital Devices Octopus mit 2x DVB-S2 DuoFlex-Karten

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!