Kernelquellen

Software besorgen und anwenden
Post Reply
Message
Author
sdw13

Kernelquellen

#1 Post by sdw13 »

Ich versuche gerade einen D-Link DGE 530T Netzwerk Adapter zum Laufen zu bringen. Hierzu wird das Kernelmodul sk98lin benötigt. Der mit dem Kernel 2.6.5-7.155.29 mitgelieferte sk98lin.ko wird zwar geladen, jedoch funktioniert die Datenübertragung nicht, obwohl laut der blinkenden LEDs des switch und der Netzwerkarten Daten übertragen werden. Jedenfalls erhalte ich auf ping keine Antwort, gleichgültig in welche Richtung ich pinge. Übrigens ist der Adapter selbst in Ordnung, da er unter Windows richtig arbeitet. Auf der Installations CD von D-Link sind die von D-Link authorisierten Quellen des Modul sk98lin vorhanden. Bei dem Versuch, diese zu compilieren erhalte ich jedoch etliche Fehler und bin nun beim eigentlichen Problem. Beim Versuch, die Fehler zu beseitigen bin ich auf einige Merkwürdigkeiten in den Kernel header Dateien gestoßen. So enthält z. B. die Datei <linux/slab.h> die Zeile #include "kmalloc_sizes.h" , was natürlich zwangsläufig zu file not found führt. Durch ändern der Zeile in #include <linux/kmalloc_sizes.h> ließ sich dieser Fehler beseitigen. In der Datei <asm/irq.h> steht in Zeile 16 der Eintrag #include "irq_vectors.h", was ebenfalls zu file not found führte. Dieser Fehler ließ sich allerdings nicht so einfach beseitigen wie der zuvor ganannte, da eine Datei irq_vectors.h schlicht nicht vorhanden ist. Dadurch bedingt, können z. B. die in anderen header Dateien verwendeten symbolischen Konstanten NR_IRQS und NR_IRQ_VECTORS nicht aufgelöst werden, denn in keiner der vorhandenen header Dateien findet sich hierfür ein #define. Vielleicht ist ja irgendwo jemand, der weiß, wie es zu diesem Problem kommt oder wie es zu lösen ist. Wenn jemand eine andere Lösung meines D_LINK DGE 530T Problems kennt, würde ich mich auch freuen.

User avatar
Lateralus
prolinux-forum-admin
Posts: 1238
Joined: 05. May 2004 7:35

#2 Post by Lateralus »

Guten Morgen

Ohne näher auf dein Problem eingehen zu können, kann ich dir sagen, welche header-Datei du einbinden musst. Ein

Code: Select all

grep -r -l "#define NR_IRQS" /usr/include/*
hat das Ergebnis

Code: Select all

/usr/include/asm/irq.h
Also bitte ein "#include <asm/irq.h>" in den Kopf...


Wenn übrigends die LEDs am Switch fleißig am arbeiten sind, würde ich mich ein paar Schichten über dem Treiber mal umschauen. Wie ist die Karte konfiguriert, etc.

Post Reply