{"id":83,"date":"2008-07-16T20:06:44","date_gmt":"2008-07-16T18:06:44","guid":{"rendered":"http:\/\/www.admindu.de\/wordpress\/?p=83"},"modified":"2008-07-17T00:42:55","modified_gmt":"2008-07-16T22:42:55","slug":"debian-lenny-2625-mit-terratec-cinergy-c-hd","status":"publish","type":"post","link":"https:\/\/www.admindu.de\/wordpress\/?p=83","title":{"rendered":"Terratec Cinergy C HD unter Debian Lenny (2.6.25-2-686)"},"content":{"rendered":"<p>Da ja <a href=\"http:\/\/www.debian.de\/releases\/testing\/\">Debian Lenny<\/a> vor der Tuere steht dachte ich mir, ich mach gleich mal Testweise ein Upgrade meiner eierlegenden Wollmilchsau um dann wieder moeglichst lange meine Ruhe zu haben \ud83d\ude42 Dabei habe ich mir auch gleich eine  neue TV Karte fuer die Videorecorder-Funktion gekauft. Diesmal Digital Kabel, <a title=\"DVB-C Info\" href=\"http:\/\/de.wikipedia.org\/wiki\/DVB-C\" target=\"_blank\">DVB-C<\/a>. Eine <a title=\"DVB-C Karte\" href=\"http:\/\/www.terratec.net\/de\/produkte\/Cinergy_C_PCI_HD_1975.html\" target=\"_blank\">Terratec Cinergy C PCI<\/a>.<\/p>\n<p><!--more--><\/p>\n<p>Die Karte ist fuer ca. 80 Eur beim Versandhaendler des Vertrauens zu bekommen. Als Input habe ich Kabel-BW und die dort vorhandenen Free-To-Air Programme. In der Theorie koennte man sicher auch ein CI-CAM dranbasteln um dann mit der eigenen Karte Premiere zu empfangen, aber das ist mir zu doof und wahrscheinlich auch verboten. In den vielen oeffentlich rechtlichen Sendern kommen genug gute Filme ohne Werbung. Da kann man sich eine nette Sammlung aufnehmen.<\/p>\n<p>Jetzt aber zum Thema:<\/p>\n<p>Nach der Installation des Debian Lenny und den Updates der letzten Tage kommt lenny mit einem  2.6.25-2-686. Fuer die Cingergy-C braucht man den <a title=\"Manits Repository\" href=\"http:\/\/jusst.de\/hg\/mantis\/summary\" target=\"_blank\">Manits-Treiber.<\/a> Der ist aber noch experimentell und daher nicht im Standard-Kernel. Also muessen wir den Treiber bauen. Dazu laden wir erstmal das aktuelle <a title=\"Mantis HEAD\" href=\"http:\/\/jusst.de\/hg\/mantis\/archive\/tip.tar.bz2\" target=\"_self\">Mantis-Paket<\/a> herunter und Paken das aus:<\/p>\n<p class=\"postmetadata alt\"><em>wget http:\/\/jusst.de\/hg\/mantis\/archive\/tip.tar.bz2<\/em><br \/>\n<em>tar -xjvf tip.tar.bz2<\/em>\n<\/p>\n<p>WARNUNG: Das Manits-Paket bringt einen kompletten Video4Linux Zweig und viele Treiber ausser Mantis mit.  In meiner Anleitung ersetzen diese ggf. Treiber des aktuellen Kernels. Bitte nur fortfahren, wenn das verstanden und gewuenscht ist!<\/p>\n<p>Bei mir ist die Release <a href='http:\/\/www.admindu.de\/wordpress\/wp-content\/uploads\/2008\/07\/mantis-0b04be0c088atar.bz2'>mantis-0b04be0c088a<\/a> im Einsatz.  Die folgenden Schritte setzen vorraus, dass ein funktionierendes Compile-Environment existiert und die passenden Kernel-Header zum laufenden Kernel installiert sind:<\/p>\n<p>Nach der Anleitung sollte das Paket einfach druchbauen, wenn man in das Verzeichnis wechselt und dort ein &#8220;make all&#8221; eingibt. Das versuchen wir doch gleich mal so.<\/p>\n<p class=\"postmetadata alt\"><em>cd mantis-0b04be0c088a<\/em><br \/>\n<em>make all<\/em>\n<\/p>\n<p>Tja, das laeuft so aber leider nicht durch. Waere ja auch zu schoen gewesen mal wieder an die frische Luft zu kommen \ud83d\ude09 Folgende Fehler tritt nach kurzer Zeit auf:<\/p>\n<p class=\"postmetadata alt\"><em> CC [M]  \/home\/build\/mantis-0b04be0c088a\/v4l\/cx23885-core.o<br \/>\nCC [M]  \/home\/build\/mantis-0b04be0c088a\/v4l\/cx23885-i2c.o<br \/>\nCC [M]  \/home\/build\/mantis-0b04be0c088a\/v4l\/cx23885-dvb.o<br \/>\nCC [M]  \/home\/build\/mantis-0b04be0c088a\/v4l\/cx25840-core.o<br \/>\n\/home\/build\/mantis-0b04be0c088a\/v4l\/cx25840-core.c:71: error: conflicting type qualifiers for &#8216;addr_data&#8217;<br \/>\n\/home\/build\/mantis-0b04be0c088a\/v4l\/..\/linux\/include\/media\/v4l2-i2c-drv-legacy.h:41: error: previous declaration of &#8216;addr_data&#8217; was here<br \/>\nmake[3]: *** [\/home\/build\/mantis-0b04be0c088a\/v4l\/cx25840-core.o] Error 1<br \/>\nmake[2]: *** [_module_\/home\/build\/mantis-0b04be0c088a\/v4l] Error 2<br \/>\nmake[2]: Leaving directory `\/usr\/src\/linux-headers-2.6.25-2-686&#8242;<br \/>\nmake[1]: *** [default] Error 2<br \/>\nmake[1]: Leaving directory `\/home\/build\/mantis-0b04be0c088a\/v4l&#8217;<br \/>\nmake: *** [all] Error 2<\/em>\n<\/p>\n<p>aber zum Glueck sind wir da nicht die einzigen, die sich mit dem Problem rumschlagen. Hier gibts einen <a title=\"v4l2-patch\" href=\"http:\/\/www.kernel.org\/pub\/linux\/kernel\/people\/akpm\/patches\/2.6\/2.6.24-rc4\/2.6.24-rc4-mm1\/broken-out\/fix-jdelvare-i2c-i2c-constify-client-address-data.patch\">passenden Patch<\/a>, der das Problem behebt. Mit diesem patchen wir nicht etwa unsere eigenen Kernel-Sourcen sondern die Teile der API, die im Manits-Paket enthalten sind. Das geht dann so:<\/p>\n<p class=\"postmetadata alt\"><em>cd mantis-<\/em><em>0b04be0c088a<\/em><br \/>\n<em>wget http:\/\/www.kernel.org\/pub\/linux\/kernel\/people\/akpm\/patches\/2.6\/2.6.24-rc4\/2.6.24-rc4-mm1\/broken-out\/fix-jdelvare-i2c-i2c-constify-client-address-data.patch<\/em><br \/>\n<em>cd linux<\/em><br \/>\n<em>patch -p1 &lt; ..\/fix-jdelvare-i2c-i2c-constify-client-address-data.patch<\/em>\n<\/p>\n<p>Das sollte dann folgende Ausgabe erzeugen:<\/p>\n<p class=\"postmetadata alt\"><em>root@core01:~\/mantis-0b04be0c088a\/linux# patch -p1 &lt; ..\/fix-jdelvare-i2c-i2c-constify-client-address-data.patch<br \/>\npatching file include\/media\/v4l2-i2c-drv-legacy.h<br \/>\nHunk #1 succeeded at 38 (offset 4 lines).<\/em><\/p>\n<p>Danach versuchen wir erneut einen Compile.  Und siehe da, es geht weiter. Aber leider nicht lange. Naechster Fehler hier:<\/p>\n<p class=\"postmetadata alt\"><em>CC [M]  \/home\/build\/mantis-0b04be0c088a\/v4l\/bt866.o<br \/>\nCC [M]  \/home\/build\/mantis-0b04be0c088a\/v4l\/ks0127.o<br \/>\n\/home\/build\/mantis-0b04be0c088a\/v4l\/ks0127.c:768: error: unknown field &#8216;usage_count&#8217; specified in initializer<br \/>\n\/home\/build\/mantis-0b04be0c088a\/v4l\/ks0127.c:769: warning: missing braces around initializer<br \/>\n\/home\/build\/mantis-0b04be0c088a\/v4l\/ks0127.c:769: warning: (near initialization for &#8216;ks0127_client_tmpl.dev&#8217;)<br \/>\nmake[3]: *** [\/home\/build\/mantis-0b04be0c088a\/v4l\/ks0127.o] Error 1<br \/>\nmake[2]: *** [_module_\/home\/build\/mantis-0b04be0c088a\/v4l] Error 2<br \/>\nmake[2]: Leaving directory `\/usr\/src\/linux-headers-2.6.25-2-686&#8242;<br \/>\nmake[1]: *** [default] Error 2<br \/>\nmake[1]: Leaving directory `\/home\/build\/mantis-0b04be0c088a\/v4l&#8217;<br \/>\nmake: *** [all] Error 2<\/em><\/p>\n<p>ZeeFix&#8230; Aber das Modul ks0127.c brauchen wir nicht. Was ist das ueberhaupt?<\/p>\n<p>* Video Capture Driver (Video for Linux 1\/2)<\/p>\n<p>* for the Matrox Marvel G200,G400 and Rainbow Runner-G series<\/p>\n<p>Aehm, nee&#8230;. Also das brauchen wir nicht. Dann sollten wir das abschalten. Das geht, indem wir in der Datei <em>mantis-0b04be0c088a\/v4l\/.config <\/em>die Variable<em> CONFIG_VIDEO_KS0127 <\/em>auf <em>&#8220;n&#8221; <\/em>setzen. Danach versuchen wir erneut das Paket durchzukompilieren. Und endlich laeufts dann auch mal durch:<\/p>\n<p class=\"postmetadata alt\">\n LD [M]  \/home\/build\/mantis-0b04be0c088a\/v4l\/zr36060.ko<br \/>\n  CC      \/home\/build\/mantis-0b04be0c088a\/v4l\/zr36067.mod.o<br \/>\n  LD [M]  \/home\/build\/mantis-0b04be0c088a\/v4l\/zr36067.ko<br \/>\n  CC      \/home\/build\/mantis-0b04be0c088a\/v4l\/zr364xx.mod.o<br \/>\n  LD [M]  \/home\/build\/mantis-0b04be0c088a\/v4l\/zr364xx.ko<br \/>\nmake[2]: Leaving directory `\/usr\/src\/linux-headers-2.6.25-2-686&#8242;<br \/>\n.\/scripts\/rmmod.pl check<br \/>\nfound 233 modules<br \/>\nmake[1]: Leaving directory `\/home\/build\/mantis-0b04be0c088a\/v4l&#8217;<br \/>\nroot@core01:~\/mantis-0b04be0c088a#\n<\/p>\n<p>Congratz! Wenns so aussieht, dann hat der Compile schon mal geklappt. Dann gehts jetzt daran die Treiber zu installieren, aktivieren und zu testen \ud83d\ude42 Ich moechte hier nochmal darauf Hinweisen, dass ich keine Schuld daran trage, wenn Eure Kiste die Graetsche macht. Hier laeuft zwar alles soweit, dass soll aber nicht heissen, dass das immer so klappt. Installieren kann man die neuen Treiber dann mit:<\/p>\n<p class=\"postmetadata alt\">\n<em>make install<\/em>\n<\/p>\n<p>Dazu muss man natuerlich root sein. Wenn das alles soweit geklappt hat kann man entweder booten. Das UDEV von Debian laed dann (zumindestens bei mir) automagisch den Mantis Treiber. Oder aber man kann den Treiber direkt von Hand laden. <\/p>\n<p class=\"postmetadata alt\">\n<em> modprobe mantis<\/em>\n<\/p>\n<p>Bei einer erfolgreichen Initialisierung sollte dann folgendes im <em>dmesg<\/em> zu beobachten sein:<\/p>\n<p class=\"postmetadata alt\">\n[18425.882247] ACPI: PCI Interrupt 0000:02:0c.0[A] -> GSI 20 (level, low) -> IRQ 20<br \/>\n[18425.882289] irq: 20, latency: 64<br \/>\n[18425.882291]  memory: 0xf7eff000, mmio: 0xf8c3e000<br \/>\n[18425.882295] found a VP-2040 PCI DVB-C device on (02:0c.0),<br \/>\n[18425.882299]     Mantis Rev 1 [153b:1178], irq: 20, latency: 64<br \/>\n[18425.882303]     memory: 0xf7eff000, mmio: 0xf8c3e000<br \/>\n[18425.885721]     MAC Address=[00:08:ca:1c:83:b3]<br \/>\n[18425.885758] mantis_alloc_buffers (0): DMA=0x33ed0000 cpu=0xf3ed0000 size=65536<br \/>\n[18425.885766] mantis_alloc_buffers (0): RISC=0x33ee4000 cpu=0xf3ee4000 size=1000<br \/>\n[18425.885770] DVB: registering new adapter (Mantis dvb adapter)<br \/>\n[23799.552888] mantis_frontend_init (0): Probing for CU1216 (DVB-C)<br \/>\n[23799.557989] mantis_frontend_init (0): found Philips CU1216 DVB-C frontend (TDA10023) @ 0x0c<br \/>\n[23799.557995] mantis_frontend_init (0): Mantis DVB-C Philips CU1216 frontend attach success<br \/>\n[23799.558002] DVB: registering frontend 0 (Philips TDA10023 DVB-C)&#8230;<br \/>\n[23799.558067] mantis_ca_init (0): Registering EN50221 device<br \/>\n[23799.558144] mantis_ca_init (0): Registered EN50221 device<br \/>\n[23799.558157] mantis_hif_init (0): Adapter(0) Initializing Mantis Host Interface\n<\/p>\n<p>So, jetzt haben wir die DVB-Karte aktiv. Als naechstes gehts dann an die Installation von MythTV unter Lenny. Das verwende ich als Videorecorder und UPNP Media Server. Dazu mehr in einem anderen Post. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Da ja Debian Lenny vor der Tuere steht dachte ich mir, ich mach gleich mal Testweise ein Upgrade meiner eierlegenden Wollmilchsau um dann wieder moeglichst lange meine Ruhe zu haben \ud83d\ude42 Dabei habe ich mir auch gleich eine neue TV Karte fuer die Videorecorder-Funktion gekauft. Diesmal Digital Kabel, DVB-C. Eine Terratec Cinergy C PCI.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,3],"tags":[15,16,4],"class_list":["post-83","post","type-post","status-publish","format-standard","hentry","category-cool_setups","category-linux_stuff","tag-debian","tag-dvb-c","tag-linux"],"_links":{"self":[{"href":"https:\/\/www.admindu.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/83","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.admindu.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.admindu.de\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.admindu.de\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.admindu.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=83"}],"version-history":[{"count":34,"href":"https:\/\/www.admindu.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions"}],"predecessor-version":[{"id":149,"href":"https:\/\/www.admindu.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions\/149"}],"wp:attachment":[{"href":"https:\/\/www.admindu.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=83"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.admindu.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=83"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.admindu.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}