Umbau FF Rev 1.3-2.2 -> Rev 2.3 + AV-Board

  • So, nachdem der Twintuner-Mod jetzt mehrere Monate Zeit hatte sich zu bewähren gibts jetzt mal den aktuellen Stand des Treiber Patches, anzuwenden auf den aktuellen HG Treiber.


    Eine kleine Anleitung befindet sich als Kommentar im source code. Zur Verdeutlichung habe ich hier mal die benötigten Signale eingezeichnet, soweit sie nicht im Kommentar beschrieben sind. Die Verbindung zwischen den beiden Spannungsreglern braucht man nur, wenn der AV7110 oder das Flash auf dem P1S defekt ist. Dasselbe gilt für die mit 'resetn' gekennzeichneten Signale. Hier muss man ggf. die resetn Leitung nahe am AV7110 durchtrennen und am Tuner auf 3.3V legen.


    Soweit funktioniert alles wie es soll. Was ich allerdings nicht richtig testen konnte ist die Funktion des AC3-PLDs. Mit dem STA310 kann ich die SPDIF Flags leider nicht auslesen. Was auffällt ist, dass der STA310 das Format des SPDIF Signals deutlich schneller erkennt wenn es vorher durch das PLD geht. Das könnte auf die korrekte Funktion des PLDs hindeuten. Bisher funktioniert die automatische Umschaltung des PLDs über GPIO1 allerdings nur bei Live-TV, wenn ich es richtig in Erinnerung habe. Ist alles schon so lange her...


    Gruss,
    morus

  • Hallo zusammen,
    ich krame diesen Thread mal wieder vor, weil ich leider einer von denen bin, deren Receiver Ärger mit DD macht (Yamaha DSP-A3090). Gibt es denn aktuell eine Firmware und einen Treiber, der die TT FF 2.3 voll unterstützt?


    Ich habe hier zwar erfolgreich den Budget-Patch nachgerüstet (und das EEPROM gepatcht), aber wie ist das bzgl. DD bei der 2.3?


    Bei DD schaltet mein Yamaha jedenfalls auf 44.1kHz und schaltet dann stumm.


    Viele Grüße,
    Torsten


    P. S. Leider hilft die Foren-Suche aufgrund der Abkürzungen und Versionsnummern nicht wirklich weiter...

    "The day Microsoft makes something that doesn't suck is probably
    the day they start making vacuum cleaners" - Ernst Jan Plugge
    __________________
    Torsten Lang

    Einmal editiert, zuletzt von torsten lang ()


  • Welchen Treiber und welche Firmware setzt Du denn ein?
    Kannst Du den Treiber selbst übersetzen, um Patches zu testen?


    Zu dem Problem zitiere ich mich mal selbst:

    Zitat


    Ich wäre ja schon froh, wenn sich endlich mal jemand mit einer DVB-S Rev 2.3 finden würde, um Patches für die dynamische Umschaltung des Non_Audio-Bits zu testen. Es ist nämlich so gut wie sicher, daß diese Karte es kann. Ich selbst habe leider keine, sonst wäre es schon längst erledigt...


    CU
    Oliver

  • Hallo,
    die Firmware war die aktuellste, die ich (ich glaube auf Deiner Seite) gefunden hatte, müßte FA2624 gewesen sein (ich check's heute abend nochmal), die genaue Treiberversion kann ich bei der Gelegenheit ebenfalls nochmal checken.


    Was das selbst übersetzen angeht - ich habe schon länger nicht mehr aktiv an meinen VDRs "geschraubt", ich müßte also mal schauen, ob nach den letzten Upgrade-Aktionen noch alles drauf ist, was ich brauche. Vor allem ist es lange her, daß ich entsprechende Packages im Kernel-Bereich (also Kernel selbst und Module) selbst gebaut habe, da muß ich erstmal mein Know-How wieder etwas entstauben (oder Du gibst mir als Stichwort nochmal ein paar warme Worte dazu).


    Wie sähe es denn eigentlich grundsätzlich mit der SW-Architektur aus? Was macht die Firmware, was der Treiber? Oder anders gefragt: Stellt die Firmware nur die Schnittstelle bereit, um das entsprechende GPIO-Bit anzusteuern, und der Treiber bedient das dann? Und wie erhält der Treiber wiederum die Info, was er machen muß (geht das dann ohne Hilfe der Applikationssoftware)?


    Fragen über Fragen - aber ich habe mich mit den Treiber-Innereien bisher einfach zu wenig auseinandegesetzt.


    Viele Grüße,
    Torsten

    "The day Microsoft makes something that doesn't suck is probably
    the day they start making vacuum cleaners" - Ernst Jan Plugge
    __________________
    Torsten Lang

  • Zitat

    Original von torsten lang
    Wie sähe es denn eigentlich grundsätzlich mit der SW-Architektur aus? Was macht die Firmware, was der Treiber? Oder anders gefragt: Stellt die Firmware nur die Schnittstelle bereit, um das entsprechende GPIO-Bit anzusteuern, und der Treiber bedient das dann?


    Die Firmware steuert den SpdifSwitch-GPIO des AV7110. Der Treiber sagt der Firmware, wie er zu setzen ist.


    Zitat


    Und wie erhält der Treiber wiederum die Info, was er machen muß (geht das dann ohne Hilfe der Applikationssoftware)?


    Derzeit wird der SpdifSwitch für eine Rev 2.3-Karte bei der Initialisierung des Treibers aktiviert.
    Ich vermute, daß dies falsch ist und er nur bei DD-Ton aktiviert werden sollte.
    Könnte man im AUDIO_SET_BYPASS_MODE-Ioctl machen (wird von VDR aufgerufen).


    Um dies zu korrigieren, brauche ich nur jemanden,
    - der das Problem hat
    - der Patches einspielen, kompilieren und testen kann


    Bis sich jemand findet, bleibt einfach alles, wie es ist. :schiel


    CU
    Oliver

  • Zitat

    Original von UFO
    Derzeit wird der SpdifSwitch für eine Rev 2.3-Karte bei der Initialisierung des Treibers aktiviert.
    Ich vermute, daß dies falsch ist und er nur bei DD-Ton aktiviert werden sollte.
    Könnte man im AUDIO_SET_BYPASS_MODE-Ioctl machen (wird von VDR aufgerufen).


    Bist Du ganz sicher, daß es so rum sein müßte? Das hieße ja, im Moment wäre es bei DD richtig und bei PCM falsch. Wenn der SpdifSwitch momentan dauerhaft aktiv ist, müßte doch bei DD inaktiv richtig sein. Momentan funktioniert bei meinem Verstärker PCM, während er bei DD stumm bleibt (und nur 44,1kHz anzeigt).



    Also,
    von mir aus gerne. Kernel-Header etc. muß ich mir erst wieder besorgen (da war beim letzten Update einfach keine Not mehr), ansonsten ist alles auf der Kiste drauf.


    Wichtig für mich (weil Produktivsystem): Momentan arbeite ich mit einem VDR 1.6 und dem alten DVB-API. Ist das aus Deiner Sicht ein No-Go? Ich würde momentan ungern alles umstellen wollen, zumal auch die Inbetriebnahme meiner PVR-350 immer etwas hakelig war (wie gesagt, beim letzten Update lief dann IVTV endlich mal "aus der Box" und ohne alles selber zu bauen) und ich auch (zumindest für SD-Material) bis auf Weiteres der Abwärtkompatibilität wegen nicht auf TS wechseln will. Sofern es den von Dir genannten Audio-IOCTL schon gab und der VDR ihn bedient (habe ich einfach noch nicht nachgeschaut), dann sage ich mal "denn man los".


    Ansonsten sehe ich mich nicht direkt als Anfänger, in der Fa. hab' ich meistens Kernels selber bauen (und patchen müssen), wenn der Chef zu neue Hardware gekauft hat und auf meinem Debian Heimserver mit seinen diversen Gästen ist auch vieles Marke Eigenbau (vor allem weil im SATA-Umfeld immer noch Fehler gibt, die bei der Verwendung von Port-Multipliern böse zuschlagen können).


    Ehe ich aber Treiber baue vielleicht mal eine Idee, um erstmal mit möglichst wenig Aufwand zu testen, ob wir überhaupt weiterkommen: Kannst Du mir zum Testen eine Firmware bauen, die den SpdifSwitch dauerhaft inaktiv schaltet? Dann könnte ich Dir zumindest schon mal eine Rückmeldung geben, ob es damit überhaupt geht (denn dann müßte ja PCM stumm bleiben und sich bei DD was tun).


    Viele Grüße,
    Torsten

    "The day Microsoft makes something that doesn't suck is probably
    the day they start making vacuum cleaners" - Ernst Jan Plugge
    __________________
    Torsten Lang

    3 Mal editiert, zuletzt von torsten lang ()

  • Zitat

    Original von torsten lang


    Bist Du ganz sicher, daß es so rum sein müßte? Das hieße ja, im Moment wäre es bei DD richtig und bei PCM falsch. Wenn der SpdifSwitch momentan dauerhaft aktiv ist, müßte doch bei DD inaktiv richtig sein. Momentan funktioniert bei meinem Verstärker PCM, während er bei DD stumm bleibt (und nur 44,1kHz anzeigt).


    Keine Ahnung, ich habe da keine verläßlichen Informationen.


    Kommt auch darauf an, was Du für einen Treiber hast. Wenn dieser sehr alt ist, wird SpdifSwitch z.B. gar nicht gesetzt. Deswegen muß es einfach mal ausgetestet werden...


    Zitat


    Also,
    von mir aus gerne. Kernel-Header etc. muß ich mir erst wieder besorgen (da war beim letzten Update einfach keine Not mehr), ansonsten ist alles auf der Kiste drauf.


    Du brauchst eigentlich erst mal nur die Sourcen des Kernels/Treibers, der bei Dir gerade läuft.


    Dann in av7110.c nachschauen, ob es die Zeilen

    Code
    if (dev->pci->subsystem_vendor == 0x13c2 && dev->pci->subsystem_device == 0x000e)
                    av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, SpdifSwitch, 1, 0); // SPDIF on


    gibt.


    Falls ja, probehalber in

    Code
    if (dev->pci->subsystem_vendor == 0x13c2 && dev->pci->subsystem_device == 0x000e)
                    av7110_fw_cmd(av7110, COMTYPE_AUDIODAC, SpdifSwitch, 1, 1);


    abändern und schauen, was sich tut.


    Bitte nicht mit Live-TV, sondern mit einer Aufnahme testen, die sowohl PCM- als auch DD-Ton hat.
    So hat man immer identische und reproduzierbare Verhältnisse.


    Zitat


    Wichtig für mich (weil Produktivsystem): Momentan arbeite ich mit einem VDR 1.6 und dem alten DVB-API. Ist das aus Deiner Sicht ein No-Go?


    Das ist egal. Bei VDR hat sich diesbzgl. nichts geändert. Und ein alter VDR läuft auch mit neuem Treiber.


    Zitat


    Ehe ich aber Treiber baue vielleicht mal eine Idee, um erstmal mit möglichst wenig Aufwand zu testen, ob wir überhaupt weiterkommen: Kannst Du mir zum Testen eine Firmware bauen, die den SpdifSwitch dauerhaft inaktiv schaltet? Dann könnte ich Dir zumindest schon mal eine Rückmeldung geben, ob es damit überhaupt geht (denn dann müßte ja PCM stumm bleiben und sich bei DD was tun).


    Möchte ich nur als letzten Ausweg machen. Ich kann's nicht testen und wenn ich dabei was falsch mache, sind wir so schlau wie vorher.


    CU
    Oliver

  • Alles klärchen, das hilft mir erstmal weiter - heute ist ein bischen spät, mal schauen, ob ich morgen Nachmittag mal drangehen kann. Ich melde mich auf jeden Fall wieder...


    Viele Grüße,
    Torsten

    "The day Microsoft makes something that doesn't suck is probably
    the day they start making vacuum cleaners" - Ernst Jan Plugge
    __________________
    Torsten Lang

  • Moin Oliver,
    also, ein erster kurzer Test hat ergeben, daß es tatsächlich klappt - der Verstärker bleibt bei PCM stumm und wird bei AC3 aktiv!


    Danach habe ich mir mal den IOCTL angeschaut. Quick und dirty habe ich daraufhin mal eine dynamische Umschaltung nachgerüstet, das sieht dann so aus:



    Für die Live-Wiedergabe funktioniert das auch. Aber nicht bei Aufnahmen. Wird hier die Audiospur anderweitig umgeschaltet?


    Viele Grüße,
    Torsten

    "The day Microsoft makes something that doesn't suck is probably
    the day they start making vacuum cleaners" - Ernst Jan Plugge
    __________________
    Torsten Lang

  • Ich hatte damals beim twintuner patch auch den IOCTL gepatcht mit dem selben Ergebnis:


    Zitat

    Bisher funktioniert die automatische Umschaltung des PLDs über GPIO1 allerdings nur bei Live-TV.


    Ich konnte die Funktion des PLDs damals aber mangels eines geeigneten DD-Verstärkers nicht testen. Statt dessen habe ich einfach nur den GPIO1 mit dem Oszi beobachtet.


    Gruß
    Sebastian

  • Hi,


    Zitat

    Original von Copperhead
    Könnte jemand mal die bilder reparieren. Will mir das mal ansehen :schiel


    :me 2


    Grüße joker

    HW VDR: Thermaltake DH102 | Gigabyte GA-M720-US3 | AMD 270u | 8GB RAM | 120GB SSD System + 3TB HDD Daten | L4M Cine CT V6 + Flex S2 | Zotac GT630 | Futaba MDM166A | Atric IR-Einschalter Rev. 5 | NEC P553 | SEDU + 96 PIX | Pioneer SC-LX85 | Jamo S606
    SW VDR: Debian Wheezy | Kernel 3.2.0-4-amd64 | Mate 1.6 | VDR 2.2.0 | nVidia 331.79 | LIRC 0.9.0 | media_build_experimental | Plugins: permashift 1.0.3, softhddevice 0.6.1rc1-git, menuorg 0.5.1, skinnopacity 0.1.3, tvscraper 0.2.0-git, seduatmo 0.0.2-git, mplayer 0.10.2-hg, fritzbox 1.5.3, vdradmin-am 3.6.9, femon 1.7.19, targavfd 0.3.0, span 0.0.7, dvd 0.3.6-cvs, graphtftng 0.4.10-git, extrecmenu 1.2.4-git, epgsearch 1.0.1-git, block 0.1.2-git, cpumon 0.0.6a, ac3mode 0.1, HD-- 1.0.0-hg, u. v. a. ...


  • Nimm Deine Änderung bitte wieder raus und versuche den angehängten Patch.
    Müßte für Live-Mode und Aufzeichnungen funktionieren.


    Falls der SpdifSwitch "verkehrt herum" geschaltet werden sollte, einfach
    "av7110->audiostate.bypass_mode" durch "!av7110->audiostate.bypass_mode" ersetzen.


    CU
    Oliver


    Edit: Patch funktioniert nicht - daher entfernt.

  • Hallo Oliver,
    hab' ich gemacht. Bringt aber leider keine Besserung. Bei der Wiedergabe einer Aufnahme funktioniert die Umschaltung auch mit Deinem Patch leider nicht.


    Viele Grüße,
    Torsten

    "The day Microsoft makes something that doesn't suck is probably
    the day they start making vacuum cleaners" - Ernst Jan Plugge
    __________________
    Torsten Lang

  • Zitat

    Original von torsten lang
    hab' ich gemacht. Bringt aber leider keine Besserung. Bei der Wiedergabe einer Aufnahme funktioniert die Umschaltung auch mit Deinem Patch leider nicht.


    Ich hoffe, Du bist sicher, daß das geänderte Modul auch wirklich geladen wurde... :evil:


    Um festzustellen, wann und wie AUDIO_SET_BYPASS_MODE aufgerufen wird, solltest Du dort ein printk einbauen.


    Was passiert genau, wenn Du bei der Wiedergabe einer Aufzeichnung zwischen PCM und DD hin und her schaltest?


    Ändert sich etwas, wenn Du man die Logik des SpdifSwitch - wie in meinem letzten Post vorgeschlagen - invertiert?


    CU
    Oliver

  • Moin Oliver,
    da ich erstmal an mir selbst zweifele, habe ich alles gaaanz sauber neu übersetzt und eingespielt. Keine Änderung.


    Auffällig ist, daß bei der Wiedergabe einfach die letzte vom Live-Bild her gesetzte Einstellung für den SpdifSwitch bestehen bleibt, sprich hatte ich im Live-Bild Dolby-Wiedergabe, funktionieren die Dolby-Tracks beim Abspielen, hatte ich einen PCM-Track, dann funktionieren nur die bei der Wiedergabe.


    Ich habe als allererstes mal das Debugging des av7110 Moduls eingeschaltet. Was ich sehe ist folgendes:
    Wenn ich im Live-Bild zwischen PCM und Dolby Tracks wechsele, erhalte ich die folgenden Einträge im Log:


    Beim Abspielen von Aufnahmen kommt nur so etwas:

    Code
    Feb 26 21:48:27 tuxbox2 kernel: [ 1680.356080] dvb-ttpci: dvb_audio_ioctl(): av7110:f65cc000, cmd=40086f0e


    Die cmd=6f08 müßte, wenn ich den Aufbau der ioctls richtig interpretiere AUDIO_SET_BYPASS_MODE sein, während cmd=40086f0e AUDIO_SET_MIXER ist.


    Ich habe mal versucht, die Aufrufe der IOCTLs im VDR ein wenig nachzuvollziehen. Wenn ich das anhand des VDR 1.6, auch wenn der nicht mehr aktuell ist, nachvollziehe, dann wird der Aufruf hier ausgelöst:


    device.c


    dvbdevice.c

    Code
    void cDvbDevice::SetDigitalAudioDevice(bool On)
    {
      if (digitalAudio != On) { 
         if (digitalAudio)
            cCondWait::SleepMs(1000); // Wait until any leftover digital data has been flushed
         digitalAudio = On;
         SetVolumeDevice(On || IsMute() ? 0 : CurrentVolume());
         }
    }


    Meines Erachtens liegt hier der Hund begraben. Es wird nur der Mixer, nicht aber der Audio Bypass angesprochen. Mag sein, daß das bei den aktuellen VDRs behoben ist.


    Ehe ich allerdings hier ans Experimentieren gehe, muß ich wohl doch erstmal ein Upgrade durchziehen. Das wird allerdings nicht von jetzt auf gleich gehen...


    Viele Grüße,
    Torsten

    "The day Microsoft makes something that doesn't suck is probably
    the day they start making vacuum cleaners" - Ernst Jan Plugge
    __________________
    Torsten Lang

    6 Mal editiert, zuletzt von torsten lang ()

  • Zitat

    Original von torsten lang
    Meines Erachtens liegt hier der Hund begraben. Es wird nur der Mixer, nicht aber der Audio Bypass angesprochen. Mag sein, daß das bei den aktuellen VDRs behoben ist.


    Ehe ich allerdings hier ans Experimentieren gehe, muß ich wohl doch erstmal ein Upgrade durchziehen. Das wird allerdings nicht von jetzt auf gleich gehen...


    Du hast Recht: BYPASS wird nur im Live-Modus aufgerufen. Ich hatte mich diesbezgl. getäuscht.
    Du kannst Dir also den Update sparen, denn dies wurde nie geändert...


    Wie es aussieht, muß ich das ganze nun doch in der Firmware abhandeln.


    CU
    Oliver

  • Zitat

    Original von UFO
    Wie es aussieht, muß ich das ganze nun doch in der Firmware abhandeln.


    Versuche doch einmal diese Firmware:
    http://www.escape-edv.de/endri…re/dvb-ttpci-01.fw-fb2624


    Dazu bitte den ursprünglichen Treiber (ohne Patches von oben!) verwenden!


    CU
    Oliver

  • Hallo Oliver,
    grundsätzlich funktioniert das - ganz großes Lob! Ich habe jetzt einfach wieder mit meinem alten Kernel 2.6.29 getestet. Beim Live-Bild (Olympia) mit DD-Ton habe ich noch sporadische Aussetzer im Ton. Ich werde mir das noch etwas genauer anschauen - dazu muß ich aber die beiden VDRs mal komplett durchtauschen, da mein Receiver leider nur für einen der Beiden noch 'nen Digitaleingang über hat.


    Nur mal aus Neugier: Du schaust Dir dann in der Firmware den Audio-Datenstrom an, um zu bestimmen, ob der Datenstrom korrigiert werden muß oder nicht? Weil: Hilfe vom Treiber bzw. VDR bekommt die Firmware ja jetzt nicht mehr.


    Für mich ist die Lösung in der Firmware insofern sehr angenehm, weil ich erstmal kein umfangreiches Update machen muß.


    Viele Grüße,
    Torsten

    "The day Microsoft makes something that doesn't suck is probably
    the day they start making vacuum cleaners" - Ernst Jan Plugge
    __________________
    Torsten Lang

    4 Mal editiert, zuletzt von torsten lang ()

Jetzt mitmachen!

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