Kernelquellen
Kernelquellen
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.
Guten Morgen
Ohne näher auf dein Problem eingehen zu können, kann ich dir sagen, welche header-Datei du einbinden musst. Ein
hat das Ergebnis
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.
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/*
Code: Select all
/usr/include/asm/irq.h
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.