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

Das ist die dritte Fassung der Anleitung.

Nutzer bis einschließlich Kernel 2.6.23.X richten sich bitte an der folgenden Anleitung:
http://konstantin.filtschew.de/blog/2006/11/30/…/

Nutzer ab Kernel 2.6.24.X benutzen bitte diese Anleitung.
Die laufende Kernel Version kann unter Linux mit dem Befehl „uname -r“ eingesehen werden.

Hintergrundwissen:
Die Treiberstruktur hat sich mit dem Wechsel auf Kernel 2.6.24 komplett geändert. Das aktuelle Modul basiert auf dem Userspace Modul System und erleichtert die Portierung von einer Kernel Version zur nächsten erheblich. Zusätzlich wird das extra runterladen und auswählen der Firmware erspart.

Erklärung zu dem Befehl „sudo“:
Sudo erlaubt es als normaler Benutzer Befehle mit root-Rechten (Administrator Rechten) auszuführen. Alle Zeilen, die mit „sudo“ beginnen, können auch unter „root“ ohne Sudo ausgeführt werden. Der Befehl „whoami“ hilft sich zu identifizieren. Wenn man als normaler Benutzer „whoami“ ausführt, so erhält man seinen aktuell angemeldeten Benutzernamen zurück. Führt man den Befehl so aus „sudo whoami“, so erscheint dort der Benutzername root. Ich werde dieses durchgehend in dieser Anleitung nutzen.

Folgende Pakete (unter Debian) werden für die Erstellung der Module benötigt:

  • make
  • build-essential # (Wird für Debian gebraucht)
  • libncurses5-dev
  • kernel-package #(Wird für Debian gebraucht)
  • gcc #(muss mit der Version übereinstimmen, mit der der Kernel erstellt wurde)
  • linux-source-2.6 #(die zum laufenden Kernel passende Quellen)
  • linux-headers-2.6 #(müssen ebenfalls zur Kernel Version passen)
  • mercurial #(dieses Paket wird benötigt, um die Quellen aus dem Repository zu holen)

Mit dem folgenden Befehl werden die benötigten Pakete auf einem Debian oder Ubuntu Linux System installiert:
[code]
user@debian:~$ sudo aptitude install make gcc linux-source-2.6 linux-header-2.6 mercurial libncurses5-dev kernel-package build-essential
[/code]
Linux löst die nötigen Abhängigkeiten selber auf und installiert die zusätzlich benötigen Pakete.

Um die laufende Kernel Version zu bestimmen, reicht der Befehl „uname -a“. Meine Ausgabe an einem Debian Lenny (testing) System:
[code]
user@debian:~$ uname -r
2.6.25-2-686
[/code]

Ubuntu Nutzer bekommen ab jetzt die erste Schwierigkeit, die sie bewältigen müssen. Der vorinstallierte Kernel in der aktuellen Ubuntut Hardy (Version 8.04) ist zum Vanilla Kernel (Kernel von www.kernel.org) verändert und bereitet Probleme. Die Ubuntu Entwickler haben haben in den Kernel die Alsa Verison 0.16 integriert, obwohl im Vanilla Kernel 0.15 verwendet wird. Damit entstehen Schwierigkeiten, wenn eigene Module erstellt werden müssen.
Der folgende Eintrag beschreibt das Problem genauer (auf Englisch):
https://bugs.launchpad.net/ubuntu/+bug/204578

Ich werde für Ubuntu Nutzer eine extra Anleitung verfassen, da es doch sehr viele treffen wird. Bitte richtet euch bis dahin an diesem sehr radikalen Skript. Bitte nicht einfach ausführen, da es zu großen Problemen führen kann!
http://mcentral.de/wiki/index.php5/Installation_Guide

Im nächsten Schritt muss untersucht werden, ob die Kernel Quellen installiert und richtig verlinkt sind. Dafür geht man in den Ordner „/usr/src“ und für dort „ls -l“ aus. Die Ausgabe müsste so ungefähr aussehen:
[code]
debian:/usr/src# ls -l
total 47412
lrwxrwxrwx 1 root src 19 2008-07-13 18:53 linux -> linux-source-2.6.25
drwxr-xr-x 4 root root 4096 2008-07-13 18:34 linux-headers-2.6.25-2-686
drwxr-xr-x 18 root root 4096 2008-07-13 18:34 linux-headers-2.6.25-2-common
drwxr-xr-x 3 root root 4096 2008-07-13 18:34 linux-kbuild-2.6.25
drwxr-xr-x 21 root root 4096 2008-06-27 01:49 linux-source-2.6.25
-rw-r–r– 1 root root 48478530 2008-06-27 03:27 linux-source-2.6.25.tar.bz2
[/code]
Die zweite Zeile der Ausgabe „linux -> linux-source-2.6.25“ zeigt, dass die von mir gewählten Quellen richtig verlinkt sind.
Fehlt die Zeile, so muss man sie mit dem folgenden Befehl verlinken (-s steht für symbolisch – so wie ein Alias):
[code]
user@debian:~$ sudo ln -s /usr/src/linux-source-2.6.25 /usr/src/linux
[/code]

Damit das build-Skript funktioniert, muss zusätzlich in dem Pfad /lib/modules/ die Quellen verlinkt werden

[code]
user@debian:~$ cd /lib/modules/2.6.25-2-686
user@debian:/lib/modules/2.6.25-2-686# ls -l
total 1760
lrwxrwxrwx 1 root root 35 2008-07-13 18:34 build -> /usr/src/linux-headers-2.6.25-2-686
drwxr-xr-x 2 root root 4096 2008-07-13 18:55 empia
drwxr-xr-x 9 root root 4096 2008-07-13 18:05 kernel
-rw-r–r– 1 root root 385573 2008-07-13 18:55 modules.alias
-rw-r–r– 1 root root 69 2008-07-13 18:55 modules.ccwmap
-rw-r–r– 1 root root 385485 2008-07-13 18:55 modules.dep
-rw-r–r– 1 root root 147 2008-07-13 18:55 modules.ieee1394map
-rw-r–r– 1 root root 451 2008-07-13 18:55 modules.inputmap
-rw-r–r– 1 root root 22301 2008-07-13 18:55 modules.isapnpmap
-rw-r–r– 1 root root 74 2008-07-13 18:55 modules.ofmap
-rw-r–r– 1 root root 291390 2008-07-13 18:55 modules.pcimap
-rw-r–r– 1 root root 1387 2008-07-13 18:55 modules.seriomap
-rw-r–r– 1 root root 172847 2008-07-13 18:55 modules.symbols
-rw-r–r– 1 root root 476400 2008-07-13 18:55 modules.usbmap
lrwxrwxrwx 1 root root 28 2008-07-13 18:54 source -> /usr/src/linux-source-2.6.25
[/code]
Die letzte Zeile „source -> /usr/src/linux-source-2.6.25“ sagt aus, dass die Quellen für diesen Kernel unter „/usr/src/linux-source-2.6.25“ liegen. Fehlt so ein Eintrag, so holt man dies mit dem folgenden Befehl nach:
[code]
user@debian:~$ sudo ln -s /usr/src/linux-source-2.6.25 /lib/modules/2.6.25-2-686/source
[/code]

Damit sollte jetzt alle für das Erstellen der Module vorhanden sein.

Im nächsten Schritt müssen die Quellen runtergeladen werden. Mercurial legt schon einen passenden Ordner an. Bitte den folgenden Befehl ausführen und schauen, ob alles funktioniert hat:
[code]
user@debian:~$ hg clone http://mcentral.de/hg/~mrec/em28xx-new
[/code]
Die Ausgabe des „hg clone ..“ Befehls wird etwas länger sein und deswegen habe ich sie aus der Beschreibung raus gelassen.

Im nächsten Schritt müssen die Module erstellt werden. Das geschieht momentan (das Skript ändert sich immer wieder) so:
[code]
user@debian:~$ sudo ./build.sh build
rm -rf Module.symvers;
make -C /lib/modules/`if [ -d /lib/modules/2.6.21.4-eeepc ]; then echo 2.6.21.4-
eeepc; else uname -r; fi`/build SUBDIRS=/root/temp/em28xx-new modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.25-2-686′
CC [M] /home/user/em28xx-new/em2880-dvb.o
CC [M] /home/user/em28xx-new/em28xx-video.o
CC [M] /home/user/em28xx-new/em28xx-i2c.o
….
LD [M] /root/temp/em28xx-new/xc5000/xc5000-tuner.ko
CC /root/temp/em28xx-new/zl10353/zl10353.mod.o
LD [M] /root/temp/em28xx-new/zl10353/zl10353.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.25-2-686′
[/code]
Ich habe die Ausgabe gekürzt, weil es dort nichts interessantes gibt. Warnungen können hier ruhig ignoriert werden. Treten Fehler auf, dann sollte man genauer nach der Meldung schauen. Meistens fehlt irgendwas und das steht in der Meldung meistens genau drin.

Ist das Erstellen der Module erfolgreich gewesen, so müssen im nächsten Schritt die Module installiert werden. Das Erfolgt mit dem Befehl:
[code]
user@debian:~$ sudo ./build.sh install
[/code]
Das dauert ein Moment und normalerweise erfolgt keine Ausgabe. Nur im Fehlerfall könnte hier noch was kommen. Meistens wird „sudo“ vergessen und das Skript hat keine Schreibrechte auf Systemordner.

Damit wäre die Installation hoffentlich vollendet und man !!!sollte!!! an dieser Stelle das System neustarten. Wenn irgendwelche DVB-Module schon geladen waren, so werden sie spätestens jetzt unter Umständen Ärger machen.

Nach dem Neustart sollten sie die Module mit den folgenden Befehlen fehlerfrei laden lassen:

[code]
user@debian:~$ sudo modprobe em28xx
user@debian:~$ sudo modprobe em28xx-dvb
user@debian:~$ sudo modprobe em28xx-audio
[/code]

Das „build.sh“ Skript bietet ebenfalls die Möglichkeit alle Module zu laden. Dies geschieht mit dem folgenden Befehl:
[code]
user@debian:~$ sudo ./build.sh load
[/code]
Damit kann der Neustart vermieden werden. Wer allerdings beim Laden der Module Probleme bekommt, sollte vorsorglich einen Neustart durchführen, um nicht unnötig Fehler zu produzieren, die durch bereits geladene Module entstehen können!

Wenn ich jetzt meinen Receiver einstecke, so sieht die Ausgabe wie folgt aus:
[code]
[ 1950.302760] usb 1-1: new high speed USB device using ehci_hcd and address 2
[ 1950.454688] usb 1-1: configuration #1 chosen from 1 choice
[ 1950.456720] em28xx new video device (2040:6500): interface 0, class 255
[ 1950.456783] em28xx: device is attached to a USB 2.0 bus
[ 1950.456834] em28xx #0: Alternate settings: 8
[ 1950.456881] em28xx #0: Alternate setting 0, max size= 0
[ 1950.456889] em28xx #0: Alternate setting 1, max size= 0
[ 1950.456892] em28xx #0: Alternate setting 2, max size= 1448
[ 1950.456894] em28xx #0: Alternate setting 3, max size= 2048
[ 1950.456896] em28xx #0: Alternate setting 4, max size= 2304
[ 1950.456898] em28xx #0: Alternate setting 5, max size= 2580
[ 1950.456900] em28xx #0: Alternate setting 6, max size= 2892
[ 1950.456902] em28xx #0: Alternate setting 7, max size= 3072
[ 1950.814288] trying to set disabled gpio? (00)
[ 1950.926465] attach_inform: tvp5150 detected.
[ 1950.931991] cx25843.c: starting probe for adapter em28xx #0 (0x1001f)
[ 1950.965050] tuner‘ 0-0061: chip found @ 0xc2 (em28xx #0)
[ 1950.965050] attach inform (default): detected I2C address c2
[ 1951.024446] attach_inform: eeprom detected.
[ 1951.121182] em28xx #0: i2c eeprom 00: 1a eb 67 95 40 20 00 65 50 12 5c 03 82 1e 6a 18
[ 1951.121182] em28xx #0: i2c eeprom 10: 00 00 24 57 66 07 00 00 60 00 00 00 02 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom 20: 46 00 01 00 f0 10 02 00 b8 00 00 00 5b 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom 30: 00 00 20 40 20 6e 02 20 10 01 01 01 00 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 18 03 34 00 30 00
[ 1951.121182] em28xx #0: i2c eeprom 70: 32 00 36 00 38 00 39 00 38 00 38 00 37 00 38 00
[ 1951.121182] em28xx #0: i2c eeprom 80: 00 00 1e 03 57 00 69 00 6e 00 54 00 56 00 20 00
[ 1951.121182] em28xx #0: i2c eeprom 90: 48 00 56 00 52 00 2d 00 39 00 30 00 30 00 00 00
[ 1951.121182] em28xx #0: i2c eeprom a0: 84 12 00 00 05 50 1a 7f d4 78 23 f0 fd d0 18 85
[ 1951.121182] em28xx #0: i2c eeprom b0: ff 00 00 00 04 84 0a 00 01 01 20 77 00 40 be 99
[ 1951.121183] em28xx #0: i2c eeprom c0: 05 f0 74 02 01 00 01 79 0c 00 00 00 00 00 00 00
[ 1951.121183] em28xx #0: i2c eeprom d0: 84 12 00 00 05 50 1a 7f d4 78 23 f0 fd d0 18 85
[ 1951.121183] em28xx #0: i2c eeprom e0: ff 00 00 00 04 84 0a 00 01 01 20 77 00 40 be 99
[ 1951.121183] em28xx #0: i2c eeprom f0: 05 f0 74 02 01 00 01 79 0c 00 00 00 00 00 00 00
[ 1951.121183] EEPROM ID= 0x9567eb1a
[ 1951.121183] Vendor/Product ID= 2040:6500
[ 1951.121183] AC97 audio (5 sample rates)
[ 1951.121183] 500mA max power
[ 1951.121183] Table at 0x24, strings=0x1e82, 0x186a, 0x0000
[ 1951.215248] tvp5150 0-005c: tvp5150am1 detected.
[ 1956.755148] successfully attached tuner
[ 1956.815279] em28xx #0: V4L2 VBI device registered as /dev/vbi0
[ 1956.858622] em28xx #0: V4L2 device registered as /dev/video0
[ 1956.858788] em2880-dvb.c: DVB Init
[ 1976.984939] analog tv open()
[ 1976.985010] modelock active!
[ 1976.992903] vbi open()
[ 1976.992935] modelock active!
[ 1957.188645] DVB: registering new adapter (em2880 DVB-T)
[ 1957.188645] DVB: registering frontend 0 (Zarlink ZL10353 DVB-T)…
[ 1957.190935] em28xx #0: Found Hauppauge WinTV HVR 900
[ 1957.192191] em28xx audio device (2040:6500): interface 1, class 1
[ 1957.192771] em28xx audio device (2040:6500): interface 2, class 1
[ 1957.193563] usb 1-1: New USB device found, idVendor=2040, idProduct=6500
[ 1957.193601] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=2
[ 1957.193604] usb 1-1: Product: WinTV HVR-900
[ 1957.193667] usb 1-1: SerialNumber: 4026898878
[ 1958.013115] usbcore: registered new interface driver snd-usb-audio
[/code]

Nach dem einstecken müssen die folgenden Devices in /dev vorhanden sein:

[code]
/dev/vbi0
/dev/video0
/dev/dvb/adpater0/demux0
/dev/dvb/adpater0/dvr0
/dev/dvb/adapter0/frontend0
[/code]

Weitere Hinweise:
Unter Umständen wird es nötig sein den Nutzer zu der Gruppe Video hinzuzufügen, weil er sonst keine Zugriffsrechte auf das Video Device bekommt. Dafür muss der folgende Befehl ausgeführt werden. (Die Variable $USER wird vom System gesetzt und ist der aktuell angemeldete Benutzer):
[code]
user@debian:~$ sudo adduser $USER video
[/code]

Wenn Schwierigkeiten nach der erfolgreichen Installation entstehen, dann bitte das System ohne eingesteckten Receiver hoch fahren, dann die Module per Hand laden (unter dmesg die Meldungen beachten) und erst dann den Receiver einstecken. Dadurch sind die Fehler besser sichtbar, weil sie nicht durcheinander in dmesg beim Booten eingestreut werden.

Falls jemand Trotzdem Schwierigkeiten hat, der kann mir Gerne ein Kommentar hinterlassen. Damit es für mich einfacher wird euch zu helfen, bitte ich euch die folgenden Informationen mir zu geben:
– Linux Version (z.B. Ubuntu Hardy 8.04, Debian Linux 4.0 (Etch))
– Kernel Version 2.6.25-2 (Der Befehl: „uname -r“ verrät es. Auch bitte angeben, ob es ein selbst erstellter Kernel ist oder vom Distributor)
– Sind die Linux Quellen Installiert? (Folgende Befehle helfen weiter „sudo ls -l /usr/src“ und „sudo ls -l /lib/modules/$(uname -r)/source“
– Ist was beim Erstellen scheif gegangen, so bitte ich um die komplette Ausgabe, falls ihr den Fehler nicht selber seht.
– Hat das Installieren der Module funktioniert, aber danach geht irgendwas schief, so bitte ich euch das System ohne Receiver zu starten, dann die Module zu laden und erst dann den Receiver einzustecken. Danach mir bitte die dmesg-Ausgabe ab der Stelle in der die Module geladen wurden geben.
– Bitte alle längeren Ausgaben wie von dmesg oder vom Erstellen des Treibers auf der Seite http://www.pastebin.com oder auf http://ubuntuusers.de/paste/ posten und hier nur den Link rein stellen, da es sonst zu unübersichtlich wird.

Ich hoffe damit möglichst vielen Nutzern zu helfen. Wer mir danke möchte, der möge es mit einem Kommentar tun. Spenden nehme ich gerne als Geschenke von meiner Amazon Wunschliste an.

129 Gedanken zu „HOWTO: Hauppauge HVR 900 DVB-T Tuner und verwandte Modelle unter Linux nutzen

  1. Hallo Konstantin,

    so jetzt hab ichs endlich geschafft mich dem zu widmen….ich versteh es nicht, ich hatte mal geschaut, beim booten zeigt es mir usb1.1 controller und 2.0 controller an, weiss nur nicht wo welcher nun ist. Egal, hab mir eine PCI USB2.0 Karte gekauft und nun gehts wieder :yippi

    Danke trotzdem

  2. Hallo Konstantin,
    du hast mir vor längerer Zeit schonmal geholfen. Mittlerweile musste ich mein System neu aufsetzen und hab dadurch einen aktuellen Kernel. Es lies sich alles reibungslos installieren.
    Möchte ich jetzt Fernsehgucken kann ich es nicht, da /dev/dvb nicht existiert. Benutzte ich meine Uraltbox von Hama kann ich Fernsehgucken. Hab die Cinergy Hybrid T XS FM.
    Auszüge von dmesg, syslog und infobash unter
    http://pastebin.com/m1375d40e

    Gruß Lars

  3. Hallo Lars,

    es gab da so eine coole Regel: „Never touch a running system“ 😉 , aber ist ja hier nicht unser Thema.

    Also, die Ausgabe sieht absolut gut aus. Ist DVB im Kernel eincompeliert. Versuch mal die Module zu laden und zu schauen, ob sie geladen wurden.

    1. Versuch mal die Treiber mut „sudo ./buildsh load“ zu laden.
    2. Gib mir mal die Ausgabe von „lsmod“.
    3. Gib mir mal die Ausgabe von „ls -r /dev/dvb“. Die sollten eigentlich da sein, weil eigentlich alles funktioniert hat.

    Ich warte auf deine Antwort.

    Gruß, Konstantin

  4. Hallo Lars,

    der DVB-Teil wird in der dmesg nicht geladen, habe ich übersehen.

    Das Modul ist aber geladen, wie lsmod sagt. Jetzt ist halt die Frage, ob der neuere Treiber irgend etwas wegoptimiert hat. Hast du noch den alten Ordner, mit dem es funktioniert hat?

    Frag mal auf der Mailinglist hier nach:
    http://mcentral.de/wiki/index.php5/Em2880#Mailinglist

    Die Ausgaben von pastebin.com sind wichtig, schick sie auf der Mailinglist mit.

    Gruß, Konstantin

  5. Zur Mailinglist hab ich schon geschrieben aber da kommt nix an antwort oder so:

    Your mail to ‚Em28xx‘ with the subject

        Empia Hybrid XS ATSC – no TV

    Is being held until the list moderator can review it for approval.

    Auf der Mailinglist ist meine Frage nie erschienen….leider…
    Aber ich versuchs nochmal…

    Gruß
    Lars

  6. Hallo Lars,

    Ich habe auf der Seite keine weiteren Infos zu deinem Adapter gefunden.

    Hast du dich da registriert als Nutzer der Mailinglist?

    Mach das mal, dann gehts schneller.

    Gruß, Konstantin

  7. Ich hab mich registriert und die email an em28xx@mcentral.de geschickt.

    Ich denke da die mailinglist moderiert wird, kann es ein wenig dauern und mein Englisch ist auch nicht das beste.

    Mal schauen ob sie diesmal in der Liste auftaucht 😉

    Gruß
    Lars

  8. Hallo,
    war jetzt eine Woche im Urlaub und die Liste hat nicht geantwortet, hab heute nochmal hingeschrieben.
    Hab gestern einen Stick mit der ID 0ccd:0042 von einem Kollegen benutzt und konnte Fernsehgucken. Nur mit meinem wieder nicht.
    Hab mal gerade einen ebayer angeschrieben welche ID seine Sticks haben. Sonst verkaufe ich meinen und hole mir einen neuen.
    Gruß
    Lars

  9. Hab gerade mal versucht in unter XP zu installieren.
    Stick ist defekt und habe ihn gerade eingeschickt.
    Gruß
    Lars
    PS: Da kann man dann lange probieren 🙂

  10. Hallo,

    habe mir vor einigen Tagen einen CINERGY hybrid XE gekauft.
    Leider bekomme ich den DVB-T Stick nicht zum laufen.
    Der Stick meldet sich mit folgenden Daten im System an:
    ID 0ccd:0086 TerraTec Electronic GmbH
    Handelt es sich um einen Stick für das em28xx/em28xx-new -Modul?

    Gruß Arne
    P.S.

  11. Hallo,

    kleine Frage:
    Läuft die DVB-T Unterstützung für den Hauppauge WinTV HVR 900 (65018/B2C0) Stick?

    Gruss

  12. Hallo Konstantin,

    danke für die Antwort. Ich habe mal im Netz herumgeschaut und es gibt den einen oder anderen, der den Stick am Laufen hat.

    Leider klappt es beim mir nicht, weil es keine Initialisierung des DVB-T gibt (/dev/dvb/* existiert nicht).

    Im log habe ich zwar einen „DVB Init“, aber mehr nicht.
    Was fehlt ist sowas wie:
    DVB: registering new adapter (em2880 DVB-T)
    DVB: registering adapter 0 frontend 0 (Zarlink ZL10353 DVB-T)…

    Auszug aus dmesg nach dem Einstecken des Sticks:
    > [ 100.599415] Linux video capture interface: v2.00
    > [ 100.657473] em28xx v4l2 driver version 0.0.1 loaded
    > [ 100.659266] usbcore: registered new interface driver em28xx
    > [ 205.020122] usb 2-3: new high speed USB device using ehci_hcd and address 5
    > [ 205.158247] usb 2-3: configuration #1 chosen from 1 choice
    > [ 205.158732] em28xx: new video device (2040:6502): interface 0, class 255
    > [ 205.158738] em28xx: device is attached to a USB 2.0 bus
    > [ 205.158745] em28xx #0: Alternate settings: 8
    > [ 205.158750] em28xx #0: Alternate setting 0, max size= 0
    > [ 205.158755] em28xx #0: Alternate setting 1, max size= 0
    > [ 205.158760] em28xx #0: Alternate setting 2, max size= 1448
    > [ 205.158765] em28xx #0: Alternate setting 3, max size= 2048
    > [ 205.158770] em28xx #0: Alternate setting 4, max size= 2304
    > [ 205.158774] em28xx #0: Alternate setting 5, max size= 2580
    > [ 205.158779] em28xx #0: Alternate setting 6, max size= 2892
    > [ 205.158784] em28xx #0: Alternate setting 7, max size= 3072
    > [ 205.702181] attach_inform: tvp5150 detected.
    > [ 205.768695] tvp5150 0-005c: tvp5150am1 detected.
    > [ 207.404263] successfully attached tuner
    > [ 207.412381] em28xx #0: V4L2 VBI device registered as /dev/vbi0
    > [ 207.430262] em28xx #0: V4L2 device registered as /dev/video0
    > [ 207.430269] em2880-dvb.c: DVB Init
    > [ 207.530527] em28xx-audio.c: probing for em28x1 non standard usbaudio
    > [ 207.530533] em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
    > [ 207.536126] input: em2880/em2870 remote control as /devices/virtual/input/input13
    > [ 207.562649] em28xx-input.c: remote control handler attached
    > [ 207.562657] em28xx #0: Found Hauppauge WinTV HVR (B2C0)
    > [ 208.276236] opening radio device and trying to acquire exclusive lock
    > [ 208.276245] switching device to FM mode
    > [ 208.376598] NULL PTR
    > [ 208.440531] tvp5150 0-005c: tvp5150am1 detected.
    > [ 208.552711] retrieved mode from tuner: 1
    > [ 208.553525] changing alternate number to 7

    Gruss
    Roland

  13. Hallo Roland,

    du hast recht. Genau so was fehlt dir.

    Ich hoffe der neue Treiber unterstützt noch die ältere Hardware. Ich kanns leider nicht sagen.

    Auf jeden Fall wird ein Teil von DVB geladen:
    > [ 207.430269] em2880-dvb.c: DVB Init

    Aber irgend etwas fehlt.

    Gruß, Konstantin

  14. Hallo Konstantin,

    meinst Du mit „neuem Treiber“ die Version, welche ohne Firmware auskommt?

    Gruss

  15. Hallo Roland,

    genau das meine ich. Markus Rechberger hat den Treiber ins Userspace verlagert, um weniger Probleme mit neuen Kernel zu haben. Zusätzlich ist es jetzt wegen andere Lizenz möglich die Firmware mitzuliefern.

    Ich weiß nicht genau, wie viel er umschreiben musste. Auf jeden Fall funktionierten nach dem Umbau einige DVB-T Adapter nicht. Wie der Stand jetzt ist, kann ich leider nicht sagen.

    Gruß, Konstantin

  16. Hallo Konstantin,

    danke erstmal für Deine Antworten.

    Ich habe gestern eine Anleitung entdeckt für die Installation der HVR 900 B2C0 unter Ubuntu 8.10.
    Im Grunde genommen, die gleichen Schritte wie bei Dir. Von daher ging ich mal davon aus, das der Stick eigentlich funktionieren müsste, auch wenn es nicht 100% sicher ist.
    Ich habe auch im ‚Arch-Linux-Forum‘ einen Eintrag gefunden, wo jemand genau dasselbe Problem beschreibt, wie ich es habe. Dort weiss ich aber nicht, wie es mit der Situation, neuer oder alter Treiber, aussieht.

    Die Probleme mit dem neuen Treiber und nicht mehr funktionierenden Sticks war mir nicht bekannt. Ich wollte zwar schon bei Gelegenheit den alten Treiber versuchen, bin aber jetzt noch gespannter darauf, ob es klappt oder nicht.

    Gruss

  17. Hallo Konstantin,

    ich habe es jetzt hinbekommen.

    Ich wusste nicht, dass die aktuellen Kernel viele Karten schon direkt unterstützen und es nur eine Firmware-Datei braucht, um die Karten funktionsfähig zu machen.
    Hier lag das Problem. Die von mir installierten Module standen im Konflikt mit den „gleichen“ Modulen des Kernels.
    Ich habe also die Kernel-eigenen Module gelöscht und siehe da DVB wird vollständig initialisiert.

    Ich habe dann noch die Kernel-eigenen Module zusammen mit der Firmware versucht, aber damit hat es nicht geklappt.

    Gruss
    Roland

  18. Hallo

    Hab die Installation der WinTv-HVR 900(Hauppauge) nach der Installtionanleitung hie versucht.
    (Sytem opensuse 11.1)
    (Kernel: Linux version 2.6.27.21-0.1-pae)

    Hab alles gemacht – es gab auch nirgends eine Fehlermeldung bis zum modprobe.

    modprobe em28xx – funktioniert auch ohen Probleme
    aber modprobe em2880-dvr ergibt folgend eFehlermeldung:
    FATAL: Module em2880_dvr not found.

    Danke für die Hilfe schon im vorraus!

    Gruß,Carsten

    dmsg ergibt bei mir:

    bootsplash: status on console 0 changed to on
    em28xx v4l2 driver version 0.0.1 loaded
    usbcore: registered new interface driver em28xx
    usb 1-3: new high speed USB device using ehci_hcd and address 4
    usb 1-3: configuration #1 chosen from 1 choice
    em28xx: new video device (2040:6502): interface 0, class 255
    em28xx: device is attached to a USB 2.0 bus
    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
    tuner‘ 2-0061: chip found @ 0xc2 (em28xx #0)
    em28xx-i2c: using internal tuner, denying request to i2c tuner module.
    attach_inform: tvp5150 detected.
    tvp5150 2-005c: tvp5150am1 detected.
    successfully attached tuner
    em28xx #0: V4L2 VBI device registered as /dev/vbi1
    em28xx #0: V4L2 device registered as /dev/video1
    input: em2880/em2870 remote control as /devices/virtual/input/input8
    em28xx-input.c: remote control handler attached
    em28xx #0: Found Hauppauge WinTV HVR (B2C0)
    usb 1-3: New USB device found, idVendor=2040, idProduct=6502
    usb 1-3: New USB device strings: Mfr=0, Product=1, SerialNumber=2
    usb 1-3: Product: WinTV HVR-900
    usb 1-3: SerialNumber: 4027588792
    em28xx-audio.c: probing for em28x1 non standard usbaudio
    em28xx-audio.c: Copyright (C) 2006 Markus Rechberger
    Em28xx: Initialized (Em28xx Audio Extension) extension
    em2880-dvb.c: DVB Init
    Em28xx: Initialized (Em2880 DVB Extension) extension
    opening radio device and trying to acquire exclusive lock
    switching device to FM mode
    NULL PTR
    tvp5150 2-005c: tvp5150am1 detected.
    retrieved mode from tuner: 1
    changing alternate number to 7
    Em28xx: Removed (Em2880 DVB Extension) extension

  19. Hallo Carsten,
    das Problem besteht darin, dass du das Modul nicht existieren kann, weil es so nicht heißt.

    Versuch bitte damit:
    modprobe em2880-dvb (nicht …-dvr)

    Gruß, Konstantin

  20. Hallo Jürgen,

    Markus (der Entwickler des Treibers) hat die Unterstützung für den em28xx Linux Treiber eingestellt.

    Jemand anders versucht es noch weiter zu pflegen, siehe hier:
    http://aur.archlinux.org/packages.php?ID=26418

    Ihm gelingt es bis jetzt nur langsam. Ich weiss, dass der Treiber ohne den dort veröffentlichten zusätzlichen Patch unter Linux 2.6.28 und 2.6.29 funktioniert.

    Mit dem Patch für 2.6.30 funktioniert es auch im 2.6.30er Kernel.

    An 2.6.31 habe ich mich auch schon versucht, aber ich bin nicht weit gekommen. Mir fehlt einfach die Zeit, sonst hätte ich mitgeholfen. Es sind auch zu viele Änderungen an der Kernelarchitektur.

    @ALL: verfolgt bitte die weitere Entwicklung auf der folgenden Seite:
    http://aur.archlinux.org/packages.php?ID=26418

    Ich werde weiterhin versuchen Support zu geben, wenn ich weiter helfen kann. Das ganze basiert nun mal auf freiwilliger Basis. Keiner zahlt mir oder den meisten Entwicklern Geld dafür, dass sie das tun.
    Aber ich möchte mich auf jeden Fall für die Geschenke bedanken, die ich bekommen habe. Fand ich mehr als super – aber ein „Dankeschön“ ist meistens genug.

    Gruß, Konstantin

  21. Hallo Jürgen,

    Markus Rechberger (der Entwickler des Treibers) hat die Unterstützung für den em28xx Linux Treiber eingestellt.

    Jemand anders versucht es noch weiter zu pflegen, siehe hier:
    http://aur.archlinux.org/packages.php?ID=26418

    Ihm gelingt es bis jetzt nur langsam. Ich weiss, dass der Treiber ohne den dort veröffentlichten zusätzlichen Patch unter Linux 2.6.28 und 2.6.29 funktioniert.

    Mit dem Patch für 2.6.30 funktioniert er ausschließlich im 2.6.30er Kernel.

    An 2.6.31 habe ich mich auch schon versucht, aber ich bin nicht weit gekommen. Mir fehlt einfach die Zeit, sonst hätte ich mitgeholfen. Es sind auch zu viele Änderungen an der Kernelarchitektur für 2.6.31.

    @ALL: verfolgt bitte die weitere Entwicklung auf der folgenden Seite:
    http://aur.archlinux.org/packages.php?ID=26418

    Ich werde weiterhin versuchen Support zu geben, wenn ich weiter helfen kann. Das ganze basiert nun mal auf freiwilliger Basis. Keiner zahlt mir oder den meisten Entwicklern Geld dafür, dass sie das tun.
    Aber ich möchte mich auf jeden Fall für die Geschenke bedanken, die ich bekommen habe. Fand ich mehr als super – aber ein „Dankeschön“ ist meistens genug.

    Gruß, Konstantin

  22. Nochmal zu Sundtek:

    Die Firma ist auf Markus Rechberger eingetragen. Das ist der ehemalige Entwickler diesen Treibers. Er vertreibt mit der Firma auf der Seite neue DVB-T Receiver, die Unterstützung für Windows/Linux/Mac erhalten. Sie sind zwar teurer als die günstigen Geräte im Kaufhaus, aber dafür bekommt man auch Treiber für alle Betriebssysteme.

    Ich finde es fair, wenn man für mehr Geld auch mehr bekommt. Auch nehme ich Markus die Sache nicht übel, dass er den Support für den Treiber eingestellt hat. Vom „Dankeschön“ kann man leider nicht leben und die Zeit ist von uns allen begrenzt.

    Die derzeitigen Änderungen an der Linux Kernel Architektur treiben nicht wenigen Entwicklern Schweißperlen auf die Stirn. Ich verfolge das Ganze ganz genau mit und kann nachvollziehen, dass der Aufwand durch die letzten Kernelversionen mehr als immens ist.

    Wenn ich wieder mehr Zeit haben sollte (näherer Zukunft eher nicht), dann werde ich versuchen mehr als nur Support zu leisten.

    Schon mal vielen Dank an alle Entwickler, Supportler und Linux-Nutzer. Es ist echt Klasse, wie Open Source funktioniert.

  23. als Ergänzung – Devin Heitmueller`s code funktioniert (bei mir) ohne sonstige Änderungen – in Kaffeine, im Menue „Fernsehen“ > „Fernsehen einrichten“ > „Gerät“ auswählen und unter „Kanäle“ Suchlauf starten. Der code muss nach einem Kernelupdate neu installiert werden, Zitat:
    „you will indeed need to run a “make distclean && make && make install && make unload” whenever you upgrade your kernel“.
    das Ganze im Verzeichnis „v4l-dvb-drxd“

    Gruss, Juergen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.