PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linux und Treiberschnittstellen



stefan-tiger
15.05.06, 17:28
Hallo,

demletzt gab es öfter Artikel zu Linux und Treibschnitstellen die ich nicht so aufmerksam durchgelesen hab.

Aber mittlerweile hab ich mit dem Problem zu tun. Ich habe den Sourcecode von zwei Kernelmodulen, das eine für vpn, das andere für USB. Unter älteren 2.6 Kerneln (z.B. 2.6.11) funktionieren die.

Bei neueren (2.6.15, 2.6.16) muss jeweils 2 Zeilen im Quellcode des Treibers geändert werden um die zu kompilieren.

Bei dem einen wurde bei einem typedef in den Kernelquellen eine Kleinigkeit geändert. Dieser Datentyp wird in einem der Module verwendet.
Beim andere Modul musste ich sogar ganze Felder in zwei structs auskommentieren damit es kompiliert werden konnte.

Also USB gibts ja schon sehr lange. Ich versteh nicht wie man immrnoch an der implementierung rummachen kann und dann solche inkompatiblitäten in kauf nimmt.

Wers genau wissen will:

Beim cisco-vpnclient: http://www.linuxforen.de/forums/showthread.php?t=203197

Beim USB-Treiber des IO-Warriors von http://www.codemercs.de/D_index.html muss in der Datei iowarrior.c die Zeile 166 und 173 auskommentiert werden, da usb_class_driver wohl kein mode mehr enthält und usb_driver kein owner.