Beiträge von migitsned

    Hallo,


    Habe entlich wieder etwas Zeit gefunden dem Problem nachzugehen.
    Um das Problem einzugrenzen und nicht wieder in Versuchung zu geraten die Forumsregeln zu verletzen :) habe ich das Hello World Plugin umgebaut um die caid am Display auszugeben.


    Der Source des veraenderten Plugins ist angehaengt. Es funktioniert sehr einfach. Es nimmt die 1. 3 Kanaele aus der Kanalliste und gibt deren CAID aus.
    Bei mir wird fuer alle Kanaele der Wert 0 ausgegeben. Obwohl bei den 1. beiden eine gueltige CAID eingetragen ist.


    Meine channels.conf

    Code
    ORF1 HD;ORF:11303:HC23M5O35S1:S19.2E:22000:1920=27:1921=deu@4,1922=eng@4;1923=deu@106:1925:648,D05,D95,1702,1833,9C4:4911:1:1007:0
    ORF2 V;ORF:12692:HC56M2O0S0:S19.2E:22000:500=2:501=deu@3;503=deu@106:505:D95,D05,648,1702,1833,9C4:13009:1:1117:0
    Das Erste HD;ARD:11361:HC23M5O35S1:S19.2E:22000:6010=27:6020=deu@3,6021=mis@3;6022=deu@106:6030;6031=deu:0:11100:1:1011:0


    Der Source der die CAID ausgibt:


    Basis sind die Header Files die ich mit apt-get install vdr-dev bekommen habe. Ich habe das Header File channels.h auch mit einem Header File von jemand anderem verglichen (danke hotzenplotz5) und die stimmen zusammen.


    Das ergibt aus meiner Sicht die folgenden Fakten:


    1. Ich habe die richtigen Header Files
    2. Beim Aufruf von Ca() wird nicht der richtige Member zurueckgegeben
    3. Da die Funktion inline ist wird nicht die Funktion aus den installierten Binaries genommen
    4. Der Offset von caids den der Compiler berechnet stimmt nicht mit dem in den Binaries ueberein.


    Wenn ich die 3 Member

    Code
    int fixedTtxtSubtitlePages;
      int totalTtxtSubtitlePages;
      tTeletextSubtitlePage teletextSubtitlePages[MAXTXTPAGES];


    aus cChannel auskommentiere liefert mein Testplugin die richtigen CAID Werte.
    D. h. wiederum, dass vdr die CAIDs richtig aus channels.conf ausliest.


    Vielleicht hat ja jemand Zeit od. Lust mein Beispiel mal zu kompilieren und einen Test zu machen ob bei ihm auch falsche CAIDS kommen.


    Im Moment bleibt bei nur die Moeglichkeit uebrig, dass irgend etwas mit der Kompatibilitaet zwischen den Headern und den Binaries nicht stimmt. Oder habt ihr eine andere Erklaerung fuer dieses Verhalten?


    Gruss
    Roman

    Die 1. beiden Zeilen meiner Channels.conf lauten


    Code
    ORF1 HD;ORF:11303:HC23M5O35S1:S19.2E:22000:1920=27:1921=deu@4,1922=eng@4;1923=deu@106:1925:648,D05,D95,1702,1833,9C4:4911:1:1007:0
    ORF2 V;ORF:12692:HC56M2O0S0:S19.2E:22000:500=2:501=deu@3;503=deu@106:505:D95,D05,648,1702,1833,9C4:13009:1:1117:0


    Ich versuche das Plugin mit einem Namen aus 2 Buchstaben das mit s anfaengt und c aufhoert zum Laufen zu bringen. Jedoch glaube ich nicht dass es am Plugin liegt.
    Habe eine gueltige ORF Karte und moechte sie damit zur Mitarbeit bewegen.


    Hier noch der Teil des Source Code der fehlschlaegt.



    channel->Ca()>=CA_ENCRYPTED_MIN schlaegt dabei fehl und daher wird der Kanal nicht in die Liste aufgenommen und dann funktioniert das Werkel nicht.
    PRINTF(L_CORE_CAIDS,"Testing channel %s with CAID %d", channel->Name(),channel->Ca()); liefert dabei im Moment immer 0 fuer die caid.


    Gruss
    Roman

    Hallo,


    Sorry fuer die spaete Antwort (family business).


    Die Antwort von apt-cache policy vdr-dev

    Code
    vdr-dev:
      Installiert: 1.7.21-4yavdr1~natty
      Kandidat:    1.7.21-4yavdr1~natty
      Versionstabelle:
     *** 1.7.21-4yavdr1~natty 0
            500 http://ppa.launchpad.net/yavdr/stable-vdr/ubuntu/ natty/main amd64 Packages
            100 /var/lib/dpkg/status
         1.7.17-1 0
            500 http://at.archive.ubuntu.com/ubuntu/ natty/universe amd64 Packages


    Passt das?


    Hier ist noch die Klasse cChannel aus /usr/include/vdr/channels.h. Zumindest der Teil bis zum caids Member.


    Mit diesem Header bekomme ich im Plugin fuer jeden Aufruf von Ca() eine 0 zurueck. Ein Aufruf von Ca(1) bringt die Fortlaufende Nummer, beginnend mit 1.


    Sobald ich die 3 Zeilen vor dem Member caids auskommentiere stimmen die Returnwerte von Ca().


    Danke u. schoene Gruesse
    Roman

    Hallo noch einmal,


    Jetzt habe ich aber einen Knopf im Hirn.


    Bekomme ich mit der "normalen" Installation von yavdr die richtigen Header files installiert?


    Wenn ja, wo finde ich die? Weil unter /usr/include/vdr sind diejenigen die nicht zum System passen (ist zumindest meine Interpretation aus meinen Tests), oder ich hab sie schon durch irgend ein Gebastel selber vermurkst.
    Wenn nein, mit welchem Befehl bekomme ich die richtigen Header Files auf mein System und muss ich dann noch einen oder mehrere Patches anbringen.


    Meine Annahme war, dass ich unter /usr/include/vdr von vornherein die richtigen Header Dateien finde.


    Danke & Gruss
    Roman

    Hallo,


    Erst mal vielen Dank an das yavdr Team fuer die super Distribution!!!


    Beim integrieren eines Plugins bin ich auf folgendes Problem gestossen:


    Das Plugins verwendet die Ca() Funktion aus der Klasse cChannel. Mir ist aufgefallen, dass die Ca() Funktion immer den Wert 0 zurueckliefert, obwohl in channels.conf entsprechende CAIDs eingetragen sind. Ein Versuch die CAID zu setzen (ueber die verfuegbare Memberfunktion) hat auch nicht geklappt. Es wird immer 0 zuruckgeliefert.


    Daraufhin habe ich mir die Sourcen von vdr via launchpad runtergeladen (apt-get source vdr und auch direkt vom git hub) und dabei festgestellt,dass sich die header Dateien unterscheiden. Und zwar sind genau vor der Member Variable caids 3 zusaetzlich Eintraege in den Headern der Distribution enthalten die in der Version vom Repository nicht drinnen sind. Der Versuch das Plugin mit den runtergeladenen VDR Headern zu builden hat zwar geklappt aber beim Laden des Plugins konnten nicht alle Symbole aufgeloest werden.


    Der naechste Versuch war das Header File channels.h zu patchen (auskommentieren der 3 zusaetzlichen Member) und das Plugin neu builden. Diese Version hat dann die richtigen CAIDS mit der Funtion geliefert (cChannel::Ca()).
    Durch die Inline Funktionen ist ein solches Verhalten erklaerbar. Ansonsten faellt mir leider keine andere Erklaerung dafuer ein.


    Nun zu meiner Frage: Koennte es sein, dass die Header Dateien in der Distribution nicht konsistent sind mit denjenigen Header Dateien die fuer das Builden verwendet wurden.


    Gruss
    Roman

    Hallo Johns.


    Danke für die schnelle Antwort.


    Habe extra eine V2 bestellt damit mein yavdr out of the Box funktioniert. Scheint so als hätten sie aber eine V3 geschickt.
    Muss in dem fall wohl oder übel doch noch den Compiler anwerfen.


    Zumindest hab ich nur den niedrigeren Preis für die V2 bezahlt. :]


    Mal schauen ob ich's mit den treibern hinbekomme und ob's stabil läuft, sonst geht die Karte zurück an den Absender.


    Danke noch einmal.


    Gruß
    Roman

    Hallo.


    Habe dasselbe Problem.


    habe eine Mystique Satix V2


    lspci liefert:


    Code
    ...
    03:00.0 Multimedia controller: Device dd01:0003
    ...


    Es wird automatisch das ddbridge Modul am start geladen. Jedoch taucht kein dvb device auf (kein (/dev/dvb/adapter* vorhanden).


    Habe in den Sourcen von ngene gesehen, dass dort eine Mystique Satix V2 Unterstützung drinnen ist (zumindest hab ich das in den Source hineininterpretiert).


    v4l/ngene-cards.c:484

    Code
    GENE_ID(0x18c3, 0xdb02, ngene_info_satixS2v2),


    Kann es sein, dass der ddbridge Treiber in dem Fall der falsche ist? Wenn ja, muss ich die Treiber patchen um den ngene Treiber fuer die pci id zu laden?


    Danke fuer eure Hilfe.


    Gruss
    Roman