Update: Optimierter av7110 Treiber

  • Zitat

    Original von skobi


    Danke! Ist nun wieder ok. Ein kurzer Ruckler beim X-Server start, aber das war i.A. schon immer so. Fängt sich aber sofort wieder - keine Minutenlangen Klötzchen :D Super!


    Kannst ja mal versuchen, DMA_RX_BUFS in av7110.h schrittweise zu erhöhen.


    Zitat


    Die Performance wird imho nicht merklich geschwächt.


    Die Änderung kann die Performance nicht verschlechtern. Auch die Sanity-Checks, die später wahrscheinlich wieder rausfliegen, sind sicher kein Problem für die CPU. Bei Buffer-Overflow werden die Daten jetzt einfach verworfen.


    CU
    Oliver

  • also ich hab denn nun auch mal ausprobiert. leider klappt jetzt der digital ausgang (avboardoptical) nicht mehr. vorherrgin wenigstens DD2.0. Jetzt geht nix mehr ;8 Jemand eine Idee. Habe momentan die Hauppauge DVB-C. (Damals mit der TT DVB-S 2.3 ging DD5.1 noch) Ist das nun ne Treiber sache oder ne hardware. Vorallem ging ja mal 5.1 mit ner FF, war halt aber DVB-S.

    mfg traxanos
    ____________________
    Ist das neu?, Nein Linux!


    VDR1: Zotac NM10-ITX Wifi - 2GB Ram - S2-6400 HD mit IR - yavdr 0.4 (development) - LianLi PC-Q11


    Tags: VDR-HD - AT5IONT-I - 4GB Ram - 512MB ION - TT 3600 DVB-S2 - TT6400-FF - Sundtek DVB-S2 Sundtek DVB-C - Tevii S480 (dank an L4M für kostenlose Bereitstellung) - yaVDR 0.5 (development) - SKY - HD+ - Atric - X10 FB - Zotac ID41 PLUS - SilverStone LC19B-R - Yamaha RX-V671 - Samsung 8Series 55"

  • Habe den optimieren Treiber jetzt am Laufen dank Dr. Seltsams Kernel. Läuft viel flüssiger jetzt. Live anschauen von ARD/ZDF mit DD Ton ist kein Problem mehr, keine Ruckler, keine Aussetzer.
    Erst bei 2 Aufnahmen (ZDF, 3SAT) und live schauen, wird es sehr eng.... Aber das ist der richtige Ansatz! weiter so!


    Gruß Micha

  • Zitat

    Original von UFO
    Mit vanilla 2.6.17 funktioniert es...
    Falls Du 2.6.17-mm verwenden möchtest, kannst Du meine beiden Patches auf den im Kernel enthaltenen Treiber anwenden.


    Hallo Olivier :)


    Leider kann ich 2.6.17 nicht nützen (ide Probleme). Ich bin so &%ç@¬#¼ ich kann die beiden Patches nicht finden...


    Danke sehr !

  • Zitat

    Original von Grégoire


    Leider kann ich 2.6.17 nicht nützen (ide Probleme). Ich bin so &%ç@¬#¼ ich kann die beiden Patches nicht finden...


    Hm, steht doch alles hier im Thread. :rolleyes:


    1. Patch (aus Posting Optimierter av7110 Treiber:(
    http://linuxtv.org/hg/~endriss…0a1c21e0708a026;style=raw


    2. Patch (Anhang aus Optimierter av7110 Treiber:(
    http://www.vdr-portal.de/board…nt.php?attachmentid=10879


    Edit:
    Auch der 2. Patch ist nun im HG:
    http://linuxtv.org/hg/~endriss…0f3639b59dceff1;style=raw


    CU
    Oliver

  • Geht dies auch für 2.4.27er Kernel mit ctVDR (Kernel is von 3, Rest siehe Sig.)?


    Ich nutze ja noch den dvb Treiber nicht v4l?

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Zitat

    Original von UFO
    Hm, steht doch alles hier im Thread. :rolleyes:


    Leider keinen Patch laufen hier... entweder "malformed" oder Rejecten.


    Ich habe mal mit Ihren HG Sourcen probiert :

  • Zitat

    Original von Grégoire
    Ich habe mal mit Ihren HG Sourcen probiert :


    2.6.17-mm2 enthält offensichtlich bereits Änderungen von 2.6.18.


    Ersetze

    Code
    spin_lock_bh(&dev->xmit_lock);


    durch

    Code
    netif_tx_lock_bh(dev);


    und

    Code
    spin_unlock_bh(&dev->xmit_lock);


    durch

    Code
    netif_tx_unlock_bh(dev);


    Damit sollte es laufen.


    CU
    Oliver

  • Zitat

    Original von SurfaceCleanerZ
    Geht dies auch für 2.4.27er Kernel mit ctVDR (Kernel is von 3, Rest siehe Sig.)?


    Nein, Kernel 2.4.x wird nicht unterstützt.


    CU
    Oliver

  • ok, schade

    Test-VDR1: HP rp5700 Fertigsystem, Core2Duo E6400, 2GB RAM, FF-SD C-2300, nvidia Slim-GT218 x1 | easyVDR 2.0 64Bit
    VDR3: in Rente

    VDR4: MSI G31M2 v2, Digitainer2-Geh., t6963c 6" gLCD, E5200, 2GB, 3TB WD Red, GT730, 2x TT S2-3200; easyVDR 3.5 64bit
    VDR5: Gigabyte
    GA-G31M-S2L, Intel E2140, Zotac GT730 passiv, Digitainer2-Geh., t6963c 6 " gLCD, 2 TB WD Red, 2x TT S2-3200 (an 1 Kabel) easyVDR 3.5 64bit
    VDR6:
    Intel E5200, GT630 passiv, F1 750 GB, t6963c gLCD, 2x TT S2-3200 | easyVDR 3.5 64bit
    VDR-User #1068
    www.easy-vdr.de

  • Hi!


    Habe mich auch mal dran gemacht ...


    Bin dabei folgendermaßen vorgegangen:


    Tarball der HG-Treiber geholt


    entapckt, _beide_ Patches angewandt

    Code
    cat patch.diff | patch -p1


    alles succeeded!


    Dann

    Code
    make && make install


    Dadurch werden die vorher genutzten Kernel Module überschrieben, richtig?


    Früher konnte man die DVB-Module innerhal des Kernels oder Extern bauen .. makelinks oder so ...
    Das gibt's jetzt nicht mehr?


    Nach einem restart wegen "unresolved symbols" laden die module sauber.


    Ist irgendwo erkennbar, ob es sich bei dem geladenen Treiber um den gepatchten handelt (Versionsinfo, etc.)?


    Falls das alles so richtig ist, werde ich mich melden bzgl. Erfahrungen!


    LG
    Roman

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

  • Zitat

    Original von bitstreamout
    Hmmm ....

    Code
    make modules && make modules_install


    -> /usr/src/linux/README
    -> /usr/src/linux/README.SuSE unter einer SuSE


      Werner


    Er baut doch keinen kernel sondern installiert die hg Treiber und dies klappt mit
    make && make install
    oder hat da SuSE was dagegen ;)


  • Hättest auch einfach meinen av7110-refactoring-Tree hernehmen können. Habe ihn gestern auf den aktuellen HG-Stand nachgezogen. Das Ergebnis ist dann das gleiche...


    Zitat


    Dann

    Code
    make && make install


    Dadurch werden die vorher genutzten Kernel Module überschrieben, richtig?


    Ja, "make install" überschreibt die Module des Kernels.


    Zitat


    Früher konnte man die DVB-Module innerhal des Kernels oder Extern bauen .. makelinks oder so ...
    Das gibt's jetzt nicht mehr?


    Doch, in v4l/scripts gibt's noch so etwas. Von diesem Einklinken der Treibersourcen in den Kernel halte ich jedoch nichts. Wer sich in Gefahr begibt, kommt darin um... :P


    Zitat


    Ist irgendwo erkennbar, ob es sich bei dem geladenen Treiber um den gepatchten handelt (Versionsinfo, etc.)?


    Nein. Nach "make install" sind die alten Module nicht mehr existent. Falls also ein Treiber geladen wird, dann der neue. :D


    CU
    Oliver

  • Zitat

    Original von UFO
    Edit:
    Auch der 2. Patch ist nun im HG:
    http://linuxtv.org/hg/~endriss…0f3639b59dceff1;style=raw


    CU
    Oliver


    :moin


    Bitte nochmal für die ganz blöden. Hab mir gestern abend die aktuellesten Treiber aus dem HG gezogen. Sind die Patches da jetzt schon drin?


    [EDIT]


    Ich beantworte mich mal selber.


    NEIN es ist noch nicht drin. Die Patches mussten noch drüber.


    [/EDIT]

    Registered VDR User #841
    P4 1.7, 256 MB Ram, 200 GB Samsung, TT DVB-C 2.1, TT DVB-C 1500, VDR Extension Board, 12.1" TFT, Pearl Mod-It Gehäuse  
    Suse 10, Kernel 2.6.13-15.11-default, VDR 1.4.2-BP

    Einmal editiert, zuletzt von poetter ()

  • Zitat

    Original von UFO
    2.6.17-mm2 enthält offensichtlich bereits Änderungen von 2.6.18.


    Ersetze
    ...
    Damit sollte es laufen.


    Es lauft besser :

    Code
    CC [M]  /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/konicawc.o
    /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/konicawc.c:21:29: error: linux/usb_input.h: No such file or directory
    /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/konicawc.c: In function 'konicawc_register_input':
    /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/konicawc.c:243: warning: implicit declaration of function 'usb_to_input_id'
    make[3]: *** [/usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/konicawc.o] Error 1
    make[2]: *** [_module_/usr/src/CVS/v4l-dvb-av7110-refactoring/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-2.6.17-mm2'
    make[1]: *** [default] Error 2
    make[1]: Leaving directory `/usr/src/CVS/v4l-dvb-av7110-refactoring/v4l'
    make: *** [all] Error 2


    Danke :)

  • Habe folgendes bemerkt:



    Werde das mal beobachten! Scheint mit dem "CDROM watch thread" zusammen zu hängen ... was auch immer der da tut?


    Jedenfalls gab es diese "DMA RX buffer overflow" fehler vorher nicht ...


    LG
    Roman

    Wohnzimmer (Client 1): C't Vdr (Sarge), 2.6.15-sl, 1.4.0-2, TT-1.5 FF, Hermes 651, 40 GB, 2Ghz Celeron, 512MB, PSOne TFT
    Server: C't VDR (Sid), 2.6.15-1-k7, 1.4.1-1, TT-1.6 FF, XP-2000+, 500GB, 512MB
    Schlafzimmer (Client 2): MediaMVP
    MediaMVP, Bose S 100, 400er Oldischlepptopp für den Garten

  • Zitat

    Original von Grégoire
    Es lauft besser :

    Code
    CC [M]  /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/konicawc.o
    /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/konicawc.c:21:29: error: linux/usb_input.h: No such file or directory
    /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/konicawc.c: In function 'konicawc_register_input':
    /usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/konicawc.c:243: warning: implicit declaration of function 'usb_to_input_id'
    make[3]: *** [/usr/src/CVS/v4l-dvb-av7110-refactoring/v4l/konicawc.o] Error 1
    make[2]: *** [_module_/usr/src/CVS/v4l-dvb-av7110-refactoring/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-2.6.17-mm2'
    make[1]: *** [default] Error 2
    make[1]: Leaving directory `/usr/src/CVS/v4l-dvb-av7110-refactoring/v4l'
    make: *** [all] Error 2


    Brauchst Du diesen Treiber? Wohl eher nicht.
    Also im Treiberverzeichnis "make menuconfig" aufrufen und die nicht benötigten Treiber abwählen.
    Dann geht das Kompilieren auch wesentlich schneller... :)


    CU
    Oliver

  • Zitat

    Original von Uatschitchun
    Habe folgendes bemerkt:


    Code
    Jun 27 23:56:37 wohnzimmer kernel: pioirq DMA RX buffer overflow
    Jun 27 23:56:37 wohnzimmer kernel: gpioirq DMA RX buffer overflow
    Jun 27 23:56:37 wohnzimmer last message repeated 21 times
    Jun 27 23:56:37 wohnzimmer vdr: [4525] Error: could not get data from CDROM.
    Jun 27 23:56:37 wohnzimmer kernel: gpioirq DMA RX buffer overflow
    Jun 27 23:56:37 wohnzimmer last message repeated 62 times
    ...


    Jedenfalls gab es diese "DMA RX buffer overflow" fehler vorher nicht ...


    Klar, dieser Code ist auch neu. Jedenfalls bedeutet es, daß die Maschine die Daten nicht so schnell abholen kann, wie der ARM sie anliefert. ?(


    Evtl. DMA_RX_BUFS in av7110.h erhöhen.


    CU
    Oliver

  • Mit diesen .config :


    bekomme ich (unter 2.6.17-mm2) :


    ksymoops ist auf keinen Hilfe hier...


    Danke :)

Jetzt mitmachen!

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