FF-Karten Full-TS Mod
Wirbel (Diskussion | Beiträge) |
Wirbel (Diskussion | Beiträge) K (Wirbel verschob Seite Full-TS Mod nach FF-Karten Full-TS Mod: Systematik) |
Version vom 15. August 2013, 10:29 Uhr
Allgemeines
Idee und Entwicklung
Diese Idee des Umbaus von Full-Featured-DVB-Karten wurde von Oliver Endriss entwickelt.
Originalseite: http://www.escape-edv.de/endriss/dvb-full-ts-mod/
Er hebt die Bandbreitenbeschränkung der Full-Featured-DVB-Karten auf.
Was genau bringt dieser Mod?
Bei den Full-Featured-Karten durchläuft das DVB-Signal den DSP und das auf der Karte befindliche RAM, bevor es auf den PCI-Bus gebracht wird. Die damit erreichbare Transferleistung ist auf etwa 12 MBit (?) begrenzt und kleiner als bei Budget-Karten. Werden gleichzeitig mehrere Programme auf einem Transponder mit einer FF-Karte aufgenommen, kann es vorkommen, dass die erforderliche Bitrate größer als die erreichbare Transferrate ist und es so zu Datenverlust kommt.
Durch den Mod werden die Daten unter Umgehung dieses Flaschenhalses (DSP, RAM) direkt auf den PCI-Bus gegeben, so, wie es auch bei den Budget-Karten der Fall ist.
Nach der Umrüstung hat daher eine FF-Karte die Transferleistung einer Budget-Karte.
Allgemeine FAQ
Wird die Fullfeatured durch den Full-TS-Mod zu einer Budget-Karte?
Nein. Der MPEG-Decoder und TV-Out können ganz normal weiter genutzt werden. Nur der Flaschenhals, der die Transferleistung begrenzt, wird umgangen.
Siehe auch Budget-Patch
Wird durch den Full-TS-Mod der DSP umgangen?
Ja.
Wenn der DSP kaputt ist, kann man die Karte dann als Budget verwenden?
So etwas ist machbar, erfordert jedoch Anpassungen im Treiber. Die Karte würde dann exakt wie eine Budget-Karte funktionieren. (siehe auch Budget-Patch)
Damit der Treiber die Karte als solche erkennt, muss die PCI-Kennung im EEPROM mit der einer Budget überschrieben werden (FF-Karten EEPROM-Fix). Außerdem muss der ENT-Eingang vom lnbp16 auf GPIO3 am SAA7146 gelegt werden. Sonst fehlt der 22 kHz Ton, denn der wird bei den FFs normalerweise über den AV7110 geschaltet.
Könnte man so auch eine Dual-Tuner Full-Featured-Karte realisieren?
Ja, dies wurde auch schon getestet, erfordert aber Anpassungen im Treiber. Und einer der beiden Tuner hat immer noch die begrenzte Transferleistung, da dieser über den DSP geroutet wird.
Hardware
Wie funktioniert der Mod?
Das DVB-Signal wird vom Tuner/CAM über den Port_b des SAA7146 direkt auf den PCI-Bus gelegt (statt wie zuvor vom Tuner über den AV7110 auf den Port_A des SAA7146).
An den Port_B des SA7146 müssen neben den Datenleitungen des Tuners noch das VS_B-Signal angelegt werden. Dieses wird mit einer Teilerschaltung generiert (benötigt 74HC4040 und 74HC74).
Welche Karten lassen sich umrüsten
Alle auf dem Technotrend Design (TT PCline Premium Family) basierende Full-featured-DVB-Karten (mit dem AV7110 und dem SAA7146) sollten sich umrüsten lassen, sofern der port_B des SAA7146 nicht schon belegt ist.
Dies ist jedoch je nach Revision der Karte mit mehr oder weniger Aufwand verbunden.
Erfolgreich getestet wurden bisher (aktueller Stand)
DVB-S:
- Rev 1.3
- Rev 1.5
- Rev 2.1
- Rev 2.2
- Rev 2.3
DVB-C:
- Rev 2.1
DVB-S Rev 1.3 / 1.5 / 1.6 / 2.1 / DVB-C Rev 2.1
Bei diesen Karten müssen die Signalleitungen vom AV7110/Tuner zum Port_B des SAA7146 gezogen und das VS_B Signal mit der Teilerschaltung (74HC4040 und 74HC74) generiert werden. Dies ist auf der Seite von Oliver Endriss (http://www.escape-edv.de/endriss/dvb-full-ts-mod/) sehr genau beschrieben.
Benötigte Bauteile:
- Feinen Fädeldraht/Lackdraht (z. B. aus einer alten Spule), (kls hat da auch eine kleine Platine entwickelt, die das Löten vereinfachen sollte: )
- Dickeren Kupferlackdraht für die Spannungsversorgung
- Ggf. einen Abblockkondensator (100 nF) für die Spannungsversorgung (Es kann auch ohne gehen. Je nach Länge und Durchmesser der Versorgungsleitungen muss man halt mit Problemen rechnen. Es dürfen auch ruhig etwas mehr als 100 nF sein, wenn man nichts anderes zur Hand hat.)
- 74HC74 (in SO-14 ist der gut lötbar)
- 74HC4040 (in SO-16 ist der gut lötbar)
Hier einige Bilder
- Bild gemoddete DVB-S 1.3 (UFO)
- Bild gemoddete DVB-S 1.5 (UFO)
- Bild einer modifizierten DVB-S TV-Karte (ogawoga)
- Bild einer modifizierten DVB-S 1.5 (Negge)
- Bild einer modifizierten DVB-S 1.5 - Kabelverbindungen gesichert (Negge)
DVB-S Rev. 2.2
Bei diesen Karten sind D1_B[0-7], LLC_B, HS_B, PXQ_B zwischen AV7110 und SAA7146 ab Werk im Original-Layout bereits verbunden. Lediglich die beiden unbestückten ICs über dem Tuner für das VS_B Signal (Teilerschaltung) müssen nachgerüstet werden. Des weiteren wurde festgestellt, dass die Spannungsversorgung offenbar keinen Kontakt zum Rest der Platine hat. Man muss noch Vdd mit +3,3 V verbinden (für die Spannungsversorgung der beiden ICs der Teilerschaltung).
Benötigte Bauteile (damit es auf die Platine passt):
- Fädeldraht/Drahtbrücke/0Ohm-Widerstand zur 3,3 V Spannungsversorgung
- 2x Abblockkondensator, Größe 0805, Keramik 100 nF
- 74HC74 (TSSOP)
- 74HC4040 (SO-16)
Hier ein paar passende Bilder:
DVB-S Rev. 2.3
Bei diesen Karten sind D1_B[0-7], LLC_B, HS_B, PXQ_B zwischen AV7110 und SAA7146 ab Werk im Original-Layout bereits verbunden. Lediglich die beiden unbestückten ICs diagonal oben rechts vom Tuner für das VS_B Signal (Teilerschaltung) fehlen. Selbst die Abblockkondensatoren für die beiden ICs sind in der Regel schon bestückt.
Benötigte Bauteile (damit es genau auf die Platine passt):
- 74HC74 in TSSOP
- 74HC4040 in TSSOP
- (ggf. 2 x Abblockkondensator, Größe 0805, Keramik 100 nF, sollte aber schon bestückt sein)
Die Chips sind in der benötigten TSSOP-Bauform nur schwer zu bekommen.
Einige Bilder:
- Bild unbestückte DVB-S 2.3 (Negge)
- Bild bestückte DVB-S 2.3 (tron10000)
- Bild bestückte DVB-S 2.3 (x-jojo)
- Bild bestückte DVB-S 2.3 (Dirk)
DVB-C Fujitsu Siemens Rev.C
Die Karte von FuSi hat ein anderes Layout als die bereits oben genannten Beispiele. Die Signalleitungen vom av7111 können am senkrechten CAM-Anschluss und die Leitungen zum saa7146 können am linken Port des Analogmoduls abgegriffen werden. Zusätzlich müssen eine Leitung für das Signal "PXQ_B" und ein Abgriff für 3,3V direkt von der DVB-C Karte entnommen werden. Dazu muss der Lötklecks, der im Originalzustand den "PXQ_B" Eingang des saa7146 auf 3,3V legt, entfernt werden. Wer den Aufwand nicht scheut, kann sich auch die 3,3V aus den 5V erzeugen, da ein 5V PIN am CAM-Stecker zur Verfügung steht.
Aufgrund der Stiftleisten lässt sich hier der Full-TS-Mod recht leicht durchführen. Es muss nur eine kleine Platine entwickelt werden, die mit den beiden ICs und dem Blockkondensator bestückt wird. Die Platine kann so auf die beiden Stiftleisten gesteckt werden kann. Der Nachteil ist hier allerdings, dass ein vorhandenes Analogmodul (welches den Einsatz des Full-TS-Mods komplett ausschließt) oder CAM-Modul nicht mehr steckbar wäre.
Software
Wie installiere ich den Treiber/die Kernel-Module?
Derzeit (stand 1.4.2008) muss der Treiber aus den hg-repository-quellen von Oliver Endriss kompiliert werden. Die aktuellen HG-Treiber kompilieren allerdings im Moment nur ab Kernel 2.6.23?
Prinzipiell ist das vorgehen "make menuconfig, make, make install".
Im Rahmen dieser Modifikation kann jedoch keine allgemeine Anleitung für das kompilieren von Kernel-Modulen gegeben werden. Hier aber ein paar Links auf entsprechende Anleitungen:
- DVB Installation v4l-dvb
- ctvdr/Debian 3.1 (Sarge) Kernelupdate von kernel.org + lirc + cdfs (+ hg-dvb + ivtv)
- Debian 4.0 (Etch) Kernelupdate von kernel.org + Module für lirc + cdfs (+ hg-dvb)
Diese Modifikation wird aber vermutlich mit der Zeit Einzug in den offiziellen Kernel finden, so das eigenständiges kompilieren überflüssig werden sollte (wie beim 4MB-mod)
Wie lade ich den Treiber / das Modul um den Full-TS-Mod zu aktivieren?
Dazu muss der DVB-Treiber mit der Option driver "full_ts=1" geladen werden.
modprobe dvb-ttpci full_ts=1
Wie kann ich prüfen ob mein Kernel-Modul den Full-TS-Mod unterstützt?
Mit
modinfo dvb-ttpci | grep full_ts
Dabei sollte dann ein
parm: full_ts:enable code for full-ts hardware modification: 0 disable (default), 1 enable (int)
angezeigt werden. Wird nichts angezeigt, wird kein Full_Ts-Parameter vom Kernel-Modul unterstützt.
Was passiert wenn ein Karte ohne Hardware-Änderungen mit der full_ts=1 Option geladen wird?
Reines TV schauen geht noch, dabei wird ja nichts über den PCI-Bus übertragen.
Wenn jedoch versucht wird mit der FF eine Aufnahme zu machen, geht das bei full_ts=1 nur mit modifizierter Karte. Ansonsten gibt es kein Signal, da der Port_b ja nicht angeschlossen ist (und der VDR stürzt dann in der Regel ab).
Was passiert, wenn zwei FF-Karten im VDR stecken und die eine die Modifikation hat, die andere aber nicht? Gibt es da Probleme oder wird das automatisch berücksichtigt?
Kein Problem, wenn das EEPROM richtig programmiert wurde. Genau deshalb kann eine Kennung in das EEPROM geschrieben werden (siehe nächste Frage).
Ist es möglich, den Full-TS-Mod irgendwie treiberseitig automatisch zu erkennen, ohne "full_ts=1"?
Ja, ist im Treiber bereits eingebaut. Damit dies funktioniert, muss man einmalig das folgende Skript aufrufen (benötigt i2c-tools).
#!/bin/bash if [ -z $1 ] ; then echo "Usage: $0 <number of I2C bus>" echo "Tool to add the 'full-ts' signature to the eeprom of a full-featured card" echo echo "I2C busses found:" i2cdetect -l exit 1 fi echo "(Please ignore 'readback' warnings!)" i2cset -y $1 0x55 0 0x4f b sleep 1 i2cset -y $1 0x55 1 0x45 b sleep 1 i2cset -y $1 0x55 2 0x01 b
Obigen Skript in einen Editor hereinkopieren, das Ganze als .sh-Datei speichern (z.B. "full-ts.sh"), diese dann mit "chmod a+x full-ts.sh" ausführbar machen und dann starten.
Der VDR muss dabei gestoppt und das dvb-ttpci-Modul geladen sein. Falls Readback-Warnings auftreten können diese ignoriert werden. Das Kernelmodul i2c-dev wird für das Auflisten der I2C-Busse zusätzlich benötigt:
modprobe i2c-dev
Den Patch sollte man jedoch erst anwenden, wenn der Full-TS-Mod erfolgreich getestet wurde. Im Original steht im EEPROM übrigens ff ff ff statt 4f 45 01, damit sollte man den Originalinhalt des EEPROMs wiederherstellen können, falls man den Patch wieder deaktivieren möchte. Der Inhalt des EEPROMs kann übrigens mittels
i2cdump <Bus> 0x55
ausgegeben werden.
Eintrag im syslog
Wenn der Kernel die modifizierte Karte erkennt, steht im syslog folgender Eintrag:
dvb-ttpci: full-ts mode enabled for saa7146 port B