staging.inyokaproject.org

BT878

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Diese Anleitung beschreibt, wie man eine TV-Karte mit Bt878-Chipsatz installiert. Das notwendige Treibermodul für diesen Chipsatz ist in jeder Ubuntu-Version bereits enthalten. Bei vielen Karten findet das Modul selbstständig heraus, welche Optionen für den Betrieb der Karte notwendig sind, bei anderen Karten muss man nachhelfen.

Im ersten Teil der Anleitung wird beschrieben, wie das TV-Bild zum Laufen gebracht wird. Sound-Probleme werden weiter unten getrennt behandelt.

TV-Software

Generell benötigt man natürlich eine Software zum Fernsehen. Wie so oft gibt es hierfür zahlreiche Programme. Zunächst muss folgendes Paket installiert [1] werden:

  • xawtv (universe [2])

Befehl zum Installieren der Pakete:

sudo apt-get install xawtv 

Oder mit apturl installieren, Link: apt://xawtv

Sobald die Karte funktioniert kann natürlich auch ein anderes Programm zum Fernsehen verwendet werden. Eine Übersicht bietet TV.

Testen der Karte

  1. Antennenstecker einstecken

  2. Terminal öffnen [3]

  3. xawtv im Terminal starten

  4. Mittels Pfeil hoch die Kanäle durchzappen

Kommt auf einem Kanal ein Bild, dann läuft die Karte. Möglicherweise bestehen noch Probleme beim Sound, oder der Overlaymodus ist nicht aktiviert. Natürlich kann auch eine Senderliste für xawtv erstellt werden, um nur noch belegte Kanäle angezeigt zu bekommen. Infos dazu weiter unten.

Hat der erste Test nicht geklappt einfach hier weitermachen:

Was der Treiber über die Karte weiß

Zuerst müssen wir herausfinden, was der Treiber über die Karte weiß. Dazu in einem Terminal [3] den folgenden Befehl eingeben:

dmesg | grep bttv  

Das Resultat des Befehls sieht z.B. so aus (auf die wichtigen Infos gekürzt):

bttv0: using: Lifeview FlyVideo 2000 /FlyVideo A2/ Lifetec LT 9415 TV [LR90] [card=54,insmod option]
...
bttv0: using tuner=5
...
bttv0: registered device video0
bttv0: registered device vbi0

Die wichtigen Informationen sind:

  • die verwendete Karten-Nummer. Hier: 54

  • der verwendete Tuner-Nummer. Hier: 5

  • das verwendete Video-Device. Hier: video0

  • das verwendete vbi-Device. Hier: vbi0

Wird hier gar nichts angezeigt, dann wird es schwierig. Möglicherweise hat die eingebaute TV-Karte keinen Chipsatz, der von bttv unterstützt wird? Bitte im Forum nachfragen. Dabei bitte die Ausgaben von

lspci 

angeben.

xawtv mit Optionen starten

Eventuell funktioniert xawtv nicht richtig, weil es das falsche Video-Device verwendet. Dieses Problem zeigt sich beispielsweise dadurch, dass man das Bild einer Webcam sieht oder xawtv entsprechende Fehlermeldungen ausgibt. Dann muss xawtv mit den entsprechenden Optionen gestartet werden. Dabei bitte "video0" gegen das entsprechende Videogerät austauschen.

xawtv -c /dev/video0 

In einigen Fällen tritt hierbei folgender Fehler auf:

This is xawtv-3.94, running on Linux/i686 (2.6.15-23-386)
X Error of failed request:  XF86DGANoDirectVideoMode
  Major opcode of failed request:  136 (XFree86-DGA)
  Minor opcode of failed request:  1 (XF86DGAGetVideoLL)
  Serial number of failed request:  63
  Current serial number in output stream:  63

Eventuell hilft hier dieser Tipp 🇩🇪.

xawtv -c /dev/video -remote -global:filter "linear bend" 

Treiberoptionen

Problembeschreibung

Hierbei ist das Problem, dass die Karte vom Treiber nicht richtig automatisch erkannt wird. Symptome sind z.B.

  • Beschreibung hinter der Kartennummer entspricht nicht der eingebauten TV-Karte

  • Tuner-Nummer ist -1

Richtige Optionen finden

Variante 1: Suchmaschine

Oft kann man mit einer Suchmaschine die richtigen Optionen für seine TV-Karte herausfinden. Dazu muss man natürlich den Namen des Herstellers bzw. den Typ der Karte wissen (Aufdruck auf der Karte, Verpackungsaufdruck, usw.). Dabei gilt meist: Je billiger die Karte desto weniger weiß man was man hat.

Eine erste Suchanfrage könnte so lauten

Hersteller + Typ + bttv + Linux

Oft führt dies schnell und einfach zur richtigen Karten- und Tuner-Nummer.

Hinweis:

Bitte unten im Anhang neue Karten-Typen, die nicht automatisch erkannt werden, ergänzen.

Variante 2: BruteForce

Diese Methode ist absolut suboptimal und verspricht nicht unbedingt erfolgreich zu sein. Es sollten auf jeden Fall zuerst alle anderen Möglichkeiten ausgenutzt werden. Also gemeint ist: Alle Karten- bzw. Tuner-Nummer-Kombinationen testen. Es gibt Karten-Nummern bis zu 50, Tuner-Nummern gehen bis 5, also insgesamt "nur" 5 * 50 = 250 Kombinationen.

Die Vorgehensweise:

  1. Treiber-Module mit der zu testenden card/tuner Option laden (siehe unten, "Treiberoptionen testen")

  2. TV-Karte testen (entweder manuell, wie oben beschrieben, oder wie unten "Senderliste mit scantv" suchen lassen)

  3. Kein Kanal mit Bild gefunden? Einfach wieder bei 1. anfangen

Treiberoptionen testen

Führt die Recherche zu einer Karten-/Tuner-Nummer, testet man natürlich ob sie auch bei der eigenen TV-Karte funktioniert.

Zuerst muss das Treiber-Modul entladen werden, dann mit den geänderten Optionen neu geladen werden. Das ganze geschieht in einem Terminal [3]. Folgende Befehle sind dazu erforderlich:

sudo rmmod bt878 bttv
sudo modprobe bttv card=XX tuner=Y 

Jetzt kann man testen, ob der Treiber mit den richtigen Optionen läuft (siehe Was der Treiber über die Karte weiß) und dann zum Testen der Karte gehen.

Treiberoptionen speichern

Läuft die Karte einwandfrei, dann müssen die Treiber-Optionen abgespeichert werden, damit Linux sie nach einem Neustart direkt verwendet. Es muss im Verzeichnis /etc/modprobe.d/ eine Datei mit folgendem Inhalt erstellt werden

options bttv card=XX tuner=Y

Der Dateiname ist dabei nicht relevant. Dies erfordert einen Editor [4] mit Root-Rechten. Es lässt sich aber auch mit folgendem Befehl im Terminal [3] erledigen:

echo "options bttv card=XX tuner=Y" | sudo tee /etc/modprobe.d/tv_bttv 

Overlay-Modus

Ist in xawtv der ressourcenschonende Overlay-Modus nicht verfügbar (Einstellung "capture: overlay" bei Rechtsklick auf TV-Fenster), dann fehlt möglicherweise dem XServer das v4l-Modul. Damit dieses geladen wird muss die Datei /etc/X11/xorg.conf angepasst werden.

In einem Editor [4] muss in der Sektion "Module" die Zeile

Load    "v4l"

vor der Zeile

Load    "vbe"

eingefügt werden.

Alternativ kann man auch den XServer neu einrichten lassen. In beiden Fällen ist anschließend ein Neustart des X-Servers (ggf. über Strg + Alt + ) erforderlich.

Hinweis:

Bei der Installation der Nvidia-Treiber geht diese Einstellung verloren, also zuerst die Nvidia-Treiber installieren.

Senderliste für xawtv

Es kann für xawtv eine Liste der verfügbaren TV-Kanäle erstellt werden. Viele andere TV-Programme verwenden ebenfalls diese Liste. Der Befehl "scantv" erstellt die Liste interaktiv in einem Terminal [3].

Probehalber führt man scantv zuerst einmal aus und schaut sich an, ob Sender gefunden werden (Video-Device und Vbi-Device anpassen):

scantv -c /dev/video0 -C /dev/vbi0  

dabei werden einige Dinge abgefragt (in Klammern die richtigen Antworten für Mitteleuropa):

  • TV-Norm (5: PAL)

  • Frequenz-Tabelle (5: europe-west)

Werden Sender gefunden, dann lässt man scantv die Konfigurationsdatei für xawtv erstellen:

scantv -c /dev/video0 -C /dev/vbi0 -o ~/.xawtv 

Ton

Generell muss man sagen, dass der Ton, den viele analoge TV-Karten ausgeben, oft von schlechter Qualität ist (kein Stereo, ...). Deshalb ist es empfehlenswert, den Ton per Line-In in den Rechner einzuspeisen (z.B. vom Sat-Receiver).

Es kann unter Umständen vorkommen, dass der Ton nicht funktioniert. Das kann daran liegen, dass das Modul "msp3400" nicht geladen ist. Um es zu laden, öffnet man ein Terminal [1] und gibt

sudo modprobe msp3400 

ein. Das Modul wird nicht automatisch beim Systemstart geladen. Man kann es jedoch wie in [5] beschrieben in die /etc/modules eintragen.

Hauppauge WinTV/PVR

Eventuell betrifft dies auch andere TV-Karten mit MSP34xx Chip. Bei diesen Karten kann es vorkommen, dass kein Ton ausgegeben wird. Die Ausgabe des Befehls

dmesg | grep bt 

enthält die folgenden Zeilen

[17180263.912000] bttv0: no altera firmware [via hotplug]
[17180264.008000] bttv0: i2c: checking for MSP34xx @ 0x80... not found

Die besagte Firmware ist für die Initialisierung des MSP34xx verantwortlich und in den Windowstreibern enthalten. Aus Windows die Datei c:\windows\system32\hauppauge\hcwAMC.rbf nach z.B. /lib/firmware/2.6.15-2 (Also das Firmware-Verzeichnis des genutzten Kernels) kopieren und in hcwamc.rbf umbenennen. Danach die Module neu laden und den Ton genießen. Nochmal Schrittweise:

sudo cp ~/Desktop/hcwamc.rbf /lib/firmware/`uname -r`/hcwamc.rbf
sudo rmmod bt878 bttv tuner
sudo modprobe bttv 

Pinnacle PCTV Sat

Der Treiber von Conexant CX24110 DVB-S Karten ist unter Ubuntu Dapper im aktuellen Ubuntu-Kernel (2.6.15-23 und 2.6.15-25) kaputt. Ein Patch ist hier 🇬🇧 verfügbar. Dazu müssen die Kernelquellen installiert werden, die fehlenden Zeilen hinzugefügt werden, und der Kernel neu gebaut werden, eine Anleitung dazu findet man z.B. unter Kernel.

Pinnacle PCTV Studio/Rave - Sound aktivieren

Die PCI-Pinnacle PCTV-Karte (Antenne + Klinke + SVHS + Composite) wird bei ubuntu 8.04 (Kernel 2.6.24-23.48 generic) als card=39, tuner=33 erkannt, doch fehlt zu den Fernsehbildern der Sound. Durch Neuinstallieren der module kann man dann am Klinkenstecker-Ausgang der TV-Karte den Ton hören. Folgende Befehle bewirken dies:

sudo rmmod bt878 tuner bttv
sudo modprobe tuner
sudo modprobe bt878
sudo modprobe bttv 

Zusätzlich kann man mit einem Kabel den 4-Pin-internen Sound-Anschluss der TV-Karte an den CD-ROM-Anschluss der Soundkarte/Mainboard anschließen. Danach ist der TV-Sound über den CD-Regler des Sound-Mixers steuerbar und auch am line-out der Soundkarte verfügbar.

Eine automatische Umsetzung durch Optionen in /etc/modules oder /etc/module.d/ gelang mir leider nicht.

Als Workaround kann man in /etc/rc.local die Befehle ablegen, so dass diese am Ende des Bootvorganges automatisch ausführt werden:

#rc.local
# This script is executed at the end of each multiuser runlevel
# 
# Reinstallation der TV-Karte
  rmmod bt878 tuner bttv
  modprobe tuner
  modprobe bt878
  modprobe bttv
exit 0 

Anhang

Treiberoptionen für TV-Karten

Hier soll eine Tabelle entstehen, in der die richtigen Optionen für den bttv-Treiber für verschiedene TV-Karten aufgelistet sind. Bitte nur Karten eintragen, die nicht automatisch von bttv richtig erkannt werden.

Hersteller Typ card tuner radio
Hercules Smart TV2 100 38 -
LeadTek WinFast 2000 XP 34 - (oder 43) 1
Medion MD 9415 54 5 -
ProVideo (unbekannt) 42 (unbekannt) -
KNC1 TV Station RDS 53 5 -
Askey Magic TView99 CPH05X/06X 24 1 -
Powercolor MTV878/MTV878R/MTV878F 75 5 -
Lucky Star Conference TV 21 1(?) -

Diese Revision wurde am 3. Mai 2011 20:53 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Hardware, TV