Login
Newsletter
Werbung

So, 14. Dezember 2003, 22:22

Software::Distributionen::BSD::FreeBSD

NDIS unter FreeBSD

Mit der Veröffentlichung des Projektes Evil, das bereits unter dem Namen NDISulator bekannt war, wird es in Zukunft unter FreeBSD möglich sein, Windows-Netzwerk-Treiber ohne weitere Anpassungen einzusetzen.

Das neu in den CVS-Zweig des Betriebssystems eingepflegte Modul wird nach Aussagen der Programmierer jedem Nutzer von FreeBSD die Möglichkeit gegeben, Network Device Interface Specification (NDIS) Miniport-Treiber unter FreeBSD einzusetzen. NDIS selbst stellt eine standardisierte Schnittstelle für den Datenaustausch zwischen der Hardware-Schicht (Treiber) und den Protokolltreibern unter Windows dar.

Ein Treiber, welcher die Kommunikation zwischen der Hardware und dem Betriebssystem regelt, verfügt in der Regel über zwei Schnittstellenarten. Zum einen bietet ein Treiber eine Schnittstelle zum Betriebssystem hin, die unter Windows durch NDIS geregelt wird, und zum anderen eine Schnittstelle zur Hardware, mittels derer Hardware-Zugriffe realisiert werden können. Bedingt durch die Tatsache, dass ein Treiber die Konfiguration, Initialisierung und das Handling einer Hardware-Komponente unter jedem Betriebssystem gleich regelt (Common-Funktionalität des Treibers), kann davon ausgegangen werden, dass diese Zugriffe auch unter anderen Systemen funktionieren. Was liegt also näher, als einen Abstraction Layer zwischen den Treiber und das System zu schalten, der NDIS-Aufrufe abfängt und in betriebsystemspezifische Aufrufe »umwandelt«. Eine ähnliche Funktionsweise haben bereits verfügbare Treiber unter Linux, die ebenfalls NDIS Miniport-Treiber unter Linux unterstützen.

Die für FreeBSD vorgestellte Lösung besteht aus drei Teilen. Zum einen enthält die Erweiterung eine NDIS-kompatible API, die die binäre Kompatibilität mit NDIS.SYS, HAL.dll und ntoskrnl.exe mit einem kleinen Relocator/Linker mit sich führt, und zum anderen einen NDIS-Wrapper. Dieser ermöglicht Windows-Treibern, auf das »neue« NDIS zuzugreifen und enthält alle systemspezifischen Aufrufe, die ein Treiber braucht. Der dritte Teil ist eine kleine Anwendung, die sich um die Konvertierung der sys- und inf-Dateien kümmert und unter BSD nutzbare Header-Dateien erzeugt.

Die im Moment nur für i386 verfügbare Lösung kann ab sofort vom CVS-Server des FreeBSD-Projektes bezogen werden. Nach Auskunft der Programmierer enthält die Lösung 85 Prozent aller NDIS-Aufrufe. Getestet wurde die Kompatibilitätsschicht unter anderem mit LinkSys LNE100TX v4 (Lne100v4.sys), Intel 82559 (e100bex.sys) und Broadcom BCM43xx wireless (bcmwl5.sys). Tendenz steigend.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung