[Tester gesucht] Verbessertes DVB-S Tuning mit STB0899 Satkarten (Mantis Bridge, u.a.)

  • Hallo!


    Ich habe heute die anfänglichen Tests mit meiner TerraTec Cinergy S2 PCI HD gemacht.


    Vorerst das Testergebnis mit "Astra_DVBS2_only.txt"


    s2-liplianin:
    lok_errs =20, runs=86 of sequ=3333, multi=134, multi_max=94


    real 157m44.872s
    user 0m1.020s
    sys 0m30.118s


    also alles andere als berauschend...


    v4l-dvb:
    lok_errs =20, runs=86 of sequ=3333, multi=19, multi_max=1


    real 11m13.195s
    user 0m0.064s
    sys 0m13.281s


    Der unterschied bei dvb-s2 ist hier gravierend. von 157 minuten runter auf 11 minuten soweit großartig! Woher die lok_errs herkommen ist mir schleierhaft. werde mal in windows testen aber wahrscheinlich ist es die schlechte Ausrichtung der Schüssel. Nur der einzige drawback ist, dass mit v4l die Remote Control nicht erkannt wird. S2-liplianin erkennt diese als "Linux Input Device" und sie funktioniert praktisch out-of-the-box. Jemand eine Idee wie ich v4l die bei der TerraTec Cinergy S2 PCI HD beiliegende Remote schmackhaft machen kann?


    Die gesamten Test folgen dann später. Darf jetzt leider nicht mehr weil der vdr gebraucht wird :(

    Dateien

  • Hallo!
    s2-liplianin:
    real 157m44.872s
    v4l-dvb:
    real 11m13.195s


    Also dann bist du einer der wenigen wo lou's Patch es verschlechtert. Teste mal meine Änderungen, wenn du Lust und Zeit hast.


    Lou


    Wusstest du was du da machst oder hast du einfach herumgespielt?


    Also der 2.6.38 Code sucht das Timing mit ca. 9Mhz Schritten, dann das Signal mit 0.5Mhz Schritten dann die Daten mit 4.5Mhz Schritten.
    Die Daten mit 4.5 Mhz Schritten zusuchen ist eindeutig falsch, deshalb werden bei mir und vielen anderen viele Sender nicht gefunden.


    s2-liplianin Code sucht Timing mit 2Mhz Schritten, dann das Signal mit 1Mhz Schritten und dann die Daten mit 0.5Mhz Schritten. Was richtiger
    ist. In welchen Schritten man nun genau suchen muss, da bin ich nicht mehr in der Materie drin.


    Was mich an dem s2-liplianin Code und damit an Lou's Patch stört, ist das er mit index = 0 anfängt, also index = 1 ist schon richtig.
    Man stellt die gewünschte Frequenz ein und guckt ob ein Signal kommt, wenn nicht guckt man dann unterhalb und oberhalb, bis man
    es findet. Bei index = 0, wird nun bei Timing, Signal und Data immer noch einmal die gleiche Frequenz geprüft, 0 * Werte bleibt 0.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • johns:
    ich habe mal deinen Patch mit s2-liplianin vergleichen. Auch wenn ich den Algorhytmus noch nicht näher betrachtet und verstanden habe,


    warum setzt du derot_step = internal->derot_step * 8;
    und s2-lip setzt es derot_step = internal->derot_step * 4;


    woher kommt der Faktor?


    Im s2-lip code wird in der stb0899_status stb0899_search_data funktion noch die base_freq berücksichtigt, das ist beim v4l gar nicht mehr der Fall.


  • Einfach geraten, wie gesagt gibts dafür Formeln und Erfahrungswerte, bin darin nicht mehr fit.


    Das wäre ein minimalistischer Patch, damit es funktioniert. (aber der derot_step ist auch noch geraten)


    Über base_freq kann man streiten. Der Kernel begrenzt die Suche immer um die gewünschte Frequenz herum.
    Mit base_freq wird die Suche um die bisher beste gefunden Frequenz (als Mitte) begrenzt.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • danke Johns für deine Info. Hat das ganze auch Auswirkungen auf DVB-S oder betrifft dies nur DVB-S2?
    Ich habe mal die base_freq bei mir rausgenommen und und den Faktor von 4 auf 8 erhöht. Das waren die einzigen Unterschiede die ich zwischen deinem Patch zu v4l und s2-lip feststellen konnte.
    Ich werde dann mal ein paar SCPC Signale testen, um zu testen, ob sie weiterhin gut oder sogar besser locken.


    Ich hatte vor einiger Zeit auch mal versucht den Treiber so anzupassen, um auch DVB-S Signale mit einer SR < 1 MS/s zu empfangen. Hat leider nicht geklappt mit nem Lock. Also offiziel beherrscht der stb0899 das auch nicht, aber einige Demodulatoren beherrschen das trotzdem (z.B. der der Skystar 2).

  • johns: wahnsinn, der stb0899 kann also doch SR < 1 MS/s verarbeiten! Bisher hat wohl base_freq immer einen Lock verhindert.
    Es dauert wirklich sehr lange bis ein Lock zu Stande kommt, aber funktionieren tut es.


    Getestet habe ich es auf Astra 3A 12660 V SR 477 FEC 1/2 DVB-S, das ist der SCPC Feed von Antenne Bayern.


    Wenn es noch jemand testen möchte, sollte er wissen, dass man im Treiber noch 2-3 Dinge ändern muss, sonst wird das Setzen von SR < 1 MS/s vom Treiber verhindert.

  • ich habe mich jetzt auch noch eine Stufe weiter getraut mit Joe FM and CFN auf 16°Ost
    12678 H 330 und 12681 H 330


    leider scheint hier noch ein Bug im Treiber vorhanden zu sein. Wenn ich szap beende und einen Transponder mit hoher SR wähle bekomme ich kein Signal mehr. Dann muss ich erst wieder den s2-liplianin entladen. das make rrmod bleibt dabei ganzes Stück beim rmmod budget_ci hängen.


    Wie kann ich am besten die DEBUG Ausgaben des Treibers aktiveren?

  • ich hab jetzt die DEBUG ausgaben einfach mit printk reingemacht


    johns: hast du eine Idee warum mir bei den letzten zwei Beispielen auf 16°Ost kein Lock möglich ist?
    den Faktor zu Beginn habe ich wieder auf 4 gesetzt, so wie ursprünglich in s2-lip.
    hier zum Vergleich Antenne Bayern SR 477:


    dagegen JoeFM:

  • Wenn es noch jemand testen möchte, sollte er wissen, dass man im Treiber noch 2-3 Dinge ändern muss, sonst wird das Setzen von SR < 1 MS/s vom Treiber verhindert.

    Kannst du dazu bitte einen patch machen?


    Danke!

  • Moin,


    Es wäre gut, wenn dieser Patch getestet würde, bevor ich Ihn (oder andere) auf der v4l Mailingliste posten würde.


    Es ist einer reiner Bugfix Patch, versucht also nichts am Algorithmus oder Timing zuverändern.


    Die Schrittweite war einfach falsch, bei der Trägerfrequenzsuche wurde internal->derot_step verwendet und
    dann bei der Datenfrequenzsuche eine viel zu Große. Deshalb konnte viele Sender nicht gefunden bzw. gelockt werden.
    Dazu kam, das die erste Suche häufig erfolglos war, weil das Loop Flag bereits gestezt war.


    Lou Patch bzw. s2-liplianin ändern dies auch.


    Einziger Nachteil, könnte sein, das es etwas länger dauert, wenn kein Lock möglich ist.



    Insgesamt ist aber Lou's Patch bzw. s2-liplianin noch etwas besser, aber die wollen Sie ja nicht haben.
    Am besten ist eine gefixte s2-liplianin, bei mir.


    Natürlich alles mit gefixten stb6100 Tuner.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Wie wäre es dann die Patches in 2 aufzubrechen. Zuerst dein Bugfix, dann die Veränderung der Schrittweite um es nachvollziehbar zu machen ? Es gab ja auch noch den Signalstärke Patch und den Patch von Old_man und noch was ?


    Sagt mir Bescheid wenn ich das v4l-dvb-dkms patchen soll und wie. (Ich hab keine solche Karte an der Stelle kann ich nichts helfen.) :)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Wie wäre es dann die Patches in 2 aufzubrechen. Zuerst dein Bugfix, dann die Veränderung der Schrittweite um es nachvollziehbar zu machen ? Es gab ja auch noch den Signalstärke Patch und den Patch von Old_man und noch was ?


    Sagt mir Bescheid wenn ich das v4l-dvb-dkms patchen soll und wie. (Ich hab keine solche Karte an der Stelle kann ich nichts helfen.) :)


    Du willst meinen Patch noch zerlegen? Sind aber beide Änderungen bug-fixes.


    So hier noch mein s2-liplianin patch:


    Meiner Meinung ist das Problem in stb0899_check_data. Da ist loop bereits gesetzt und es wird nicht auf lock gewartet.
    Der erste Read reseted das Loopflag.


    Habe index = 0, wieder rückgängig gemacht, weil es unnötig ist zweimal die gleiche Frequenz einzustellen. Ohne meinen
    Patch in stb0899_check_data hat es auch das loop Flag reseted.


    Dann habe ich die msleep wieder herausgenommen, ich vermute die sollten auch das loop Problem fixen. Der Kernel
    Treiber hat dies auch nicht.
    Das msleep in der Schleife habe ich gelassen, ich denke so ist es besser.
    Dann habe ich die Berechnung der Wartezeit auf den Datenlock zum Setup verschoben, wenn man es besonders schön
    will, kann man daraus auch eine Funktion machen, wie stb0899_calc_derot_time.


    Johns

  • johns: da die Doku wegen einem NDA nur dem Maintainer mitgegeben wurde musste ich wie Du ausprobieren und raten. Dabei war die Vorlage von Alex Betis sehr hilfreich. Ich find's gut wenn Du den Code auf Fehler untersucht, weil ich bin überzeugt der Treiber hat als Ganzes noch diverse Böcke drin (Intel Bug, DVB-S2 code)


    Ich frage mich bloss ob sich der Einsatz auszahlt, wenn der Treiber Maintainer am Ende den Code ablehnt anstatt zu helfen.


    Sehe ich das richtig? Der Remote Support in liplianin basiert auf diesem Patch, welcher auf v4l-dvb portiert werden müsste?

    MSI P6NGM-FD | ASROCK A785GXH | Grafik: GeForce 9400GT| DVB-S2 Karten: Twinhan VP 1041 & Skystar HD

  • hier mein Quick&Dirty Patch für s2-liplianin, damit bekomme ich die SR < 1 MS/s gelockt. Mit enthalten ist der Old_man Patch und der Signal Strength Patch.
    Bezüglich Remote Control sollte man in der budget-ci.c noch folgendes ändern:

    Code
    case 0x1019:
                	/* For the TT 3200 bundled remote */
                	ir_codes = RC_MAP_TT_1500;
                	break;


    Damit funktionieren dann auch alle Tasten. Ist glaub ich im v4l ausnamsweise schon drinnen. Aber ich muss zugeben, dass der IR Sensor eh nicht besonders empfindlich ist :(


    steffen_b: der Signal Strength Patch wurde auch abgelehnt, der Maintainer ist leider alles andere als kooperativ, die Verbesserungen von Alex Betis sind damals auch nicht angenommen worden...


    Einen gravierenden Bug hätte ich noch im Angebot: Und zwar unterstützt die Karte kein Inverses Spektrum. Der ORF hatte dies ja vor nem Jahr versehentlich aktiviert und auf einmal hatten alle TT S2-3200 Besitzer kein Signal mehr. Leider ist mir zum Testen kein Signal bekannt, welches auch inverses Spektrum verwendet.

  • Ich meinte nicht noch weiter aufbrechen sondern den bugfix in der Art von johns, weitere Verbesserung um in Richtung Lou zu kommen als seperaten Patch.


    newsy: das weiter nebenher zu pflegen ist ja auch keine Lösung. Man braucht halt irgendeine Handhabe.

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Ich meinte nicht noch weiter aufbrechen sondern den bugfix in der Art von johns, weitere Verbesserung um in Richtung Lou zu kommen als seperaten Patch.


    Ok, habe es verstanden. Es wäre gut, wenn du die Patches sammelst,


    Gibts ein Archive wie https://bugs.yavdr.com/project…k/misc/make-dkms/patches/ für Mainline
    Kernel oder sollen wir gegen v4l-dvb arbeiten?


    Mir ist nur nicht klar, wie man die Patches sauber und richtig übergibt. Vielleicht kann sich jemand darum
    kümmern der die nötigen Accounts bereits hat?


    Hat noch jemand Kontakt zu Alex? Da ich ja ein Teil seiner Änderungen rückgängig gemacht habe.


    Also wir haben.
    stb0899_algo.c: loop patch Fixt das der Erste Lockcheck, immer misslingt
    stb0899_algo.c: stepping patch Fixt zu große Schrittweite beim Datenlockcheck.
    stb0899_algo.c: stepping patch Vergrößert die Schrittweite beim Carriercheck.
    (Das ist das was von Lou's Patch übrigbleibt)
    stb0899_drv.c: FEC patch Fixt das Lock von 3/4 ... FEC's (von old_man thread)
    stb0899_drv.c: signal strength patch Fixt die falsche Signalstärke.
    stb0899_drv.c: low symbol rate patch Niedrige Symbolraten erlauben


    Wo bei ich die Signalstärke anders fixen würde.


    Die Änderung von Lou mit der Basisfrequenz würde ich weglassen, da sie nicht ganz 100% richtig ist.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

    Einmal editiert, zuletzt von johns ()

  • Hat noch jemand Kontakt zu Alex? Da ich ja ein Teil seiner Änderungen rückgängig gemacht habe.

    ich hatte ihm vor einiges Zeit eine Mail geschrieben, als ich schonmal versucht habe SR < 1 MS/s zu locken. Er hat keine DVB-S2 Karte mehr.

    Wo bei ich die Signalstärke anders fixen würde.

    Klingt interessant.


    Die Änderung von Lou mit der Basisfrequenz würde ich weglassen, da sie nicht ganz 100% richtig ist.

    da stimme ich dir 100% zu.



    Diese Fallunterscheidung scheint auch nicht ganz zu stimmen oder?

    Code
    if (params->srate <= bandwidth / 2)
                        stb0899_search_tmg(state); /* For low rates (SCPC)                          */
                else   
                        stb0899_check_tmg(state); /* For high rates (MCPC)                          */
  • Hallo johns


    Zum Thema Patch formatieren gibt es einen linuxtv wiki Artikel


    Accounts brauchst du keinen -> schick den Patch inline mit dem Betreff "[PATCH] Beschreibung des Patches" an die Mailingliste, eine Kopie davon sollte an den Maintainer (Manu) gehen. Der Majordomo erledigt den Rest. Attachments gehen zwar, sind aber problematisch wegen der Virengefahr.


    Wenn du den Patch in ein git Repository stellen willst schick eine Kopie davon an Björn Mork - er hostet so ziemlich jeden Mantis Patch, und arbeit selber am Code für seine Mantis Cable Karten.


    Alex hat sich 2009 mal abgemeldet von der Mailingliste, auch seine Projekte (szap-s2/scan-s2) werden nur noch von Igor gehostet. Ich glaub nicht das er die Karte noch aktiv verwendet.

    MSI P6NGM-FD | ASROCK A785GXH | Grafik: GeForce 9400GT| DVB-S2 Karten: Twinhan VP 1041 & Skystar HD

  • Abend,


    Funktioniert bei jemanden die Signalstärke bei S2 und stb0899?
    Ich bekomme bei allen Sendern nur
    IF_AGC_GAIN = 0x0000, C = 700 * 0.1 dBm
    Wäre bei femon 5AA ohne signal patch bzw. 5aa0 mit Signalstärke Patch.


    Wenn ich es richtige sehe, konnte sich v4l nicht auf einen gemeinsamen Standard für die Signalstärke einigen.


    Ich würde deshalb die Signalstärke auf 0 (schlechtester Wert) bis 0xffff (bester Wert) skalieren. Ist in etwa fast
    das Selbe was der bisherige Patch macht.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

Jetzt mitmachen!

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