Update: Optimierter av7110 Treiber

  • Hi,

    unter http://linuxtv.org/hg/~endriss/v4l-dvb-av7110-refactoring
    gibt es einen performance-optimierten av7110 Treiber.

    Der entsprechende Changeset
    http://linuxtv.org/hg/~endriss/v4…8d;style=gitweb
    bzw.
    http://linuxtv.org/hg/~endriss/v4…8a026;style=raw
    sollte auch auf ältere HG-Treiber anwendbar sein.

    <edit 7.1.2007>
    Weitere Performance-Optimierung:
    - Parallisierung des RX/TX-Buffer Handlings

    Damit sollte es nun möglich sein, *einen* Kanal mit hoher Bitrate (> 7 MBit/s, z.B. ARD/ZDF) aufzuzeichnen und gleichzeitig im Transfermode wiederzugeben.

    weitere Bug-Fixes:
    - Verpixelung beim Spulen
    - RX Overflow beim Entladen des Treibers

    Relevante Changesets:
    http://linuxtv.org/hg/~endriss/v4…83;style=gitweb
    http://linuxtv.org/hg/~endriss/v4…90;style=gitweb
    http://linuxtv.org/hg/~endriss/v4…ab;style=gitweb
    </edit>

    <edit 1.2.2008>
    CAM-Timeouts behoben, vgl. Update: Optimierter av7110 Treiber

    Changeset:
    http://linuxtv.org/hg/~endriss/v4…ev/bdd725ddefd3
    </edit>

    Es wird keine neue Firmware benötigt.

    Bitte testen, ob sich das Verhalten bei hohen Bitraten (ARD/ZDF) verbessert hat. Hier ist ein deutlicher Unterschied erkennbar. Es ist jedoch nicht zu erwarten, daß das Problem vollständig behoben ist. Dazu sind sicher noch weitere Änderungen an Treiber und Firmware erforderlich...

    Es wäre schön, wenn möglichst viele diesen Treiber in unterschiedlichen Konfigurationen testen würden.

    Edit 12.04.2008:
    Ab sofort bitte anstelle dieses Treibers den Full-TS Treiber verwenden.

    Der Full-TS Treiber
    - beinhaltet die Features des Refactoring-Treibers und
    - funktioniert auch mit Karten ohne Full-TS-Mod!

    Vgl. http://vdrportal.de/board/thread.php?threadid=74174

    CU
    Oliver

  • aber gern.

    aha:

    DMA rx transfer... hmm.. du weisst das manche chipsätze probleme mit
    concurrent dma transfers haben und geblacklisted sind?

    könnte mit root fs corruption enden...

    mfg,
    woppr

    Edited 2 times, last by woprr (June 15, 2006 at 3:48 AM).

  • Quote

    Original von DarkAngel
    Hallo!

    Ich hab mal einen ordentlichen Patch gebastelt, da das obige Changeset (2. Link) zum Patchen wenig geeignet ist (Stichwort: malformed).

    Gruß,

    Marcus

    Danke,
    ich hab deinen Patch auf den HG e7ff160f2e38 vom 2.6. angewand, der aktuelle HG 94050f467b8d mit der Änderung hab ich nicht durch den Kompiler bekommen.

    Christian

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5


  • Quote

    Original von CKone
    Danke,
    ich hab deinen Patch auf den HG e7ff160f2e38 vom 2.6. angewand, der aktuelle HG 94050f467b8d mit der Änderung hab ich nicht durch den Kompiler bekommen.

    Christian


    Ich hatte heute früh v4l-dvb per "make update" aktualisiert und dann den Patch erzeugt. Bei mir gab es keine Probleme beim Kompilieren.
    Meine Version ist "508f422fff2d+ tip" (sagt 'hg identify').

    Die aktuellste der zu patchenden Dateien (av7110.c) wurde anscheinend zuletzt am 22.05.06 verändert.

    Gruß,

    Marcus

  • Quote

    Original von DarkAngel

    Die aktuellste der zu patchenden Dateien (av7110.c) wurde anscheinend zuletzt am 22.05.06 verändert.

    Super, dann passts ja mit meinem Snapshot vom 2.6. :D

    CKone: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G540, 2x 2GB Kingston DDR3, Zotac GT630 1GB, S2-1600, Ocz Agility 3 60GB, LG GH24NS DVD, 15.6" Selbstbau TFT, Harmony 665, CIR Selbstbau - das Ganze im Silverstone SST-SG03B
    CKtwo: yavdr-ansible/18.04 LTS/2.4.1/kodi18 auf Intel DH67BL, Intel Celeron G1610, 2x 2GB Corsair DDR3, Zotac GT630 1GB, TT S2-1600, Ocz Vertex 2 50 GB, 92 Kanal Seduatmo, Harmony 665, atric USB
    CKthree: yavdr-ansible/22.04 LTS/2.6.1/kodi19.3 auf Intel NUC, Celeron J4005, UHD Graphics 600, 4GB Crucial DDR4, Ocz Vertex2 50 GB, Harmony 350

    PowerEdge: Ubuntu Server 16.04 LTS / VDR 2.4.1 auf Dell PowerEdge T20, Xeon E3-1225 v3, 16GB ECC DDR3, 2x Cine S2 V6 mit Duoflex, Samsung 840 EVO 120GB, 3x WD White WD80EZAZ 8TB in SW Raid5


  • Quote

    Original von woppr
    DMA rx transfer... hmm.. du weisst das manche chipsätze probleme mit
    concurrent dma transfers haben und geblacklisted sind?

    könnte mit root fs corruption enden...


    Irgendwie verstehe diese Aussage nicht, denn der av7110-Treiber hat schon immer DMA-Transfers verwendet. Wenn ein Chipsatz DMA-Transfers nicht richtig unterstützt, konnte der av7110-Treiber auch noch nie funktionieren. Es gab schon immer diese DMA-Transfers.

    Die Optimierung besteht lediglich darin, ARM und PC besser zu entkoppeln, d.h. der PC gibt das DPRAM nun schneller frei, so daß der ARM weiter machen kann. Es gibt keine zusätzlichen DMA-Transfers...

    CU
    Oliver

  • Quote

    Original von DarkAngel
    Ich hab mal einen ordentlichen Patch gebastelt, da das obige Changeset (2. Link) zum Patchen wenig geeignet ist (Stichwort: malformed).

    Wenn Du erst den Patch anwählst, dann auf "raw", erhälst Du ein problemlos anwendbares diff. Gerade getestet (mit opera). Habe den Link zum Raw-Patch im ersten Post eingefügt..

    CU
    Oliver

  • Quote

    Original von UFO
    Wenn Du erst den Patch anwählst, dann auf "raw", erhälst Du ein problemlos anwendbares diff. Gerade getestet (mit opera). Habe den Link zum Raw-Patch im ersten Post eingefügt..


    Wußte ich nicht. :versteck

    Gruß,

    Marcus

  • Quote

    Original von UFO


    Irgendwie verstehe diese Aussage nicht, denn der av7110-Treiber hat schon immer DMA-Transfers verwendet. Wenn ein Chipsatz DMA-Transfers nicht richtig unterstützt, konnte der av7110-Treiber auch noch nie funktionieren. Es gab schon immer diese DMA-Transfers.

    Die Optimierung besteht lediglich darin, ARM und PC besser zu entkoppeln, d.h. der PC gibt das DPRAM nun schneller frei, so daß der ARM weiter machen kann. Es gibt keine zusätzlichen DMA-Transfers...

    CU
    Oliver

    ahso.

    ja warn bissl spät gestern und ich hab dein code nur kurz überflogen, ok.

    ich hab da nochn altes trauma vom bt87x treiber, der mir vor jahren unter linux
    2.4 wegen nem schlechten pci chipsatz mehrmals das root fs zerschossen hat
    beim anschluss von externem videorekorder und schnellvor-/rücklauf.

    ich zieh den hg stand heute noch und probiers aus,

    sicher gute arbeit, danke.

    BTW:
    wenn ich mit dem 2.6.16.18 kernel treiber das antennenkabel abzieh und erst nach
    minuten wieder einsteck stürzt der dvb treiber zwar nich ab aber der vdr gibt dann
    weder bild noch mucks mehr von sich. bis ich dvb-ttpci neulade.
    is das bekannt?

    gruss,
    woppr

  • Hi,
    man möge mir die vielleicht blöde Frage verzeihen aber ich habe bei den DVB Treibern etwas die Übersicht verloren:
    Ist der Treiber nur für 2.6'er Kernel (wie ich befürchte) oder auch für 2.4'er Kernel verwendbar ?

    Gruß,
    Gromit

    Mein Glotz-o-fon-Konservierer im Aufbau:
    vdr-2.3.1, v4l Treiber, OpenSuse 42.1, Satelco Easywatch DVB-C

    Edited once, last by gromit (June 15, 2006 at 4:02 PM).

  • Quote

    Original von woppr
    wenn ich mit dem 2.6.16.18 kernel treiber das antennenkabel abzieh und erst nach
    minuten wieder einsteck stürzt der dvb treiber zwar nich ab aber der vdr gibt dann
    weder bild noch mucks mehr von sich. bis ich dvb-ttpci neulade.
    is das bekannt?


    Vorab:
    Ich rate _dringend_ davon ab, Kabel im Betrieb zu ziehen oder zu stecken! Wenn es auf der Leitung eine Potentialdifferenz zum PC gibt, killt man damit leicht den LNBP-Chip. Bei einer Rev 2.3-Karte sieht es evtl. besser aus, ich würde es dennoch nicht ausprobieren.

    Für den beschriebenen Effekt gibt es mehrere mögliche Erklärungen:

    Mit DiSEqC:
    Man muß auf einen anderen Transponder schalten, damit der Switch ein Schaltsignal erhält.
    Beim Abziehen des Kabels schaltet der Switch nämlich den Port ab.

    Ohne DiSEqC:
    Evtl. crasht der ARM ohne Signal. Neuere Treiber sollten den ARM resetten, sobald man den Kanal umschaltet oder eine Aufnahme abspielt.

    CU
    Oliver

  • Quote

    Original von gromit
    Hi,
    man möge mir die vielleicht blöde Frage verzeihen aber ich habe bei den DVB Treibern etwas die Übersicht verloren:
    Ist der Treiber nur für 2.6'er Kernel (wie ich befürchte) oder auch für 2.4'er Kernel verwendbar ?


    Der Treiber ist ausschließlich für Kernel 2.6. Für die Portierung des HG-Treibers auf 2.4 werden seit geraumer Zeit Freiwillige gesucht. :D

    CU
    Oliver

  • Quote

    Original von UFO
    Ohne DiSEqC:
    Evtl. crasht der ARM ohne Signal. Neuere Treiber sollten den ARM resetten, sobald man den Kanal umschaltet oder eine Aufnahme abspielt.


    ich habe DVB-C (FuSi) und stets die neuesten Treiber aus dem hg + neueste Firmware. Trotzdem habe ich auch den Effekt, dass nach dem Abziehen und Wiederreinstecken des Antennensteckers kein Kanal mehr lockt, bis ich den Treiber entladen und neugeladen habe.
    Geht das Signal nur kurz verloren, passiert nichts, aber eine Minute ist meist schon zuviel.
    Das war mit älteren Treibern nach meiner Erinnerung kein Problem.

    VDR1: Odroid N2+ mit CoreELEC und Ubuntu in chroot, 2x WinTV DualHD, Sandisk 2TB SSD

    VDR2: Tanix TX3 mit VDR*ELEC, WinTV DualHD, 500GB SSD


  • 1.
    chef ich hab dr.seltsams kabelkarte, sorry hätt ich wohl erwähnen solln.

    2.
    LNB's sind immer potentialfrei, es sei denn bei ner hausanlage mit switchbox.
    an meiner ex anlage mit direktkabel zum lnb war das abziehn kein problem im
    betrieb.

    hmm... sind atx netzteile in deutschland eigentlich schutzgeerdet?
    das muss ich doch gleichmal checken ob ich da n 3 poligen schuko dran hab *ähm*.

    gruss, woppr

  • Quote

    Original von woppr
    2.
    LNB's sind immer potentialfrei......


    würd ich so nicht unterschreiben wollen. Twin und quad können sich über den Schirm vom anderen Teilnehmer böse Sachen holen, was in der Praxis zu den dollsten Sachen geführt hat. Aber auch Singles können (wenn LNB Halterung, LNB-Hals aus Metall ist - ja gibt es) über die vorhandene Satanlagen Erdung ein anderes Potential bekommen. Ich wäre generell vorsichtig :]

    Gruß Fr@nk

  • UFO

    ich kuck grad england auf zdf , das gestottere kommt nur im transfermode falls das hilft.
    keine probleme ohne.

    @lola

    da hasch wohl recht. aber bei 4 fach LNB is auchne switchbox dabei und wenn das kein schaltunggeschlampertes billigdings is dann sollte die doch kapazitiv entkoppeln?..
    geerdete sat anlage? was soll das werden? ein blitzableiter ? :D
    wenn die aufm dach im dorf is dann is wohl schluss nachm nächsten gewitter, hehe.

    Edited 3 times, last by woprr (June 15, 2006 at 7:00 PM).

  • Hi Leute:
    1. Das gehört das alles nicht in diesen Thread. Worum es hier geht, steht im ersten Post. :P
    2. Mir ist es prinzipiell egal, ob und wie jemand seine Karte schrottet. Ihr seid gewarnt. Alles, was es dazu zu sagen gibt, wurde im Forum schon (mehrfach) abgehandelt.
    3. Im Treiber fehlt möglichweise (keine Ahnung, ob erforderlich) noch ARM-Crash-Recovery-Code für DVB-C/DVB-T. Muß halt mal jemand machen und testen, der eine DVB-C Karte besitzt. Ich habe keine.

    CU
    Oliver

  • Quote

    Original von Dr. Seltsam
    ich habe DVB-C (FuSi) und stets die neuesten Treiber aus dem hg + neueste Firmware. Trotzdem habe ich auch den Effekt, dass nach dem Abziehen und Wiederreinstecken des Antennensteckers kein Kanal mehr lockt, bis ich den Treiber entladen und neugeladen habe.
    Geht das Signal nur kurz verloren, passiert nichts, aber eine Minute ist meist schon zuviel.
    Das war mit älteren Treibern nach meiner Erinnerung kein Problem.


    Hm - um dies zu beheben, müßtest Du herausfinden, wann genau der Fehler reingekommen ist.

    CU
    Oliver

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!