AVARDS kann /dev/vbi0 nicht initialisieren

  • Hallo Leute,


    mal wieder eine kleines Problem beim Umstieg von 1.6 auf 1.38:


    Ich habe avards-0.2.5 installiert und bekomme folgende Meldung im Syslog:


    Code
    Feb 24 13:45:37 stereo vdr: [22830] avards: switching WSS to L16:9
    Feb 24 13:45:37 stereo vdr: [22830] avards Error: Can't init vbi device '/dev/vbi0' (Unpassender IOCTL (I/O-Control) für das Gerät)
    Feb 24 13:46:04 stereo vdr: [23016] non blocking file reader thread ended (pid=22813, tid=23016)
    Feb 24 13:46:04 stereo vdr: [23015] dvbplayer thread ended (pid=22813, tid=23015)
    Feb 24 13:46:04 stereo vdr: [22813] switching to channel 25
    Feb 24 13:46:04 stereo vdr: [23017] receiver on device 2 thread started (pid=22813, tid=23017, prio=high)
    Feb 24 13:46:04 stereo vdr: [23018] TS buffer on device 2 thread started (pid=22813, tid=23018, prio=high)
    Feb 24 13:46:06 stereo vdr: [22830] avards: switching WSS to 16:9
    Feb 24 13:46:06 stereo vdr: [22830] avards Error: Can't init vbi device '/dev/vbi0' (Unpassender IOCTL (I/O-Control) für das Gerät)


    Es wird auch nicht umgeschaltet auf Letterbox. Nur der Standart zwischen 4:3 und 16:9 funktioniert. Aber das macht mein Fernseher schon von Haus aus.


    Firmware für meine Karte (FF-SD Galaxy) ist neu:


    Code
    [143413.213074] av7110 0000:05:00.0: firmware: requesting av7110/bootcode.bin
    [143413.560116] dvb-ttpci: info @ card 0: firm f0240009, rtsl b0250018, vid 71010068, app 80fb2624
    [143413.566723] dvb-ttpci: firmware @ card 0 supports CI link layer interface
    [143413.740073] dvb-ttpci: adac type set to 0 @ card 0
    [143413.752199] saa7146_vv: saa7146 (0): registered device video0 [v4l2]
    [143413.759226] saa7146_vv: saa7146 (0): registered device vbi0 [v4l2]
    [143413.824238] ves1x93: Detected ves1893a rev2
    [143413.830469] av7110 0000:05:00.0: DVB: registering adapter 0 frontend 0 (VLSI VES1x93 DVB-S)...
    [143413.837298] input: DVB on-card IR receiver as /devices/pci0000:00/0000:00:1e.0/0000:05:00.0/input/input7
    [143413.844841] dvb-ttpci: found av7110-0.


    Ich nutze zur Wiedergabe eine alte FF-SD Karte (Galaxy), ohne den Tuner
    zu benuten. Als Input dient eine duoflex-s2. DVB-Treiber habe ich Montag
    von http://git.linuxtv.org/media_build.git gezogen.


    Irgendwie scheint die Kombination nicht zusammenzupassen. Kann man hier noch mehr logging rausholen, um zusehen was dabei schief läuft. Das /dev/vbi0 wird ja erkannt nur scheint es allergisch auf den benutzten IO Call zu reagieren.


    Wenn mir hier jemand helfen könnte wäre ich dankbar. Man ist ja so einigen Komfort vom VDR 1.6 gewohnt, den ich eigentlich nicht mit der neuen VDR Version verlieren möchte.


    Viele Grüße
    msv


  • Ich fürchte, daß es eine Regression im Treiber ist. Ich habe allerdings keine Lust, die ganzen Commits meines "ganz speziellen Freundes" Verkuil durchzugehen:
    http://git.linuxtv.org/media_t…ia/dvb/ttpci/av7110_v4l.c
    Aber immerhin ist der Treiber nun absolut v4l2-compliant. :§$%


    Baue doch in die sliced_vbi-Routinen in av7110_v4l.c ein paar printk-Ausgaben ein. So sollte relativ einfach herauszubekommen sein, was schief geht.


    CU
    Oliver

  • "Can't init vbi device '/dev/vbi0' (Unpassender IOCTL (I/O-Control) für das Gerät)" bedeutet, dass er zwar den Device öffnen kann, aber das Device den IOCTL Befehl nicht versteht. Lt. Readme ist der zwar seit Januar 2006 im Treiber drin, aber evtl. hat sich da mittlerweile etwas geändert?
    Schau mal, ob der diff aus dem Readme im Deinem Treiber drin ist: http://habichthugo.vdr-develop…stuff/v4l-dvb-wss-v2.diff

  • Hallo FireFly,


    das von dir zitierte DIFF ist aber schon ganz schön alt. Ich habe wenig bekanntes in dem von mir benutzten Media tree gefunden. Ich bin aber auch nicht sicher, ob ich überhaupt an der richtigen Stelle war.


    Hallo Oliver,


    also von Treiberprogrammierung verstehe ich wenig bis gar nichts. Ich wüßte jetzt nicht, was ich ausdrucken sollte und was überhaupt interessant ist und warum. Ich habe nur gesehen, daß sich an den Stellen im Treiber ja ganz schön viel tut und wenn man die History anschaut schrauben da ja auch einige Leute dran rum. Hier müßte ich mich länger einarbeiten, um das alles zu verstehen. Aber kein Problem. Nur die Erfolgsmeldung wird dann erst mal auf sich warten lassen. Ich dachte, diese Probleme wären auch woanders schon aufgetaucht. Aber die Möglichkeiten, alle Fehler so zu kombinieren, bis sie zu Tage treten, sind doch relativ vielfältig.


    Trotzdem erstmal Danke
    msv


    (nun geh ich erstmal ins Kino. da haben die hoffentlich keine Probleme mit dem richtigen Seitenverhältnis :D )

  • das von dir zitierte DIFF ist aber schon ganz schön alt.

    Ja, das war der Patch, der damals in den Kernel gekommen ist.


    Ich habe wenig bekanntes in dem von mir benutzten Media tree gefunden. Ich bin aber auch nicht sicher, ob ich überhaupt an der richtigen Stelle war.

    Im git findet sich die Datei http://git.linuxtv.org/media_t…ia/dvb/ttpci/av7110_v4l.c , mit dem entscheidenden Abschnitt ca. ab Zeile 555 - insofern ist der Code aus dem Diff drin (zumindest dieser Teil, die anderen habe ich nicht verglichen). Da aber wohl alles in Funktionen verpackt wurde gibts evtl. mit dem Aufruf ein Problem. Ich kann's mangels HW leider nicht mehr vernünftig testen.

  • Hi,


    ich mal wieder...


    Ich hab mich jetzt mal intensiv mit dieser ganzen v4l2- Treiberei beschäftigt. Ich habe versucht per printk den Weg bis zum ttpci Treiber zu verfolgen, bin aber irgendwie gescheitert. Ich bekomme zwar beim Laden des Modules alle möglichen von mir mal eingebauten printks angezeigt, jedoch habe ich noch nicht die Stelle gefunden, wo denn der VIDIOC_S_FMT abgewiesen wird. Darauf habe ich dann mal ein wenig mit den v4l2-Utilityie rumgespielt. Speziell hier:



    wird ja auch angezeigt, daß der ioctl
    test VIDIOC_S_FMT: OK (Not Supported)
    ja auch irgendwie nicht supported ist.


    Ich habe daraufhin dann mal in die detector routine vom avards pluging ein Query eingebaut, um zu sehen ob das auch mit den Mitteln des API herauszubekommen ist:



    Dar Ergebnis aus meinem syslog ist dann folgendes:


    Code
    Mar  8 10:40:30 stereo vdr: [3779] avards: switching WSS to 16:9
    Mar  8 10:40:30 stereo vdr: [3779]  VBI Capabilities 85020085
    Mar  8 10:40:30 stereo vdr: [3779] avards Error: Can't init vbi device '/dev/vbi0' (Unpassender IOCTL (I/O-Control) für das Gerät)


    Das zeigt mir eigentlich, daß dieser "SLICED" VBI Mode doch eigentlich gehen müßte.


    Wo ist dann hier der Fehler?


    Gruß
    msv

  • Hallo,


    habe zu Testzwecken AVARDS installiert und dieses verdammte v4l-Gedöns gedebuggt. :§$%


    Mit dem angehängten Patch müßte es wieder funktionieren.


    Kannst Du mir sagen, mit welcher Treiber/Kernel-Version es zuletzt noch funktioniert hat bzw. ab welcher nicht mehr?


    CU
    Oliver

  • Hallo Oliver,


    toll, das funktioniert jetzt wieder. Ganz vielen Dank dafür!


    Unter Kernel:

    Code
    stereo:~# uname -a
    Linux stereo 2.6.26.20100228-1 #1 Sun Feb 28 01:57:36 CET 2010 i686 GNU/Linux


    ist es noch gelaufen (Kernel selbst compiled)


    und hier das Zeugs aus dmesg für die DVB Karten:



    Also nochmal Danke und schönes Wochenende
    (also wenn ich mir den Timestamp deiner Antwort anschaue hoffe ich, du leidest nicht unter Schlafstörungen)


    Gruß
    msv

Jetzt mitmachen!

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