Linux 15.002 Themen, 106.682 Beiträge

Aus einer .c und einer .h ein Treiber-Modul schaffen - wie?

gerfield / 11 Antworten / Flachansicht Nickles

Hallo,

ich habe hier einen kleinen Compaq Deskpro EN stehen. Dieser hat nur einen PCI-Slot, und weil ich diesen mit einer vernünftigen Grafikkarte füllen möchte, muss die onBoard Netzwerkkarte laufen.
Es ist ein "ThunderLAN", auch "TLAN" gennant, Chip entwickelt von Compaq und TI. Tatsächlich fand ich auch einen Treiber, hier:

--> http://sourceforge.net/projects/tlan/

Ich habe die tar.gz entpackt, darin befindet sich:

- ChangeLog
- tlan.c
- tlan.h
- tlan.txt

Die ChangeLog hilft mir natürlich nicht, in der tlan.txt stehen einige Parameter drin, die ich per insmod angeben kann, aber nicht, wie ich aus dem tlan.c und dem tlan.h ein Treiber-Modul tlan.o schaffe!.

Jemand eine Idee?

GrußgerfieldIn a world without walls and fenceswho needs Windows and Gates?
bei Antwort benachrichtigen
KarstenW gerfield „Aus einer .c und einer .h ein Treiber-Modul schaffen - wie?“
Optionen

Da hier ein Kernelmodul kompiliert werden soll, muß man erstmal herausfinden für welche Kernelversion dieser Treiber programmiert wurde. Dann müssen die passenden Kernelsourcen installiert sein. Also für einen 2.6.8er Kern müssen auch die 2.6.8er Kernelsourcen installiert werden.

Dieses Kernelmodul muß dann mit "modprobe Treiber" oder "insmod Treiber" in den Speicherbereich des Betriebsystemkerns geladen werden.

PS: Dieser Treiber ist von 2002:

Posted By: chessman
Date: 2002-09-06 07:29
Summary: TLAN v1.15 now on Sourceforge

The current version of the TLAN driver v1.15 is in linux 2.4.19.

Wenn du dir einen eigenen Betriebsystemkern kompilieren würdest, dann würdest du sehen das unter "Device Driver--->Networking support--->Ethernet (10 or 100 Mbit)---->TI TunderLan support" schon der richtige Treiber bei den Kernelsourcen dabei ist.

Du brauchst also nur einen eigenen Kern zu kompilieren und die Unterstützung für TI Thunder Lan zu aktivieren.

Das ist ja auch der Sinn einen eigenen Kern zu kompilieren. Bei einem monolitischen Betriebsystemkern laufen alle Treiber und Netzwerkprotokolle im Betriebsystemkern. Da die Rechner sehr unterschiedlich in der Ausstattung sind, kann man immer einen eignen Kern speziell für den jeweiligen Kern kompilieren.

Man kann aber auch immer Treiber nachinstallieren. Dabei wird gegen die Headerdateien des Betriebsystemkerns ein Interface kompiliert und man kann dann dieses Kernelmodul mit "modprobe" in den Betriebsystemkern (direkt in den Speicherbereich des Betriebsystemkerns) laden.

Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen