Tux Linux Usergroup Ostwestfalen-Lippe


[Startseite] [Termine] [Lokales] [Mailingliste] [Mailarchive]
[LugWiki/Dokumentation] [LUG-Karten] [PGP-Keyserver] [About] [Impressum]
[Datenschutz] [Galerie] [Comics] [Suche]

Fernsehen mit einer TV Karte

Inhalt

Benutze Hard- und Software

  • Computer auf Basis von ia32 (Pentium III) mit PCI Bus
  • Hauppage WinTV/Radio (neues Modell mit Fernbedienung auf Basis des bt878 Chips)
  • Distribution: Debian unstable (sid, 28. März 2001)
  • Kernel 2.4.2-ac26
  • XFree86 4.0.2
  • xawtv 3.40

Diese Auswahl von Software spiegelt den aktuellen Stand am Zeitpunkt der Erstellung wieder. So ähnlich funktionierte dies auch mit der Kernel Serie 2.2.x, XFree86 3.3.x und Debian 2.2r0 ("potato").

Die Konfiguration des Kernels

Wer bisher noch nie einen Kernel kompiliert hat, der sollte sich an geeingneter Stelle zuerst Informationen einholen. Im Normalfalle sind die bei den Distributionen mitgelieferten Kernel auch mit den passenden Modulen ausgestattet. Wer diese einsetzen möchte, kann direkt zum nächsten Thema Das Laden der Kernel Module springen.

Im Untermenü Character devices/I2C support muß folgendes aktiviert sein, da der BTTV Treiber diese benötigt (Bei den Kerneln der Reihe 2.2 ist diese Option nicht vorhanden und wird auch nicht benötigt).

<M> I2C support
<M> I2C bit-banging interfaces

Nun kann im Untermenü Multimedia devices/Video For Linux der BTTV Treiber aktiviert werden:

<M> BT848 Video For Linux

Damit man nicht ohne Ton fernsehen muß muß nun auch noch unter "Sound" folgendes aktiviert sein:

<M> Sound card support
[...]
<M> TV card (bt848) mixer support

Der Kernel und die Module werden auf dem üblichen Wege installiert.

Das Laden der Kernel Module

In einigen Fällen kann durch einfaches Laden des BTTV Moduls schon durch automatische Konfiguration erfolgreich zur Mitarbeit überredet werden. Leider nicht so in meinem Fall.

marvin:~# insmod bttv
Using /lib/modules/2.4.2-ac26/kernel/drivers/media/video/bttv.o
bttv: driver version 0.7.57 loaded
bttv: using 2 buffers with 2080k (4160k total) for capture
bttv: Host bridge needs ETBF enabled.
bttv: Bt8xx card found (0).
bttv0: Bt878 (rev 17) at 00:12.0, irq: 18, latency: 64, memory: 0xfd5fe000
bttv0: subsystem: 0070:13ab (UNKNOWN)
bttv0: model: BT878( *** UNKNOWN *** ) [autodetected]
bttv0: enabling 430FX/VP3 compatibilty
tuner: chip found @ 0x61
bttv0: i2c attach [(unset)]
i2c-core.o: client [(unset)] registered to adapter [bt848 #0](pos. 0).
i2c-core.o: adapter bt848 #0 registered as adapter 0.
bttv0: i2c: checking for MSP34xx @ 0x80... not found
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found

Will der Treiber wie in meinem Fall die Karte nicht automatisch erkennen, dann steht nun die Lektüre von Documentation/video4linux/bttv/CARDLIST der Kernel Dokumentation an und suchen nun dort eine Karte, die der benutzten möglichst gleicht. In meinem Falle exisitiert der Eintrag card=10 - Hauppauge new (bt878). Benutze ich diesen, dann sieht das Ergebnis schon besser aus (vor dem Laden, muß das schon geladene Modul erst mittels rmmod bttv entfernt werden):

marvin:~# insmod bttv card=10
Using /lib/modules/2.4.2-ac26/kernel/drivers/media/video/bttv.o
bttv: driver version 0.7.57 loaded
bttv: using 2 buffers with 2080k (4160k total) for capture
bttv: Host bridge needs ETBF enabled.
bttv: Bt8xx card found (0).
bttv0: Bt878 (rev 17) at 00:12.0, irq: 18, latency: 64, memory: 0xfd5fe000
bttv0: subsystem: 0070:13ab (UNKNOWN)
bttv0: model: BT878(Hauppauge new (bt878)) [insmod option]
bttv0: enabling 430FX/VP3 compatibilty
bttv0: Hauppauge msp34xx: reset line init
tuner: chip found @ 0x61
bttv0: i2c attach [(unset)]
i2c-core.o: client [(unset)] registered to adapter [bt848 #0](pos. 0).
msp34xx: init: chip=MSP3415D-B3, has NICAM support
msp3410: daemon started
bttv0: i2c attach [MSP3415D-B3]
i2c-core.o: client [MSP3415D-B3] registered to adapter [bt848 #0](pos. 1).
i2c-core.o: adapter bt848 #0 registered as adapter 0.
bttv0: Hauppauge eeprom: model=61344, tuner=Philips FM1216 (5), radio=yes
bttv0: i2c: checking for MSP34xx @ 0x80... found
bttv0: i2c: checking for TDA9875 @ 0xb0... not found
bttv0: i2c: checking for TDA7432 @ 0x8a... not found

Nun werden direkt die passenden Untermodule mit den passenden Optionen geladen: tuner und msp34xx. Ein lsmod sollte nun so aussehen:

marvin:~# lsmod
Module Size Used by
bttv 52880 0 (unused)
tvaudio 8000 0 (autoclean) (unused)
msp3400 13392 1 (autoclean)
tuner 3984 1 (autoclean)
i2c-algo-bit 7040 1 [bttv]
i2c-core 12176 0 [bttv tvaudio msp3400 tuner i2c-algo-bit]
videodev 4736 3 [bttv]

Sollte wiedererwarten die TV-Karte nicht so leicht zum laufen zu bewegen zu sein, dann kann ich nur empfehlen die Dokumentation unter Documentation/video4linux/bttv/ zu lesen und mit den Optionen tuner=, card= und pll= herum zu spielen.

Die Programme und XFree86

Zum Test empfehle ich das Programm xawtv - dieses wird vom Mitauthor des BTTV Kernel Treibers gepflegt, sollte also in jedem Fall funktionieren. Der Author Gerd Knorr pflegt auch das Debian Packet.

Benutzer von XFree86 in der Version 3.3.x, sollten nun direkt fernsehen können. Benutzer von XFree86 4.0.x müssen darauf achten, daß das (XFree86) Modul "v4l" geladen wird. Dazu muß folgendes in der XF86Config (zu finden unter /etc, /etc/X11 oder als /etc/X11/XF86Config-4 - je nach Distribution) stehen:

Section "Module"
[...]
Load "v4l"
[...]
EndSection

Dies ist allerdings nicht nötig, wenn der sogenannte Overlay Modus nicht benutzt werden soll. Dieser ist aber sehr zu empfehlen. In diesem Modus kopiert die TV-Karte aus eigener Kraft das TV-Bild in den Speicher der Grafikkarte. Dadurch wird nur der PCI Bus belastet und der Prozessor hat keine Arbeit zu leisten, außer gelegentlich die aktuellen Fensterdaten zu aktualisieren.

Bei xawtv können mittels der Hoch und Runter Tasten zwischen den Kanälen umschalten. Mit der Taste "E" kann der "Channel Editor" zum dauerhaften Abspeichern der einzelnen Kanäle benutzt werden.

Radio

Wer Radio mit seiner TV Karte hören möchte der muß dem Treiber den Parameter "radio=1" übergeben, wenn dies nicht schon automatisch passiert. Mit den Programmen radio (aus dem xawtv Packet) und gradio sollte nun problemlos durch die Radioprogramme schaltbar sein.

VideoText

Mit dem Programm alevt kann bequem durch den VideoText des jeweilig eingeschalteten Senders geschaut werden.

Links

  • alevt - Dies ist ein sehr guter VideoText Betrachter. (leider zum Zeitpunkt des Schreibens nicht erreichbar)
  • BTTV Mini-HOWTO - Ein englisches HowTo (Wie zu tun...)
  • Gatos - Das Gatos Projekt versucht Treiber für ATIs All-In-Wonder zu erstellen.
  • Gnomovision - Ein Projekt, um ein Programm zum Fernsehen unter GNOME zu entwickeln. Leider noch nicht fertig.
  • kwintv - Ein KDE Programm zum Fernsehen.
  • Video TV HowTo - ein deutsches HowTo (Wie zu tun...)
  • WMtv - Ein Window Maker Dockapp, welches ein TV Bild bietet.
  • XawTV - Das Programm. Da es vom BTTV Entwickler entwickelt wird. sollte dieses Programm zur Überprüfung einer TV Karte benutzt werden.

Hinweise

Der Author ist Alain Schröder. Hinweise, Ergänzungen, etc sind immer willkommen. Einfach per eMail. Der Author übernimmt keinerlei Haftung!

Dieses Dokument unterliegt der OPL.

Zuletzt bearbeitet am: Mon, 9 Apr 2001 15:24:31 +0200