FF-Karten Full-TS Mod

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Ist es möglich, den Mod irgendwie treiberseitig automatisch zu erkennen, ohne "full_ts=1"?)
K (DVB-C Fujitsu Siemens Rev.C)
 
(29 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Allgemeines==
 
==Allgemeines==
 
===Idee und Entwicklung===
 
===Idee und Entwicklung===
Diese Idee des Umbaus von Full-Featured-DVB-Karten wurde von Oliver Endriss entwickelt.
+
Diese Idee des Umbaus von Full-Featured DVB-Karten wurde von [http://www.escape-edv.de/endriss/dvb-full-ts-mod/ Oliver Endriss] entwickelt, um die {{vdrportal board|74174|Bandbreitenbeschränkung}} der SAA711x Full-Featured-DVB-Karten aufzuheben.
 
+
Originalseite: http://www.escape-edv.de/endriss/dvb-full-ts-mod/
+
 
+
Er hebt die Bandbreitenbeschränkung der Full-Featured-DVB-Karten auf.
+
 
+
Weitere Infos unter: http://www.vdr-portal.de/board/thread.php?threadid=74174
+
 
+
-Diese Seite befindet sich noch im Aufbau.-
+
  
 
===Was genau bringt dieser Mod?===
 
===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 deutlich kleiner als bei Budget-Karten. Übersteigt die Bitrate diesen Wert, kommt es zu Datenverlust.
  
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 diese Modifikation werden die Daten wie bei Budget Karten direkt an den PCI-Bus gesendet.
 +
Nach der Umrüstung hat die FF-Karte die Transferleistung einer Budget-Karte.
  
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===
 
===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.''
 +
* Wird durch den Full-TS-Mod der DSP umgangen?
 +
: ''Ja.''
  
====Wird die Fullfeatured durch den Mod zu einer Budget-Karte? ====
+
* 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 der [[Budget-Patch]].''
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 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 ([[Full-featured-DVB-Karte 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? ====
+
* Welche Anpassungen an die DVB-Treiber sind nötig?
 +
: ''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.''
  
Ja, dies wurde auch schon getestet, erfordert aber Anpassungen im Treiber.
+
* Könnte man so auch eine Dual-Tuner Full-Featured-Karte realisieren?
Und einer der beiden Tuner hat immer noch die begrenzte Transferleistung, da dieser über den DSP geroutet wird.
+
: ''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==
 
==Hardware==
  
 
===Wie funktioniert der Mod?===
 
===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).  
+
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).
 
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===
 
===Welche Karten lassen sich umrüsten===
Alle auf dem Technotrend Design (''TT PCline Premium Family'') basierende [[Full-featured-DVB-Karte]]n (mit dem AV7110 und dem SAA7146) sollten sich umrüsten lassen, sofern der port_B des Sa7146 nicht schon belegt ist.
+
Alle auf dem Technotrend Design (''TT PCline Premium Family'') basierende [[Full-featured-DVB-Karte]]n (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.
 
Dies ist jedoch je nach Revision der Karte mit mehr oder weniger Aufwand verbunden.
 +
Erfolgreich getestet wurden bisher:
 +
* DVB-S:  Rev 1.3, 1.5, 2.1, 2.2, 2.3
 +
* DVB-C:  Rev 2.1
  
Erfolgreich gestestet wurden bisher (aktueller Stand [http://www.vdr-portal.de/board/thread.php?threadid=74174 hier] )
+
====DVB-S Rev 1.x/2.1 und DVB-C Rev 2.1====
 
+
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.
+
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 [http://www.escape-edv.de/endriss/dvb-full-ts-mod Seite von Oliver Endriss] sehr genau beschrieben.
  
 
Benötigte Bauteile:
 
Benötigte Bauteile:
* Feinen Fädeldraht/Lackdraht (z. B. aus einer alten Spule), (kls hat da auch eine [http://www.vdr-portal.de/board/thread.php?postid=705516#post705516 kleine Platine entwickelt], die das Löten vereinfachen sollte:  )
+
* Feiner Fädeldraht/Lackdraht
* Dickeren Kupferlackdraht für die Spannungsversorgung
+
* Dicker 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.)
+
* Abblockkondensator 100 nF für die Spannungsversorgung
* 74HC74 (in SO-14 ist der gut lötbar)
+
* 74HC74
* 74HC4040 (in SO-16 ist der gut lötbar)
+
* 74HC4040
 
+
 
+
  
 
Hier einige Bilder
 
Hier einige Bilder
 
 
*[http://www.escape-edv.de/endriss/dvb-full-ts-mod/full-ts-prototype.jpg Bild gemoddete DVB-S 1.3 (UFO)]
 
*[http://www.escape-edv.de/endriss/dvb-full-ts-mod/full-ts-prototype.jpg Bild gemoddete DVB-S 1.3 (UFO)]
*[http://www.vdr-portal.de/board/attachment.php?attachmentid=17950 Bild gemoddete DVB-S (ogawoga)]
+
*[http://www.escape-edv.de/endriss/dvb-full-ts-mod/full-ts-rev-1_5.jpg Bild gemoddete DVB-S 1.5 (UFO)]
*[http://www.vdr-portal.de/board/attachment.php?attachmentid=18075 Bild gemoddete DVB-S 1.5(Negge)]
+
*{{vdrportal attachment|17950|Bild einer modifizierten DVB-S TV-Karte (ogawoga)}}
*[http://www.vdr-portal.de/board/attachment.php?attachmentid=18076 Bild gemoddete DVB-S 1.5 - Kabelverbindungen gesichert(Negge)]
+
*{{vdrportal attachment|18075|Bild einer modifizierten DVB-S 1.5 (Negge)}}
 +
*{{vdrportal attachment|18076|Bild einer modifizierten DVB-S 1.5 - Kabelverbindungen gesichert (Negge)}}
  
 
====DVB-S Rev. 2.2====
 
====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.
 
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 Spannungsversorung der beiden ICs der Teilerschaltung).
+
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):
 
Benötigte Bauteile (damit es auf die Platine passt):
* Fädeldraht/Drahtbrücke/0Ohm-Widerstand zur 3,3 V Spannungsversorung
+
* Fädeldraht/Drahtbrücke/0Ohm-Widerstand zur 3,3 V Spannungsversorgung
 
* 2x Abblockkondensator, Größe 0805, Keramik 100 nF
 
* 2x Abblockkondensator, Größe 0805, Keramik 100 nF
 
* 74HC74 (TSSOP)
 
* 74HC74 (TSSOP)
Zeile 100: Zeile 69:
  
 
Hier ein paar passende Bilder:
 
Hier ein paar passende Bilder:
*[http://www.vdr-portal.de/board/attachment.php?attachmentid=17870 Bild unbestückte DVB-S 2.2 (seamen)]
+
*{{vdrportal attachment|17870|Bild unbestückte DVB-S 2.2 (seamen)}}
*[http://www.vdr-portal.de/board/attachment.php?attachmentid=18341 Bild bestückte DVB-S 2.2 (master_red)]
+
*{{vdrportal attachment|18341|Bild bestückte DVB-S 2.2 (master_red)}}
  
 
====DVB-S Rev. 2.3====
 
====DVB-S Rev. 2.3====
Zeile 112: Zeile 81:
 
* 74HC4040 in TSSOP  
 
* 74HC4040 in TSSOP  
 
* (ggf. 2 x Abblockkondensator, Größe 0805, Keramik 100 nF, sollte aber schon bestückt sein)
 
* (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:
 
Einige Bilder:
*[http://vdr-portal.de/board/attachment.php?attachmentid=17903 Bild unbestückte DVB-S 2.3 (Negge)]
+
*{{vdrportal attachment|17903|Bild unbestückte DVB-S 2.3 (Negge)}}
*[http://vdr-portal.de/board/attachment.php?attachmentid=18276 Bild bestückte DVB-S 2.3 (tron10000)]
+
*{{vdrportal attachment|18276|Bild bestückte DVB-S 2.3 (tron10000)}}
*[http://vdr-portal.de/board/attachment.php?attachmentid=18288 Bild bestückte DVB-S 2.3 (x-jojo) ]
+
*{{vdrportal attachment|18288|Bild bestückte DVB-S 2.3 (x-jojo)}}
 +
*{{vdrportal attachment|27305|Bild bestückte DVB-S 2.3 (Dirk)}}
  
==Software==
+
====DVB-C Fujitsu Siemens Rev.C====
  
=== Wie installiere ich den Treiber/die Kernel-Module? ===
+
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.
Derzeit (stand 1.4.2008) muss der Treiber aus den hg-repository-quellen von Oliver Endriss kompiliert werden. Die aktuellen HG-Treiber kompilieren allerding im Moment nur ab Kernel 2.6.23?
+
  
*http://linuxtv.org/hg/~endriss/v4l-dvb-av7110-full-ts-mod/
+
{| border=0 cellpadding=2 cellspacing=0
 +
|[[Bild:Gesamte_Karte_FuSi_DVB-C_Ref_C.jpg|thumb|none|Signalleitungen und Anschlüsse der FuSi DVB-C]]
 +
|}
  
Prinzipiell ist das vorgehen "make menuconfig, make, make install".
+
Aufgrund der Stiftleisten lässt sich hier der Full-TS-Mod leicht durchführen. Eine kleine Platine, die mit den beiden ICs und den Blockkondensatoren bestückt ist, wird auf beiden Stiftleisten gesteckt.
  
Im Rahmen dieses Mods kann jedoch keine allgemeine Anleitung für das kompilieren von Kernel-Modulen gegeben werden. Hier aber ein paar Links auf entsprechende Anleitungen:
+
{| border=0 cellpadding=2 cellspacing=0
 +
|[[Bild:FuSi_DVB-C_Ref_C_mit_Full-TS-Mod.jpg|thumb|none|Augesteckter Full-TS Mod auf der FuSi DVB-C]]
 +
|[[Bild:Full-TS-Mod_für_FuSi_DVB-C_Ref_C.jpg|thumb|none|Bestückte Platine für Full-TS Mod der FuSi DVB-C]]
 +
|}
  
*[[DVB Installation v4l-dvb]]
+
'''Bestückungsliste:'''<br>
*[http://www.vdr-portal.de/board/thread.php?threadid=51259 ctvdr/Debian 3.1 (Sarge) Kernelupdate von kernel.org + lirc + cdfs (+ hg-dvb + ivtv)]
+
IC1: SN74HC74N<br>
*[http://www.vdr-portal.de/board/thread.php?threadid=63059 Debian 4.0 (Etch) Kernelupdate von kernel.org + Module für lirc + cdfs (+ hg-dvb)]
+
IC2: MC74HC4040N<br>
 +
C1: 100nF<br>
 +
C2: 100nF<br>
 +
S1: 26er Sockelleiste<br>
 +
S2: 20er Sockelleiste<br>
 +
S3: Steckkupplung von einer alten Soundkarte<br>
  
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)
+
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.
  
=== Wie lade ich den Treiber / das Modul um den FullTS-Mod zu aktivieren? ===
+
* * * 4x unbestückte Platinen und Eagle-Planungsdaten sind noch vorhanden und können versandt werden. Bei Bedarf über www.vdr-portal.de eine Nachricht an "mpenno" senden * * *
  
Dazu muss der DVB-Treiber mit der Option driver "full_ts=1" geladen werden.
+
==Software FAQ==
 +
* Wie installiere ich den Treiber/die Kernel-Module?
 +
: Derzeit (Stand 04/2008) muss der Treiber aus den [http://linuxtv.org/hg/~endriss/v4l-dvb-av7110-full-ts-mod/ hg-repository-quellen von Oliver Endriss] kompiliert werden. 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).
  
modprobe dvb-ttpci full_ts=1
+
* 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:'' <pre>modprobe dvb-ttpci full_ts=1</pre>
  
=== Wie kann ich prüfen ob mein Kernel-Modul den Full-TS-Mod unterstüzt? ===
+
* Wie kann ich prüfen ob mein Kernel-Modul den Full-TS-Mod unterstützt?
 +
: ''<pre>modinfo dvb-ttpci | grep full_ts</pre> Dabei muss <pre>parm:          full_ts:enable code for full-ts hardware modification: 0 disable (default), 1 enable (int)</pre> angezeigt werden.''
  
Mit
+
* Was passiert wenn ein Karte ohne Hardware-Änderungen mit der full_ts=1 Option geladen wird?
modinfo dvb-ttpci | grep full_ts
+
: ''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).''
  
Dabei sollte dann ein
+
* 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?
parm:          full_ts:enable code for full-ts hardware modification: 0 disable (default), 1 enable (int)
+
: ''Kein Problem, wenn das EEPROM richtig programmiert wurde. Genau deshalb kann eine Kennung in das EEPROM geschrieben werden (siehe nächste Frage).''
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 gemoddeter 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 Mod irgendwie treiberseitig automatisch zu erkennen, ohne "full_ts=1"?===
+
 
+
Ja, ist im Treiber bereits eingebaut.
+
Damit dies funktioniert, muss man einmalig das Skript
+
  
 +
* 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 [http://www.lm-sensors.org/wiki/I2CTools i2c-tools]).{{Box Datei | full-ts.sh |
 
  #!/bin/bash
 
  #!/bin/bash
 
  if [ -z $1 ] ; then
 
  if [ -z $1 ] ; then
Zeile 180: Zeile 152:
 
  sleep 1
 
  sleep 1
 
  i2cset -y $1 0x55 2 0x01 b
 
  i2cset -y $1 0x55 2 0x01 b
 +
}}
 +
: ''Obiges Skript 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:<pre>modprobe i2c-dev</pre> 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 <pre>i2cdump <Bus> 0x55</pre> ausgegeben werden.''
  
aufrufen (benötigt i2ctools). Der VDR muss dabei gestoppt und das dvb-ttpci-Modul geladen sein. Falls Readback-Warnings auftreten können diese ignoriert werden. Das Modul i2c-dev wird für das Auflisten der I2C-Busse zusätzlich benötigt:
+
* Eintrag im syslog: woran erkenne ich so eine Karte?
 
+
: ''Wenn der Kernel die modifizierte Karte erkennt, steht im syslog folgender Eintrag:<pre> dvb-ttpci: full-ts mode enabled for saa7146 port B</pre>''
modprobe i2c-dev
+
 
+
Den Patch sollte man jedoch erst anwenden, wenn der Mod erfolgreich getestet wurde. Im Original steht im EEPROM übrigens ff ff ff ff statt 4f 45 01 00, 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.
+
==Links==
 +
# [http://www.vdr-portal.de/board/thread.php?postid=705516#post705516 Platine von kls]
  
[[Kategorie:Hardware]]
+
[[Kategorie:FF-Karten Umbauten]]
[[Kategorie:DVB]]
+

Aktuelle Version vom 21. September 2014, 14:10 Uhr

Inhaltsverzeichnis

[Bearbeiten] Allgemeines

[Bearbeiten] Idee und Entwicklung

Diese Idee des Umbaus von Full-Featured DVB-Karten wurde von Oliver Endriss entwickelt, um die Bandbreitenbeschränkung der SAA711x Full-Featured-DVB-Karten aufzuheben.

[Bearbeiten] 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 deutlich kleiner als bei Budget-Karten. Übersteigt die Bitrate diesen Wert, kommt es zu Datenverlust.

Durch diese Modifikation werden die Daten wie bei Budget Karten direkt an den PCI-Bus gesendet. Nach der Umrüstung hat die FF-Karte die Transferleistung einer Budget-Karte.

[Bearbeiten] 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.
  • 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 der Budget-Patch.
  • Welche Anpassungen an die DVB-Treiber sind nötig?
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.

[Bearbeiten] Hardware

[Bearbeiten] 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).

[Bearbeiten] 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:

  • DVB-S: Rev 1.3, 1.5, 2.1, 2.2, 2.3
  • DVB-C: Rev 2.1

[Bearbeiten] DVB-S Rev 1.x/2.1 und 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 sehr genau beschrieben.

Benötigte Bauteile:

  • Feiner Fädeldraht/Lackdraht
  • Dicker Kupferlackdraht für die Spannungsversorgung
  • Abblockkondensator 100 nF für die Spannungsversorgung
  • 74HC74
  • 74HC4040

Hier einige Bilder

[Bearbeiten] 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:

[Bearbeiten] 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:

[Bearbeiten] 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.

Signalleitungen und Anschlüsse der FuSi DVB-C

Aufgrund der Stiftleisten lässt sich hier der Full-TS-Mod leicht durchführen. Eine kleine Platine, die mit den beiden ICs und den Blockkondensatoren bestückt ist, wird auf beiden Stiftleisten gesteckt.

Augesteckter Full-TS Mod auf der FuSi DVB-C
Bestückte Platine für Full-TS Mod der FuSi DVB-C

Bestückungsliste:
IC1: SN74HC74N
IC2: MC74HC4040N
C1: 100nF
C2: 100nF
S1: 26er Sockelleiste
S2: 20er Sockelleiste
S3: Steckkupplung von einer alten Soundkarte

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.

  • * * 4x unbestückte Platinen und Eagle-Planungsdaten sind noch vorhanden und können versandt werden. Bei Bedarf über www.vdr-portal.de eine Nachricht an "mpenno" senden * * *

[Bearbeiten] Software FAQ

  • Wie installiere ich den Treiber/die Kernel-Module?
Derzeit (Stand 04/2008) muss der Treiber aus den hg-repository-quellen von Oliver Endriss kompiliert werden. 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?
modinfo dvb-ttpci | grep full_ts
Dabei muss
parm:           full_ts:enable code for full-ts hardware modification: 0 disable (default), 1 enable (int)
angezeigt werden.
  • 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).
Datei
full-ts.sh
#!/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


Obiges Skript 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: woran erkenne ich so eine Karte?
Wenn der Kernel die modifizierte Karte erkennt, steht im syslog folgender Eintrag:
 dvb-ttpci: full-ts mode enabled for saa7146 port B

[Bearbeiten] Links

  1. Platine von kls
Ansichten
Meine Werkzeuge
Navigation
mitmachen
Werkzeuge