
Ich versuche, meinen Atheros AR1111 EB-WG PCI-WLAN-Adapter zum Laufen zu bringen. Im Moment wird WLAN nicht einmal erkannt. Ich verwende Ubuntu 12.04 64bit und habe einen xp64bit-Treiber gefunden. Ich habe die genauen Schritte hier befolgt: https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper
Und wo ich das tue:
ndiswrapper -l
Ich bekomme so etwas wie:
{name of driver} : driver installed
device ({Chipset ID}) present
Dies zeigt, dass der Treiber ordnungsgemäß installiert wurde
Nachdem ich jedoch das neue Modul geladen habe:
sudo modprobe ndiswrapper
es passiert nichts und iwconfig zeigt an, dass ich immer noch kein WLAN habe.
Ich habe versucht, „dmseg | grep ndiswrapper“ auszuführen, aber es gab keine Fehler beim Laden des Treibers oder sonstiges Ungewöhnliches.
Ich habe auch ath5k und ath8k auf der Blacklist in /etc/modprobe.d/blacklist.conf
Was mache ich falsch? Was könnte die Ursache sein?
Antwort1
ndiswrapper
ist von Natur aus fehlerhaft und wird immer mit der überwiegenden Mehrheit der verfügbaren WiFi-Treiber inkompatibel sein. Intern verwendet es eine Form der Emulation, die der wine
für allgemeine Userspace-Anwendungen ähnelt. Es ist keine perfekte Wissenschaft, da die Semantik und Funktionsaufrufnutzung von NDIS-Gerätetreibern unterschiedlich ist und weil ndiswrapper
in der Vergangenheit nur die Unterstützung für Funktionsaufrufe implementiert wurde, die für Treiber, die unterstützt werden sollten, unbedingt erforderlich sind, also das absolute Minimum. Daher sind viele Funktionsaufrufe noch nicht implementiert und aufgrund des Designs des Netzwerkstapels des Linux-Kernels möglicherweise nicht implementierbar.
Sie machen wahrscheinlich nichts "falsch", außer dass Sie meiner Meinung nach ndiswrapper
zuerst das Kernelmodul laden müssen.Dannrun ndiswrapper -l
. Aber wenn Sie die Schnittstelle nicht bekommen, dann ist esfunktioniert einfach nichtDies ist so ziemlich die Norm für ndiswrapper
.
Wie wine
müssen einzelne Treiberversionen für einzelne WLAN-Karten speziell „zielgerichtet“ sein, und Entwicklungsteams (ehrenamtlich oder kommerziell) müssen die NDIS-Aufrufe des Treibers analysieren und bestimmen, wie sie geändert werden müssen, um ndiswrapper
den jeweiligen Treiber zu unterstützen. Dies ist eine Standardentwicklungsmethode für Emulationsschichten, da die Implementierung einer vollständigen Emulationsschicht sehr arbeitsintensiv ist und aufgrund von semantischen Fehlanpassungen, Schichtfehlanpassungen usw. ohnehin von Haus aus voller Fehler ist.
Sie sollten intensiver nach einem nativen Open-Source-Treiber für Ihren Chipsatz suchen. Andernfalls haben Sie wahrscheinlich Pech gehabt. ndiswrapper
ist keine Lösung; es ist ein temporärer Platzhalter, um einer kleinen Gruppe von Benutzern mit ungewöhnlichen Chipsätzen grundlegende drahtlose Funktionen bereitzustellen, bis ein Open-Source-Treiber geschrieben werden kann. Verlassen Sie sich nicht darauf; erwarten Sie nicht, dass es funktioniert; bestehen Sie auf einem nativen Treiber oder ersetzen Sie Ihre Hardware einfach durch etwas, das von Haus aus unterstützt wird. Tut mir leid.