Probleme beim kompiliern von ivtv unter 2.6.10

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
L3xuz
Beiträge: 9
Registriert: 21.02.2005 15:22:16

Probleme beim kompiliern von ivtv unter 2.6.10

Beitrag von L3xuz » 21.02.2005 15:46:26

Hi Leutz,

Ich (Debian-DAU) bin gerade dabei mir einen VDR aufzusetzen. Als Grundlage nehme ich eine CTVDR 3.06, die ja als Grundlage Debian hat

Diese hab ich mittlerweile auf 2.6.10 geupgradet, aber nun funktioniert das kompiliern von Modulen anscheinend nicht mehr. Ich hab folgenden Beitrag zwar schon im VDR-Portal gepostet (http://www.vdr-portal.de/board/thread.p ... post268846), hab aber noch leider keine Antwort bekommen.

Ich hoffe die Debian-Cracks hier im Forum haben da noch eine Idee.

Beim kompilieren vom ivtv (ich hab ja mittlerweile Übung) bekomm ich folgenden Krempel

Code: Alles auswählen

vdr:/usr/src/ivtv/driver# make
make -C /lib/modules/2.6.10-rc1-ctvdr-1/build SUBDIRS=/usr/src/ivtv/driver modules
make[1]: Entering directory `/usr/src/kernel-headers-2.6.10-1'
  CC [M]  /usr/src/ivtv/driver/msp3400.o
  CC [M]  /usr/src/ivtv/driver/saa7115.o
  CC [M]  /usr/src/ivtv/driver/tveeprom.o
  CC [M]  /usr/src/ivtv/driver/ivtv-driver.o
  CC [M]  /usr/src/ivtv/driver/ivtv-fileops.o
  CC [M]  /usr/src/ivtv/driver/ivtv-i2c.o
  CC [M]  /usr/src/ivtv/driver/ivtv-streams.o
  CC [M]  /usr/src/ivtv/driver/ivtv-firmware.o
  CC [M]  /usr/src/ivtv/driver/ivtv-reset.o
  CC [M]  /usr/src/ivtv/driver/ivtv-gpio.o
  CC [M]  /usr/src/ivtv/driver/ivtv-queue.o
  CC [M]  /usr/src/ivtv/driver/ivtv-irq.o
  CC [M]  /usr/src/ivtv/driver/ivtv-mailbox.o
  CC [M]  /usr/src/ivtv/driver/ivtv-vbi.o
  CC [M]  /usr/src/ivtv/driver/ivtv-kthreads.o
  CC [M]  /usr/src/ivtv/driver/ivtv-audio.o
  CC [M]  /usr/src/ivtv/driver/ivtv-ioctl.o
  CC [M]  /usr/src/ivtv/driver/ivtv-controls.o
  CC [M]  /usr/src/ivtv/driver/ivtv-video.o
  CC [M]  /usr/src/ivtv/driver/ivtv-cards.o
  CC [M]  /usr/src/ivtv/driver/v4l1-compat.o
  CC [M]  /usr/src/ivtv/driver/ivtv-dma.o
  LD [M]  /usr/src/ivtv/driver/ivtv.o
  CC [M]  /usr/src/ivtv/driver/saa7127.o
  Building modules, stage 2.
  MODPOST
Warning: could not find versions for .tmp_versions/ivtv.mod
  CC      /usr/src/ivtv/driver/ivtv.mod.o
  LD [M]  /usr/src/ivtv/driver/ivtv.ko
  CC      /usr/src/ivtv/driver/msp3400.mod.o
  LD [M]  /usr/src/ivtv/driver/msp3400.ko
  CC      /usr/src/ivtv/driver/saa7115.mod.o
  LD [M]  /usr/src/ivtv/driver/saa7115.ko
  CC      /usr/src/ivtv/driver/saa7127.mod.o
  LD [M]  /usr/src/ivtv/driver/saa7127.ko
  CC      /usr/src/ivtv/driver/tveeprom.mod.o
  LD [M]  /usr/src/ivtv/driver/tveeprom.ko
make[1]: Leaving directory `/usr/src/kernel-headers-2.6.10-1'

Any 'has no CRC' warnings are harmless and can be ignored.
Sieht ja ned ganz schlecht aus (bis auf das eine Warning), dachte ich mir, machste mal nen make install

Code: Alles auswählen

vdr:/usr/src/ivtv/driver# make install
make -C /lib/modules/2.6.10-rc1-ctvdr-1/build SUBDIRS=/usr/src/ivtv/driver modules
make[1]: Entering directory `/usr/src/kernel-headers-2.6.10-1'
  Building modules, stage 2.
  MODPOST
Warning: could not find versions for .tmp_versions/ivtv.mod
make[1]: Leaving directory `/usr/src/kernel-headers-2.6.10-1'

Any 'has no CRC' warnings are harmless and can be ignored.

make -C /lib/modules/2.6.10-rc1-ctvdr-1/build SUBDIRS=/usr/src/ivtv/driver modules_install
make[1]: Entering directory `/usr/src/kernel-headers-2.6.10-1'
  INSTALL /usr/src/ivtv/driver/ivtv.ko
  INSTALL /usr/src/ivtv/driver/msp3400.ko
  INSTALL /usr/src/ivtv/driver/saa7115.ko
  INSTALL /usr/src/ivtv/driver/saa7127.ko
  INSTALL /usr/src/ivtv/driver/tveeprom.ko
make[1]: Leaving directory `/usr/src/kernel-headers-2.6.10-1'
install -m 0644 ivtv.h //usr/include/linux
Sieht auch ned schlecht aus (bis auf das eine Warning), updatest mal die Module

Code: Alles auswählen

vdr:/usr/src/ivtv/driver# update-modules
Okay, schauste mal an, ob es funzt:

Code: Alles auswählen

vdr:/usr/src/ivtv/driver# modprobe ivtv
FATAL: Module ivtv not found.
Preisfrage: Wo habe ich den Fehler?

Hab alles so gemacht wie es in der install.txt vom ivtv drinstand

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Beitrag von storm » 22.02.2005 02:39:02

versuchs mal mit insmod. Geht es dann? Weiterhin kannste mal versuchen(direkt im Verzeichnis, in dem das frische module liegt):

Code: Alles auswählen

$> modinfo ./ivtv.ko
gibt das eine Ausgabe?

ciao, storm
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

L3xuz
Beiträge: 9
Registriert: 21.02.2005 15:22:16

Beitrag von L3xuz » 22.02.2005 18:15:39

Hi,

schon mal danke, dass du Dich meiner annimmst. Hab das mal ausprobiert

Code: Alles auswählen

vdr:/usr/src/ivtv/driver# modinfo ./ivtv.ko
filename:       ./ivtv.ko
author:         Kevin Thayer
description:    iTVC15_16 driver
license:        GPL
version:        0.3.2-d
vermagic:       2.6.10-1 SMP preempt PENTIUM4 gcc-3.3
depends:
parm:           ivtv_first_minor:Set minor assigned to first card
parm:           ivtv_std:Specify video standard: 1 = NTSC, 2 = PAL, 3 = SECAM, Default: Autodetect
parm:           ivtv_debug:Debug level (bitmask). Default: errors only (ivtv_debug = 255 gives full debugging)
parm:           cardtype:Only use this option if your card is not detected properly.
Specify card type:
                1 = WinTV PVR 250
                2 = WinTV PVR 350
                3 = AVerMedia M179
                4 = YUAN MPG600/Kuroutoshikou iTVC16-STVLP
                5 = YUAN MPG160/Kuroutoshikou iTVC15-STVLP
                Default: Autodetect
parm:           autoload:automatically load i2c modules like tuner.o, default is 1 (yes)
parm:           radio:Enable or disable the radio. Use only if autodetection fails. 0 = disable, 1 = enable
parm:           tda9887:Enable or disable tda9887 module, 0 = normal, 1+ = pinnacle_id
parm:           tuner:Tuner type selection, see tuner.h for values
Ein isnmod spuck folgendes aus:

Code: Alles auswählen

vdr:/usr/src/ivtv/driver# insmod ./ivtv.ko
insmod: error inserting './ivtv.ko': -1 Invalid module format
Hab ich das verkehrt kompiliert oder was?

Gruß L3xuz

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Beitrag von storm » 22.02.2005 21:51:49

Moin,

ich nehme mal an, als Kernel war vor dem update ein 2.4er drauf? Dann musst du beim Einsatz eines 2.6ers die "module-init-tools" installieren/updaten[1]. Also wenn du mit der Kiste Netzzugang hast:

Code: Alles auswählen

$> apt-get install module-init-tools

ciao, storm

[1] http://www.kubieziel.de/computer/hallow ... tml#module
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 22.02.2005 22:55:28

Wie "storm" schon angemerkt hat, gehören die module-init-tools auf alle Fälle installiert.
Wenn es dann immer noch nicht funtioniert, probier einmal ob dir dieses Kommando irgendwelche Fehler liefert

Code: Alles auswählen

depmod -a 2.6.10-1
und ob andere Standardmodule die gleiche vermagic haben:

Code: Alles auswählen

vermagic:       2.6.10-1 SMP preempt PENTIUM4 gcc-3.3
zur Info:
update-modules ist beim 2.6er bzw. mit den module-init-tools obsolet, das war für die modutils

L3xuz
Beiträge: 9
Registriert: 21.02.2005 15:22:16

Beitrag von L3xuz » 22.02.2005 23:13:13

depmod habe ich mal ausprobiert, kam folgendes dabei heraus:

Code: Alles auswählen

vdr:/usr/src/ivtv/driver# depmod -a 2.6.10-1
WARNING: Couldn't open directory /lib/modules/2.6.10-1: No such file or directory
FATAL: Could not open /lib/modules/2.6.10-1/modules.dep.temp for writing: No such file or directory
Weil's ne ursprüngliche C'T-Version ist (2.4.27 -> 2.6.10) hab ich dann folgendes depmod gemacht:

Code: Alles auswählen

vdr:/usr/src/ivtv/driver# depmod -a 2.6.10-rc1-ctvdr-1
Hat er ohne Probleme genommen......Hab mir aber trotzdem mal /lib/modules/ angesehen und ich glaub ich hab die Module gefunden

Code: Alles auswählen

vdr:/lib/modules# ls -l
insgesamt 532
drwxr-xr-x  5 root root   4096 2005-02-18 22:52 2.4.27-ctvdr-1 // von der ursprünglichen Version
drwxr-xr-x  3 root root   4096 2005-02-22 21:56 2.6.10 //  <--- Da hab ich die Module gefunden
drwxr-xr-x  3 root root   4096 2005-02-22 21:56 2.6.10-rc1-ctvdr-1 //  von der neuen Version
-r--r--r--  1 root root 262144 2005-02-19 23:08 ivtv-fw-dec.bin  // Firmware für meine PVR350
-r--r--r--  1 root root 262144 2005-02-19 23:08 ivtv-fw-enc.bin // Firmware für meine PVR350

vdr:/lib/modules/2.6.10# ls -lR
.:
insgesamt 40
drwxr-xr-x  2 root root 4096 2005-02-20 23:49 extra
-rw-r--r--  1 root root   45 2005-02-22 21:56 modules.alias
-rw-r--r--  1 root root   69 2005-02-22 21:56 modules.ccwmap
-rw-r--r--  1 root root  299 2005-02-22 21:56 modules.dep
-rw-r--r--  1 root root   73 2005-02-22 21:56 modules.ieee1394map
-rw-r--r--  1 root root  132 2005-02-22 21:56 modules.inputmap
-rw-r--r--  1 root root   81 2005-02-22 21:56 modules.isapnpmap
-rw-r--r--  1 root root   99 2005-02-22 21:56 modules.pcimap
-rw-r--r--  1 root root  272 2005-02-22 21:56 modules.symbols
-rw-r--r--  1 root root  189 2005-02-22 21:56 modules.usbmap

./extra:  //  <--- scheinen die fehlendn Module zu sein
insgesamt 488
-rw-r--r--  1 root root 170212 2005-02-22 21:48 cx25840.ko
-rw-r--r--  1 root root 186247 2005-02-22 21:48 ivtv.ko
-rw-r--r--  1 root root  33249 2005-02-22 21:48 msp3400.ko
-rw-r--r--  1 root root  15579 2005-02-22 21:48 saa7115.ko
-rw-r--r--  1 root root  16644 2005-02-22 21:48 saa7127.ko
-rw-r--r--  1 root root  24613 2005-02-22 21:48 tuner.ko
-rw-r--r--  1 root root  15386 2005-02-22 21:48 tveeprom.ko
-rw-r--r--  1 root root  12204 2005-02-22 21:48 wm8775.ko
Aber wie zum Teufel bekomme ich die jetzt fachgerecht eingebunden, bzw richtig installiert (im richtigen Verzeichnis)

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 22.02.2005 23:18:13

einfach einen eigenen Kernel backen :wink:

oder die Header zu einem Debian Standardkernel saugen, den gleichen Standardkernel installieren und deine Module mit Hilfe der Kernelheader neu bauen

L3xuz
Beiträge: 9
Registriert: 21.02.2005 15:22:16

Beitrag von L3xuz » 23.02.2005 00:04:41

Ich bin mit dem Kernel an sich eigentlich sehr zufrieden. Schön klein, fein, läd schnell und hat alles was ich brauch.
Wie gesagt, bin noch nen kleiner Linux DAU (ich trau mich noch ned nen eigenen Kernel zu kompilieren *schnüff*)

Gibts da ned ne andere Möglichkeit?
Die Header hatte ich von der normalen Distri genommen, da es für diese CT-Version keine eigenen passenden Header gab.

Woher weiß denn das 'make install' wohin es die Module kopieren soll?
Kann man das ned von '2.6.10' auf '2.6.10-rc1-ctvdr-1' umbiegen?
Die Headers stimmen ja an sich ja.

L3xuz
Beiträge: 9
Registriert: 21.02.2005 15:22:16

Beitrag von L3xuz » 23.02.2005 01:41:35

@gms:

hab mit dmsg folgendes gefunden

Code: Alles auswählen

ivtv: version magic '2.6.10-1 SMP preempt PENTIUM4 gcc-3.3' should be '2.6.10-rc1-ctvdr-1 preempt 586 4KSTACKS gcc-3.3'
hat das was mit dem zu tun, was du meinst?

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 23.02.2005 08:13:12

L3xuz hat geschrieben:

Code: Alles auswählen

ivtv: version magic '2.6.10-1 SMP preempt PENTIUM4 gcc-3.3' should be '2.6.10-rc1-ctvdr-1 preempt 586 4KSTACKS gcc-3.3'
hat das was mit dem zu tun, was du meinst?
sicher, daß Modul kann wenn überhaupt nur mit der "force" Option geladen werden

L3xuz hat geschrieben:Ich bin mit dem Kernel an sich eigentlich sehr zufrieden. Schön klein, fein, läd schnell und hat alles was ich brauch.
Wie gesagt, bin noch nen kleiner Linux DAU (ich trau mich noch ned nen eigenen Kernel zu kompilieren *schnüff*)

Gibts da ned ne andere Möglichkeit?
Die Header hatte ich von der normalen Distri genommen, da es für diese CT-Version keine eigenen passenden Header gab.

Woher weiß denn das 'make install' wohin es die Module kopieren soll?
Kann man das ned von '2.6.10' auf '2.6.10-rc1-ctvdr-1' umbiegen?
Die Headers stimmen ja an sich ja.
Die Header stimmen leider überhaupt nicht. Zum einen hast du einen 2.6.10-rc1 Kernel (rc1=Release Candidate) und die Header/Sourcen vom 2.6.10 Kernel (=>unterschiedliche Version). Zweitens sind in deinem ct-Kernel sicherlich andere Patches enthalten, als beim Debian Standardkernel (=>unterschiedliche Patches).

Hast du keine Headerdateien vom ct Kernel, oder können die vielleicht irgendwo downgeloadet werden ? Hast du die config zu dem ct-Kernel ?

[edit]

Die Version bzw das daraus resultierende Installationsverzeichnis könntest du durch Änderung der Release in der Datei ./include/linux/version.h:#define UTS_RELEASE "2.6.10-..." ändern.

Wenn dir dein System lieb ist, kann ich dir aber nur nochmals dringendst davon abraten.

P.S: die anderen Teile der vermagic müßtest du auch noch kontrollieren

Code: Alles auswählen

SMP PENTIUM4 gcc-3.3
[/edit]
Zuletzt geändert von gms am 23.02.2005 08:34:58, insgesamt 1-mal geändert.

L3xuz
Beiträge: 9
Registriert: 21.02.2005 15:22:16

Beitrag von L3xuz » 23.02.2005 08:34:08

vielleicht hab ich die Config........die finde ich wenn wo ?

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 23.02.2005 08:36:17

Code: Alles auswählen

ls /boot/config*

L3xuz
Beiträge: 9
Registriert: 21.02.2005 15:22:16

Beitrag von L3xuz » 23.02.2005 18:36:47

ja, hab ich gefunden, was mach ich jetzt damit?

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 23.02.2005 19:21:41

woher hast du den dieses Kernelimage vom 2.6.10 er, ich habe einmal testweise meine souces.list erweitert aber nur den 2.4.27 er gefunden. Den aber dafür inclusive Sourcen. Wahrscheinlich kannst du von dort auch die entsprechenden Sourcen downloaden

Code: Alles auswählen

gms1:~# apt-cache search ^kernel- | grep vdr
kernel-doc-2.4.27-ctvdr-1 - Linux kernel specific documentation for version 2.4.27-ctvdr-1.
kernel-headers-2.4.27-ctvdr-1 - Header files related to Linux kernel version 2.4.27-ctvdr-1
kernel-image-2.4.27-ctvdr-1 - Linux kernel binary image for version 2.4.27-ctvdr-1.
kernel-source-2.4.27-ctvdr-1 - Linux kernel source for version 2.4.27-ctvdr-1

L3xuz
Beiträge: 9
Registriert: 21.02.2005 15:22:16

Beitrag von L3xuz » 24.02.2005 00:15:09

Das Kernel-Image hab ich als deb direkt von der CT-Seite.

Ich hab ma geguckt, hab aber keine passenden Sourcen gefunden. Auch ned bei ct direkt auf dem FTP.

Hab mich da noch ned so schlau gemacht, kann ich mit der /boo/config* nen neuen Kernel bauen?

Wollt mir das ganze System nochmal neu aufziehen, allerdings direkt mit nem frischen Sarge und dann nen abgespeckten, angepassten Kernel bauen Würde sich sowieso anbieten, da ich festgestellt hab, dass meine Partitionierung für die Entwicklung ungünstig gewählt habe..

Langt das dann, wenn ich von dem bisherigen System die Config nehme oder brauch ich da sonst noch was?

IWenn ich mich da so recht verstanden hab, sind in dem angepassten Kernel von der CT schon DVB-T Treiber reingebastelt und noch so paar andere Specials. Wie bekomme ich raus, was die alles geändert haben?

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 24.02.2005 15:11:32

Wenn ich das hier richtig verstehe:
http://www.heise.de/ct/ftp/projekte/vdr ... debs.shtml

benötigst du nur die Kernelsourcen vom 2.6.10-rc1 und höchstens noch die V4L-Patches

L3xuz
Beiträge: 9
Registriert: 21.02.2005 15:22:16

Beitrag von L3xuz » 26.02.2005 21:33:23

Ich hab jetzt Version 2.6.10-1-k7 draufgepackt.
Komplett frisches System, Sourcen draufgemacht und siehe da, es funzt

Der IVTV-Treiber läuft jetzt also, aber wie bekomme ich das System jetzt Kernel-mäßig auf den gleichen Stand ?

Aber schon mal Danke für die Hilfe.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 26.02.2005 21:43:27

http://www.heise.de/ct/ftp/projekte/vdr3/extradebs.shtml hat geschrieben: Im Kernel sind die V4L-Patches von Gerd Knorr integriert (unter anderem Voraussetzung dafür, dass sich der Kernel überhaupt auch für Hauppauges neue Nova-Karte, 90002, übersetzen lässt).
brauchst du diesen Patch ?
Ansonsten mußt du nur den 2.6.10 Kernel und Treiber neukompilieren (diesmal mit allen DVB-Optionen zu aktiviert).

Antworten