Archiv für den Monat: November 2006

HOWTO: Hauppauge HVR 900 DVB-T Tuner und verwandte Modelle unter Linux nutzen

Diese Anleitung gilt nur bis Kernel 2.6.23.X.

Ab Kernel 2.6.24 funktioniert nur der Userspace Treiber, der auf der Entwicklerseite zu haben ist.

Hier ist die Anleitung für Nutzer ab Kernel 2.6.24: http://konstantin.filtschew.de/blog/2008/07/17/…/

Neuerungen seit meiner letzten Anleitung:
————————————-
Die Entwickler haben etliche Fortschritte in den Video4Linux Komponenten durchgeführt. Als größte und für jeden Benutzer wichtigste Neuerung ist die zur Verfügung Stellung der schon convertierten Firmware auf den Seiten(ich stelle dafür nur den Webspace zur Verfügung). Damit erspart man sich das Extrahieren und Convertieren der Firmware. Dadurch fällt auch die größte und vor allem am häufigsten aufgetrene Hürde bei der Inbetriebnahme des DVB-T Tuners.
Hiermit möchte ich den Entwicklern für die tolle Arbeit danken, da damit wirklich jedem geholfen ist. Hoffentlich wird es dadurch keine rechtlichen Schwierigkeiten geben, aber das wurde bestimmt erfragt/bestätigt.

Hauppauge HVR 900 unter Linux nutzen:
————————————-
Da die analoge Welt nur 3-4 Sender enthält und bald abgeschaltet wird, gehe ich nicht weiter auf das Thema ein.

Die Installation unter Linux stellt sich natürlich komplizierter als unter Windows dar, aber das sollte Keinen abschrecken, da meine Anleitung euch helfen sollte die Installation schnell und sicher zu überstehen. 😉

1. Um die aktuellen Quellen von der linuxtv.org Seite zu holen, muss man sich die Software Mercurial installieren.
Unter Debian und Derivaten führt der Befehl:

apt-get install mercurial

zum Erfolg.
Unter Gentoo und Derivaten führt man den Befehl:

emerge mercurial

aus.

Oder Sie installieren sich Mercurial direkt aus den Sourcen von der Mercurial Seite.

2. Eine aktuelle Kernel Version ist leider Pflicht für den Betrieb der Karte. Deswegen sollte sich jeder Benutzer einen aktuelle Kernel Version installieren. Die älteste zu verwendete Version ist 2.6.15 nach dem Heutigen(2006-11-29) Stand dieses Artikels. Ich beziehe mich auf die fast aktuelle, aber mittlerweile weit verbreitete Kernel Version 2.6.18.X. Heute ist die Version 2.6.19 erschienen, aber das sollte kein Problem darstellen. Änderungen zu dem neuen Kernel, falls eine überhaupt da ist, werde ich nachreichen.
3. Jetzt lädt man sich zuerst die Quellen runter. Dieses erfolgt mit dem Befehl:

Für die stabilen Treiber (bis Kernel 2.6.20):

$ hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel
$ cd v4l-dvb-kernel

Für den Entwicklungszweig (ab Kerkel 2.6.21 notwendig):

$ hg clone http://mcentral.de/hg/~mrec/v4l-dvb-experimental
$ cd v4l-dvb-experimental

4. Doch noch ein bisschen Firmware.

Abhängig vom dem Modell des Recievers ist noch immer eine Firmware nötig. Allerdings muss Diese von nur runtergeladen und in den Ordner /lib/firmware kopiert werden.

Firmware v1 ist für die folgenden Geräte nötig:

  • Terratec Cinergy Hybrid T XS (french edition)
  • Terratec Cinergy T XS
  • DNT DA2 Hybrid
  • Kworld 350

So lädt man sich die Firmware runter:

cd /lib/firmware
sudo wget http://konstantin.filtschew.de/v4l-firmware/firmware.tgz
sudo tar xvzf firmware.tgz

——————————————————————————-

Firmware v2 ist für die folgenden Geräte nötig:

  • MSI DigiVox A/D
  • Kworld 310U

So lädt man sich die Firmware runter:

cd /lib/firmware
sudo wget http://konstantin.filtschew.de/v4l-firmware/firmware_v2.tgz
sudo tar xvzf firmware_v2.tgz

——————————————————————————-

Firmware v3 ist für folgende Geräte nötig:

  • HVR 900 B2C0 (Die nummer steht auf der Unterseite auf dem Sticker)
  • HVR 900 A1C0
  • Terratec Cinergy Hybrid T XS
  • Pinnacle PCTV Hybrid Pro

So lädt man sich die Firmware runter:

cd /lib/firmware
sudo wget http://konstantin.filtschew.de/v4l-firmware/firmware_v3.tgz
sudo tar xvzf firmware_v3.tgz

——————————————————————————-

Firmware v4 ist für folgende Geräte nötig:

  • Pinnacle HD Pro Stick (North American version, NTSC/ATSC)

So lädt man sich die Firmware runter:

cd /lib/firmware
sudo wget http://konstantin.filtschew.de/v4l-firmware/firmware_v4.tgz
sudo tar xvzf firmware_v4.tgz

——————————————————————————-

Jetzt eine kleine Erklärung was eine Firmware ist. Wem es ums verstehen geht, der liest es sich durch, alle Anderen können getrost bei dem nächsten Punkt weiter machen!

Firmware: Eine Firmware ist ein Programm, dass direkt im Gerät ausgeführt wird. In unserem Fall wird beim Laden des Kernel-Modules(Treiber) für den DVB-T Reciever die Firmware in den Reciever geladen. Diese bleibt in dem Reciever bestehen, bis man das Kernel-Modul(Treiber) entfernt oder den Reciever absteckt.
Es gibt nichts zu Befürchten, da es unter Windows auf die selber Art und Weise funktioniert. Es werden keine Informationen dauerhaft in den DVB-T Reciever geschrieben. Somit wird die Funktionlität unter Windows oder auf anderen Computer in keinester Weise beeinträchtigt oder verändert. Wenn man auch die falsche Firmware wählt, der Reciever wird einfach nicht funktionieren, aber nicht beschädigt. Allerdings würde ich da nicht 100%ig drauf setzen und sich den Stress ersparen und nach dem genauen Modell des Recievers schauen und die richtige Firmware wählen. 😉

5. Jetzt wechselt man mit dem Befehl:

cd v4l-dvb-kernel

in das Verzeichnis in das Sie die Video4Linux Komponenten(Punkt 2) runtergeladen haben.
v4l-dvb-kernel/

und erstellt mit den folgenden Befehlen die Kernel-Module:

make
sudo make install

Für „make install“ sind Root-Rechte erforderlich, da man mit dem Befehl den Kernel Modul und weitere System-Komponenten verändert, ergänzt oder hinzufügt.

6. Als nächsten Schritt sollte man alle schon geladenen dvb-Komponenten aus dem Kernel entladen.

Der Befehl „lsmod“ sollte euch helfen. Dieser Befehl listet alle geladenen Modulle auf.

Mein Tip: macht euch nicht das Leben schwer und startet kurz den Rechner neu, ohne den DVB-T Tuner eingesteckt zu haben.

8. Jetzt ist die Installation fertig und ihr müsste nur noch das Modul laden:

modprobe em2880-dvb

Damit sollte euer DVB-T Tuner bereit für den Betrieb sein. Der Befehl „dmesg“ sollte euch verraten, ob alles gut genangen ist oder noch was fehlt.

So sieht meine dmesg Ausgabe aus:
—————————— copy —————————
Linux video capture interface: v2.00
em28xx v4l2 driver version 0.0.1 loaded
usbcore: registered new driver em28xx
Tuner: registering extension (Xceive 3028 Tuner)
Tuner: registering extension (MT2060 Silicon Tuner)
Em28xx: Initialized (Em2880 DVB Extension) extension
usb 4-4: new high speed USB device using ehci_hcd and address 6
usb 4-4: configuration #1 chosen from 1 choice
em28xx new video device (2040:6500): interface 0, class 255
em28xx #0: Alternate settings: 8
em28xx #0: Alternate setting 0, max size= 0
em28xx #0: Alternate setting 1, max size= 0
em28xx #0: Alternate setting 2, max size= 1448
em28xx #0: Alternate setting 3, max size= 2048
em28xx #0: Alternate setting 4, max size= 2304
em28xx #0: Alternate setting 5, max size= 2580
em28xx #0: Alternate setting 6, max size= 2892
em28xx #0: Alternate setting 7, max size= 3072
attach_inform: eeprom detected.
em28xx #0: i2c eeprom 00: 1a eb 67 95 40 20 00 65 50 12 5c 03 82 1e 6a 18
em28xx #0: i2c eeprom 10: 00 00 24 57 66 07 00 00 60 00 00 00 02 00 00 00
em28xx #0: i2c eeprom 20: 46 00 01 00 f0 10 02 00 b8 00 00 00 5b 00 00 00
em28xx #0: i2c eeprom 30: 00 00 20 40 20 6e 02 20 10 01 01 01 00 00 00 00
em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 18 03 34 00 30 00
em28xx #0: i2c eeprom 70: 32 00 36 00 38 00 39 00 38 00 38 00 37 00 38 00
em28xx #0: i2c eeprom 80: 00 00 1e 03 57 00 69 00 6e 00 54 00 56 00 20 00
em28xx #0: i2c eeprom 90: 48 00 56 00 52 00 2d 00 39 00 30 00 30 00 00 00
em28xx #0: i2c eeprom a0: 84 12 00 00 05 50 1a 7f d4 78 23 f0 fd d0 18 85
em28xx #0: i2c eeprom b0: ff 00 00 00 04 84 0a 00 01 01 20 77 00 40 be 99
em28xx #0: i2c eeprom c0: 05 f0 74 02 01 00 01 79 0c 00 00 00 00 00 00 00
em28xx #0: i2c eeprom d0: 84 12 00 00 05 50 1a 7f d4 78 23 f0 fd d0 18 85
em28xx #0: i2c eeprom e0: ff 00 00 00 04 84 0a 00 01 01 20 77 00 40 be 99
em28xx #0: i2c eeprom f0: 05 f0 74 02 01 00 01 79 0c 00 00 00 00 00 00 00
EEPROM ID= 0x9567eb1a
Vendor/Product ID= 2040:6500
AC97 audio (5 sample rates)
500mA max power
Table at 0x24, strings=0x1e82, 0x186a, 0x0000
tveeprom 4-0050: Hauppauge model 65008, rev A1C0, serial# 367038
tveeprom 4-0050: tuner model is Xceive XC3028 (idx 120, type 71)
tveeprom 4-0050: TV standards PAL(B/G) PAL(I) PAL(D/D1/K) ATSC/DVB Digital (eeprom 0xd4)
tveeprom 4-0050: audio processor is None (idx 0)
tveeprom 4-0050: has radio
tuner 4-0061: chip found @ 0xc2 (em28xx #0)
attach inform (default): detected I2C address c2
Tuner: setting up tuner core extension for: Xceive 3028 Tuner
Loading base firmware: xc3028_init0.i2c.fw
Loading default analogue TV settings: xc3028_BG_PAL_A2_A.i2c.fw
attach_inform: tvp5150 detected.
tvp5150 4-005c: tvp5150am1 detected.
em28xx-video.c: requesting em2880-dvb!
em28xx #0: V4L2 VBI device registered as /dev/vbi0
em28xx #0: V4L2 device registered as /dev/video0
em2880-dvb.c: DVB Init
Loading base firmware: xc3028_8MHz_init0.i2c.fw
Loading default dtv settings: xc3028_DTV8_2633.i2c.fw
xc3028-tuner.c: sending extra call for DVB-T
DVB: registering new adapter (em2880 DVB-T).
DVB: registering frontend 0 (Zarlink ZL10353 DVB-T)…
em28xx #0: Found Hauppauge WinTV HVR 900
—————————— paste ————————–

So sieht die /dev Struktur aus:
/dev/dvb/adapter0/demux0
/dev/dvb/adapter0/dvr0
/dev/dvb/adapter0/frontend0

Allerdings werden folgende Geräte für den eigentlichen Betrieb gebraucht:
/dev/video0
/dev/vbi0

Jetzt was zur DVB-T Software unter Linux:
——————————————————–
Um mit DVB-T arbeiten zu können, braucht ihr das Tool Sammlung dvbtune:

Unter Debian, Ubuntuu mit:
apt-get install dvb-utils

Unter Gentoo mit:
emerge linuxtv-dvb-apps

Liebhaber von Xine führen den folgenden Befehl aus, um nach den Sendern zu scannen:

dvbscan -n -o zap -p de-Frankfurt > ~/.xine/channels.conf

Debian (unter Debian heißt der Befehl nur noch „scan“ und nicht „dvbscan“):
scan -n -o zap -p de-Frankfurt > ~/.xine/channels.conf

Damit wird eine Datei mit allen gefunden Sendern erstellt. Sollte es hier zu Problemen mit den Städten kommen, dann lest euch einfach die Fehlermeldung durch, sie ist aussagekräftig und sagt euch, dass ihr direkt die Datei z.B. de-Frankfurt als Pfad angeben sollt.
Für mich unter Gentoo Linux sah der Befehl wie folgt aus:
dvbscan -n -o zap -p /usr/share/dvb/scan/dvb-t/de-Frankfurt > ~/.xine/channels.conf

Folgende Städte stehen im Moment(Stand: 30.11.2006) für DVB-T zur Auswahl:

  • de-Berlin
  • de-Bielefeld
  • de-Braunschweig
  • de-Bremen
  • de-Erfurt-Weimar
  • de-Frankfurt
  • de-HalleSaale
  • de-Hamburg
  • de-Hannover
  • de-Kassel
  • de-Kiel
  • de-Koeln-Bonn
  • de-Leipzig
  • de-Luebeck
  • de-Muenchen
  • de-Nuernberg
  • de-Osnabrueck
  • de-Rostock
  • de-Ruhrgebiet
  • de-Ruhrgebiet
  • de-Schwerin
  • de-Stuttgart
  • de-Wuerzburg

Ich persönlich bevorzuge kaffeine als DVB-T Viewer. Nicht weil er für alles(incl. Sendersuchlauf) eine grafische Oberfläche zur Verfügung stellt, sondern weil er ein besseres Bild erzeugt als Xine
Die Bedienung von Kaffeine ist absolut selbsterklärend und der Wizard ist echt klasse.

Habe ich schon erwähnt, dass die Player unter Linux besser funktioneren, als Hauppauges WinTV 😉

Wenn ihr fragen habt, dann meldet euch bei mir!

Wenn euch die Anleitung geholfen hat oder auch nur gefallen, dann hinterlasst mir ein Kommentar – dann weiß ich, dass es nicht nur mir in der Zukunft helfen wird den DVB-T Tuner zum Laufen zu kriegen 😉

Ein Dankeschön-Geschenk freut mich auch: Amazon Wunschliste

Folgende Karten können auf die gleiche Weise engerichtet werden:

  • Kworld 350 U DVB-T
  • Kworld 310 U
  • MSI DigiVox A/D (USB2.0)
  • Hauppauge HVR 950 (NTSC/ATSC)
  • Hauppauge WinTV HVR 900 M/R: 65008/A1C0
  • Terratec Cinergy Hybrid T XS – ZL10353
  • Terratec Cinergy Hybrid T XS – MT352
  • Terratec Cinergy Hybrid T XS France
  • Terratec Prodigy Hybrid T XS
  • Terratec Cinergy T XS – xc3028
  • Terratec Cinergy T XS – mt2060
  • Pinnacle PCTV USB Stick
  • DNT DA2 Hybrid
  • Pinnacle PCTV Hybrid Pro Stick
  • Empire USB 2.0 Pen Dual TV
  • BestBuy Easy TV USB hybrid (EB1A:2881)

Auf Fragen gehe ich gerne ein, also schreibt mir ein Kommentar zu diesem Beitrag mit dem Hinweis zu eurer E-Mail Adresse und wir werden das Problem schon schaukeln. 😉
Ich würde mich über Ergängzungen und Korrekturen an dem Artikel ebenfalls erfreuen!

Ein Dankeschön als Kommentar oder ein Dankeschön-Geschenk freut mich auch: Amazon Wunschliste

Nachtrag:
——————————————-
Wegen Schwierigkeiten mit dem alten Server habe ich mich bereit erklärt die Firmware zu hosten. Diese ist jetzt auch auf den Projektseiten verlinkt.

Quellen und weitere Hinweise:

Von Windows auf Linux (ext2, ext3, ext4) Partitionen zugreifen

Neuere Fassung des Beitrags mit Möglichkeit Vista und Windows 2003 zu benutzen: Ext2/Ext3 unter Windows nutzen

Wolltet ihr nicht schon immer schnell mal Daten von der Linux Partition von Windows aus holen. Früher war es noch etwas schwieriger, da die Tools nicht zuverlässig waren. Jetzt könnt Ihr sogar Linux Partition ganz bequem von Windows aus nutzen. Dies macht Ext2 IFS For Windows möglich.

Allerdings empfehlen ich allen Suspend to Disk Nutzern die Partition vorher in Linux und Windows zu unmounten, damit es zu keinen Problemen kommt. Ext2 IFS For Windows ist einfach nur Klasse, wenn man einen kurzen Abstecher in die Microsoft-Welt machen muss und Daten von seiner Linux Partition braucht.

Mein ganz persönlicher Tipp sind externe Festplatten mit ext3 unter Linux formatiert. Damit hat man alle Freiheiten unter Linux – und unter Windows hilft Ext2 IFS For Windows weiter. Damit muss man sich nicht mehr mit korrupten FAT32 oder NTFS Partition unter Linux rumschlagen.

Zukunftsausblick:
Das ext4 Dateisystem wurde komplett neu entwickelt. Es ist nicht mehr kompatibel zu ext2 und ext3. Das bedeutet, dass neue Treiber für Windows geschrieben werden müssen. Sollte jemand seine Partition von ext2 bzw. ext3 nach ext4 konvertiert haben, so kann es gut sein, dass die Programme noch funktionieren, weil der Kompatibilitätsmodus aktiv ist. Bei neu formatierten Parititon mit ext4 wird es derzeit (Stand: April 2009) nicht möglich auf die Partitionen zuzugreifen.

Ergänzung:
Mittlerweile unterstützt ifs-Drive alle gängigen Windows Versionen. Lediglich Windows 7 ist noch nicht gelistet. Ob es unter Windows 7 funktioniert, muss noch herausgefunden werden.
Link und weitere Informationen: