Hi,
ich hab in meinem PC die digitale TV-Karte von Twinhan eingebaut - funktioniert unter Windows sehr gut. Will diese aber unter Linux (SuSE9.0) nutzen. Hierzu hab ich von Twinhan den Linuxtreiber bekommen und installiert. Dieser ist als Modul vorhanden - wenn ich diesen unter lsmod aufrufe wird dieser angezeigt aber als \'unused\'. insmod sagt mir Modul bereits vorhanden. Der Befehl lspci zeigt mir ebenfalls den Chipsatz Brooktree bt878. Wenn ich unter yast die Hardwarekonfiguration aufrufe wird diese TV-Karte ebenfalls angezeigt, aber unter den Punkt Treiber finde ich die Hinweise -Modul, -aktiv: nein.
Unter Yast kann ich diese TV-Karte nicht einrichten, da die Auswahlliste diese TV-Karte und den Tuner nicht kennt.
Frage: Wie kann ich diesen Treiber bzw. dieses Treibermodul aktivieren?
Kdetv meldet mir dass kein Gerät erkannt wurde.
Wie kann ich dafür sorgen, dass die TV-Karte nun endlich auf diesen Treiber zugreift?
Ich hab mittlerweile viel über Kernel und Module gelesen aber für dieses kleine Problem finde ich nirgends eine Lösung.
Gruss Olaf
Linux 15.039 Themen, 107.142 Beiträge
Ich verwende Debian Sarge 3.1. Du mußt dich mal an den Hersteller wenden und in Erfahrung bringen, von welchen Kernelmodulen dieses Kernelmodul abhängig ist und in welcher Reihenfolge diese Kernelmodule geladen werden müssen. Ich kann das nicht wissen.
Ich kann mir vorstellen, das eventuell der Betriebsystemkern nicht zum Kernelmodul passt. Normalerweise bekommt man den Sourcecode vom Kernelmodul und muß gegen die Headerdateien des Kernels ein Interface kompilieren. Ich weiß nicht wie du den Treiber installiert hast.
Du mußt dir vorstellen, das ein Kernelmodul ein Teil des Betriebsystemkerns ist, welcher zur Laufzeit geladen wird und zum übrigen Kern hinzugelinkt wird.
Normalerweise bekommt man vom Hersteller einen Teil des Treibers als Binärdatei und einen Teil als Programmcode. Mit diesem Programmcode wird ein Interface gegen die Headerdateien des Kerns kompiliert, damit sich das Kernelmodul in den Speicher laden läßt und mit dem übrigen Kern verbunden wird. Dabei muß alles zueinander passen:
Der Betriebsystemkern, die Headerdateien des Kerns und die Version des C-Kompiler gcc.
Wenn du nicht weißt was eine Headerdatei ist, kann ich es mal versuchen zu erklären:
In der Headerdatei eines Programmes oder Betriebsystemkerns steht die Deklaration von Funktionen und anderen Dingen wie Variablen u.s.w. Der Kompiler muß wissen welche Funktionen der Betriebsystemkern hat, um den Treiber richtig zu kompilieren. Der Treiber muß hinterher genau zum Kern passen, sonst funktioniert er nicht richtig.
Die Headerdateien sind beim Programmcode des Kerns mit dabei.
Vielleicht passt der Treiber irgendwie nicht zum Betriebsystemkern. Normalerweise wird ein Interface gegen die Headerdateien des Kerns kompiliert, damit der Treiber sich mit modprobe hinterher laden läßt.
