Beiträge von nospam2000

    Hallo monolith


    ich denke du hast 2 Möglichkeiten:
    1) über einen eigenen IR-Empfänger und LIRC
    Dazu musst Du LIRC dazu bringen keyboard events zu erzeugen. Wie und ob das alleine durch Konfiguration geht, weiss ich leider nicht.


    2) du verwendest das Frontpanel einer defekten Activy (oder baust den für die Tastaturfunktion notwendigen Teil nach). Das Frontpanel ist meines Wissens direkt an den PS/2 Port angeschlossen und hat den riesen Vorteil, dass man den Rechner damit auch Ein-/Ausschalten kann und das ganze unabhängig vom Betriebssystem funktioniert.


    Michael

    Hi Helmut,


    mir fehlt noch der aktuelle wlan Treiber für madwifi und die entsprechenden wlan Tools dafür. Ich habe mal versucht, das ganze selbst upzudaten und es läuft jetzt auch endlich mit WPA Verschlüsselung, aber dafür geht vdr mit einer Budget Karte nicht mehr :hilfe


    Optimal wäre natürlich eine Einbindung der WLAN Konfiguration ins Admin Plugin.


    Bei den wlan scripts war noch ein Fehler drin, so dass wpa-supplicant nicht funktioniert hat.


    Ich muss mal konkret zusammenschreiben, was alles gefehlt hat.


    Micha

    Zitat

    Originally posted by UFO
    Seid Ihr sicher, daß der Kabelprovider tatsächlich mit der nominalen Frequenz sendet?


    Das müsste man doch herausbekommen, wenn man beim frontend die debugging optionen einschaltet. Zumindest beim ves1820 geht das:

    Code
    vdr01 frontends # modinfo ves1820.ko
    parmtype:       verbose:int
    parm:           verbose:print AFC offset after tuning for debugging the PWM setting


    Im syslog findet man dann folgendes:


    Bei mir scheint die nominale Frequenz zu stimmen.


    Leider habe ich beim stv0297 keinen Parameter gefunden um die traces einzuschalten.


    Michael

    Hi,


    ich hatte Mitte 2001 mal versucht dasselbe auf Basis des Elektor Projekts "Copybit Eliminator" nachzubauen. Das ganze hat als Basis eine genial einfache Logik die ohne komplizierte Bausteine auskommt. Umgesetzt ist die Logik durch ein 8-Bit Schieberegister und ein EPROM. Zusätzlich werden die Analogbauteile für die Ein-/Ausgabe und die Sychronisation auf den Datenstrom benötigt.


    Letztlich geht es ja darum, das Channel-Status Bit 30 auf NON-Audio zu setzen und die Parity anzupassen, oder?


    Elektor Artikel Einfacher Copybit-Eliminator 12/1997
    Dort finden sich auch Bilder und eine Bauteileliste. Das EPROM wird nicht benötigt, das muss man sich selber brennen da sowieso ein anderer Inhalt benötigt wird. Die unbestückte Platine kann man auch noch bestellen.


    Leider bin ich nie dazu gekommen mein EPROM zu testen, da ich keine Hardware zum debuggen hatte. Hat jemand Interesse das ganze zu testen und fertigzustellen?


    Michael

    Hi,


    ein Linux Tool für die Master-Slave Steckdosenleiste gibt es hier


    Usage:
    sispm_ctl -o 1..4 - turn on the specified socket
    sispm_ctl -o all - turn on all sockets
    sispm_ctl -f 1..4 - turn off specified sockets
    sispm_ctl -f all - turn off all sockets
    sispm_ctl -g 1..4 - query status of socket (1 if on, 0 if off)
    sispm_ctl -g all - query and print status of all sockets
    sispm_ctl -b on - buzzer on
    sispm_ctl -b off - buzzer off


    Michael

    Hi,


    bevor Du mit flashen loslegst, probier mal die folgenden Linux bash Kommandos:

    Code
    stty -F /dev/ttyS0 38400
    printf >/dev/ttyS0 "\xED"


    Das schaltet den Flash Modus aus und sorgt dafür, dass der Bottloader in die eigentliche Firmware springt. Eigentlich sollte daraufhin die Display Beleuchtung anspringen. Die Tasten funktionieren allerdings erst nach einem kompletten Ausschalten der Activy über den Schalter an der Rückseite.


    Hab ich die letzten Tage öfter gebraucht. Das erste mal war ich etwas erschrocken, aber das legt sich mit der Zeit. Viel schlimmer war es als ich den Watchdog aktiviert habe, der alle 2 Minuten für einen Reboot gesorgt hat...


    Michael

    Hi


    für einen kurzen Hack und wenn man die dmesg Ausgaben hinterher nicht mehr braucht, kann man folgendes machen:


    1. alle benötigten DVB Module laden ausser den frontends
    2. folgendes Script ausführen:


    Code
    cd /lib/modules/`uname -r`/kernel/drivers/media/dvb/frontends
    dmesg -c
    for i in * 
    do
    mod=`echo $i | cut -d . -f 1`
    modprobe $mod
      dmesg -c | if grep -q "DVB: registering frontend"; then
         echo "$mod" 
      fi
    done


    Es werden nacheinander alle Module geladen und nach jedem Modul geprüft, ob ein frontend gefunden wurde. Wird eines gefunden, wird dessen Namen ausgegeben. Den kann man sich dann irgendwo speichern.


    Ich hoffe nur, dass die Ausgabe "DVB: registering frontend" bei allen frontends gleich ist, ich habe ein Grundig grundig_29504-491


    Michael

    Hi Thomas,


    Zitat

    Original von Thomas
    Nö. Ist GPL, darfste machen was Du willst, solange:
    - Du dafür kein Geld verlangst


    Das stimmt nicht. Jeder kann ein GPL Programm nehmen und es beliebig teuer verkaufen. Allerdings muss man erstmal jemanden finden, der dumm genug ist für was Geld zu bezahlen, was er woanders umsonst bekommen kann.


    nospam2000

    Hi,


    vielleicht sollte man dazusagen, dass es einen grundsätzlichen Unterschied zwischen Kernel 2.4 und Kernel 2.6 gibt. Mit Kernel 2.4 klappt das recht problemlos mit dem tvtool. Mit kernel 2.6 scheine ich im Moment die einzige funktionierende Konfiguration zu haben (aktuelle Debian SID).


    Die Diskussion zum 2.6.er Kernel ist nachzulesen unter http://www.htpc-forum.de


    Ich habe jetzt schon alles mögliche probiert, um meinen Treiber auch unter HelAu's gentoo zum laufen zu bekommen. Am Kernel selbst liegt es sicher nicht, es bleibt eigentlich nur irgendeine Lib oder ein Tool übrig.


    Wenn der i2c-i810 Treiber und der i2c-dev Treiber geladen sind, dann sollte das Kommando

    Code
    i2cdump 0 0x4a

    eine Tabelle ausgeben, die folgendermassen aussieht:



    Wenn an der Position 0x71 kein b4 steht, dann ist was faul am i2c-Treiber und der fs451 Treiber kann nicht richtig funktionieren. Sieht der Dump wie oben aus, stehen die Chancen dass der fs451 Treiber funktioniert sehr gut.


    Ich wäre euch dankbar, wenn ihr mir Rückmeldung geben könnt, ob der Treiber bei euch funktioniert oder nicht und unter welcher Distribution+Version und kernel Version. Ich verwende derzeit Kernel 2.6.6.


    Der i2c-i810 und der i810fb Treiber können derzeit nicht gleichzeitig verwendet werden. Der erste der geladen wird gewinnt. Das liegt daran, dass beide die PCI-ID für sich beanspruchen. Workaround:
    Module i2c-i810 und fs451 laden, Parameter setzen, i2c-i810 und fs451 entladen, i810fb laden und framebuffer verwenden.


    Wenn die Parameter mal gesetzt sind braucht man den fs451 Treiber nicht mehr.


    Den Download gibt es hier.


    Michael

    Hi stmeyer,


    Zitat

    Original von stmeyer
    Btw. bist Du noch an dem backport dran? Ich würde auch gerne weiterhin die Version verwenden, die Klaus empfiehlt. ;)


    Du musst nur kls überreden, dass er die neue Treiberversion empfiehlt, dann passt es auch wieder. :vdr1


    Michael

    Hallo UFO,


    Zitat

    Original von UFO
    Ich würde einfach mal die Pakete ausgeben lassen und nachsehen, ob der Abstand der Sync-Bytes 204 oder 188 Bytes ist.


    Ich habs geprüft, er ist 204 Bytes. Ich habe den Patch mal entsprechend angepasst. Die aktuelle Version liegt auf http://www.5dot1.de/dvb/fsc_activy_budget006.patch :n8


    Zitat

    Sollte die Größe 204 sein, muß man noch mehr tun, als einfach eine andere Funktion aufzurufen (Puffergrößen anpassen, vpe_irq anpassen, etc.)


    Hab ich gemacht.


    Trotzdem bekomme ich nur weniger als 50% der Daten, der Rest geht ins Nirvana. Ich habe das Gefühl das könnte mit den geraden und ungeraden Halbbildern zusammenhängen. Da habe ich jetzt auch schon einiges ausprobiert, hat aber nichts geholfen.


    nospam

    Hallo UFO,


    Zitat

    Im Rohformat verwendet DVB 204 Byte große Datenpakete. Sie bestehen aus 188 Byte Daten plus 16 Byte Parity (Reed-Solomon Code). Diese 16 zusätzlichen Bytes sind die Fehlerkorrektur-Bytes, die vom Frondend verwendet werden, um Bitfehler automatisch zu korrigieren. Ich habe aber keine Ahnung, wo das genau spezifiziert ist...


    Mittlerweile weiss ich, dass dies iin ETSI EN 300 421 steht. Kann man sich kostenlos bei www.etsi.org runterladen, braucht man aber garnicht :hat2
    Wie in meinem letzten Posting beschrieben, muss man dafür eigentlich nur eine Zeile in budget-core.c ändern, den entsprechenden Code gibt es nämlich schon, er wird nur in diesem Fall nicht verwendet.


    nospam

    Hallo UFO,


    Zitat

    Original von UFO
    Hier haben wir allerdings einen anderen Tuner. Möglicherweise liefert dieser das Signal nicht. Möglicherwise filtert er auch schon intern die Parity-Daten aus.


    Der budget-core Treiber geht davon aus, dass er die reinen TS-Daten ohne Reed-Solomon error correction bekommt. Er liefert sie per dvb_dmx_swfilter_packets() weiter an den demux. Wenn das Frontend die Reed-Solomon Korrektur nicht entfernt, dann sind die Pakete aber nicht 188 sondern 204 Byte gross und die checksumme muss vor der Weiterverarbeitung entfernt werden.


    Wenn heute jemand Zeit hat, könnte der den Aufruf von dvb_dmx_swfilter_packets() in budget-core.c ersetzen durch dvb_dmx_swfilter_204() (wenn das nicht geht, dann durch dvb_dmx_swfilter()). Heute komm ich nicht an meine Karte ran und kann nur Theorien aufstellen. Aber die scheint mir ziemlich plausibel :]


    nospam

    Hallo UFO,


    Zitat

    Original von UFO


    Kein Problem. Kann ich implementieren und testen.


    Musst Du nicht implementieren, das sollte mit meinem 2. Patch funktionieren. Der IO-ctrl wird damit an an den grundig 491 frontend Treiber weitergeleitet, der dann das 22Khz Signal über den TDA8083h erzeugt. Da 22kHz definitiv funktioniert, sollte auch DiSEqC gehen. Testen schadet aber garantiert nichts ;D

    Zitat


    Der SAA7146 empfängt die Daten über einen Video-Port (B bzw. A) und sendet sie über den BRS (Binary Ratio Scaler) über DMA-Kanal 3 an die CPU. Interrupts werden über den VPE (Video address Protection Error) Mechanismus ausgelöst.


    Müsste der DMA nicht neu aufgesetzt werden, wenn eine VPE auftritt, oder setzt der SAA7146 beim Auslesen der ISR oder des VDP3 automatisch den DMA Zeiger auf den Anfang zurück? Eigentlich müsste doch eine Art Double-Buffering zum Einsatz kommen, d.h. die Hälfte des DMA-Datenbereichs wird vom Rechner ausgelesen, während die andere Hälfte vom SAA7146 gefüllt wird.


    Wenn man traces einbaut in budget-core.c/vpeirq(), kann man beobachten, dass tatsächlich ca. zur Hälfte der Puffergröße ein IRQ ausgelöst wird, aber wo der Code ist, der das veranlasst und den DMA neu startet, ist mir ein Rätsel.


    Zitat


    Zurück zum PXQ-Signal. Im Referenzdesign ist es mit dem Data-Parity-Signal des Tuners verbunden. Ist das bei einer Nova auch der Fall, d.h. geht es an Pin 26 des BSRU6? Ich vermute ja, denn mit diesem Signal kann man die Parity-Information aus den Daten herausfiltern.


    Ich bin mir nicht mehr sicher, ob es PIN26 war. Muss ich nochmal prüfen, wenn ich wieder daheim bin.


    Wie sieht denn die Parity-Information aus? Die müsste man doch auch per Software rausfiltern können, oder? Gibt es da ein/mehrere Bytes pro TS Paket? Hast Du eine Ahnung, wo das beschrieben ist?


    Zitat


    Hier haben wir allerdings einen anderen Tuner. Möglicherweise liefert dieser das Signal nicht. Möglicherwise filtert er auch schon intern die Parity-Daten aus.


    Da war es wieder, das Thema der Doku zum grundig 29504-491/451 bzw. zum Phillips TDA8083h :rolleyes: . Laut Phillips soll der TDA8083h ja Register- und Pin-kompatibel sein zum TDA8044, bei dem sieht es aber auch nicht besser aus.


    nospam

    Hallo,


    ich glaube auch nicht, das es etwas mit dem PXQ zu tun hat.


    Bei meinen Tests habe ich folgendes festgestellt:
    Aufnahmen mit VDR funktionieren generell (kein Absturz, Daten werden auf Platte geschrieben), es fehlen aber ca. 65% der Daten und die Aufnahme enthält keine sinnvollen Daten.


    Ein Dauertest mit "dvbtune -i" (dump SI) hat gezeigt, dass dies in ca. einem von 24 Fällen funktioniert (bei insgesamt 1000 Durchläufen).


    Die Ursache muss daher meines Erachtens ein timing problem sein, z.B. wegen Interrupts, oder einer fehlenden Synchronisierung des Starts der Datenerfassung, etc. Es kann nichts sein, was immer falsch läuft (z.B. falscher Port, falsche Tuner-Einstellung, etc.).


    Zwischen dem TDA8083h und dem SAA7146 wird ja der komplette Datenstrom eines Transponders als TS Pakete übertragen. Der SAA7146 ist aber eigentlich für die Übertragung von Bildsignalen ausgelegt (even/odd frame, HSYNC, VSYNC, scaling, etc.). Das alles passt für den Anwendungsfall nicht so richtig, da er nur als DMA-Controller misbraucht wird.


    Das VSYNC Signal muss künstlich über den 74HC4040 und den 74HC74 erzeugt werden. Wie das mit dem HSYNC Signal funktioniert, ist mir noch nicht klar, da der TDA8083h ja keine Bilddaten hat, sondern nur TS Pakete, kann er ja kein echtes HSYNC haben. Das VSYNC Signal


    Der Budget Treiber aktiviert jetzt den DMA3 des SAA7146 um die Daten direkt vom TDA8083h über den PCI-Bus in den Hauptspeicher des PC zu schreiben. Er geht davon aus, dass eine Zeile aus 376 Bytes (2 TS Pakete) besteht und dass es 512 Zeilen gibt. Wann genau der der Interrupt zum Auslesen des Puffers erzeugt wird und wie der wrap-around zum Puffer Anfang erfolgt, ist mir nicht klar.


    nospam2000