Ndiswrapper i wifi

Ndiswrapper to moduł kernela, który umożliwia uruchomienie kart sieci bezprzewodowej WLAN z pomocą binarnych sterowników windowsa. Strona projektu to ndiswrapper.sourcefourge.net, gdzie możemy zobaczyć np. listę układów wspieranych przez Ndiswrappera: link.
Karty WLAN ze wsparciem dla linuksa to rzadkość. Do najbardziej znanych można wymienić karty oparte na układzie Orinoco (nie produkowane już) np. Lancom Air Lancer MC-11. Możemy też skorzystać z nowszych kart, z układem Prism Duette ISL3890 - Kernel w wersji 2.6.5 i nowszej posiada sterowniki dla tego układu. Procesory Centrino wyposarzone w układ Intel Pro/Wireless 2100 dość dobrze działają pod Ndiswrapperem.
Prawidłowe działanie Ndiswrappera zależy od kilku czynników: układu karty sieciowej, wersji jądra oraz ACPI. By poznać nazwę układu naszej karty wystarczy porównać wyniki polecenie lspci przed i po podłączeniu karty (lub też ew. skorzystać z programów listujących sprzęt). Próby z ndiswrapperem warto zacząć od pakietów dostarczonych wraz z dystrybucją a w przypadku problemów lub braku owych pakietów należy sięgnąć po najnowszą wersję.

Instalacja modułu ndiswrappera ze źródeł

Na początku musimy "zainstalować" źródła używanego kernela. Każda dystrybucja ma odpowiedni pakiet lub też domyślnie (bez dodatkowego pakietu) umieszcza je w systemie. Źródła kernela znajdziemy w /usr/src/*nazwa kernela*/. Jeżeli mamy źródła to wchodzimy do katalogu ze źródłami ndiswrappera i wydajemy polecenia make i make install (jako root). Skompiluje to moduł, doda go do listy modułów naszego kernela oraz zainstaluje aplikacje pomocnicze - loadndisdriver do /sbin i do /usr/sbin Ndiswrapper - skrypt perla instalujący i kasujący sterowniki windows.

Korzystanie z ndiswrappera

Po instalacji ndiswrappera musimy namierzyć sterowniki windowsa dla naszej karty. Odnośniki do sterowników znajdują się na stronie ndiswrappera, możemy też trochę pogooglać a jeżeli mamy kartę wraz z akcesoriami to sterownik musi być na płycie dołączonej do urządzenia :) Czasami sterowniki są w postaci plików exe i jeżeli są to zwykłe samorozpakowujące się zipy to polecenie unzip również sobie z nimi poradzi. Jeżeli są problemy użyj wine (a jak nie możesz to windowsa...). Ndiswrapper wymaga plików *.inf i *.sys i gdy mamy już te dwa pliki sterownika to wydajemy polecenie ndiswrapper -i sterownik.inf co zainstaluje sterownik (/etc/ndiswrapper/nazwa_sterownika/). Po podłączeniu karty sieciowej wykonujemy polecenie ndiswrapper -l aby sprawdzić czy posiadamy właściwy sterownik. Polecenie to wyświetla listę zainstalowanych sterowników i przy właściwym powinno być słowo "present" - jeżeli nie ma to albo mamy niewłaściwy sterownik albo sterownik w wersji nie obsługiwanej przez ndiswrapper. Jeżeli sterownik jest to wykonujemy polecenie modprobe ndiswrapper co załaduje moduł ndiswrappera wraz z potrzebnym sterownikiem. Jeżeli nie było problemów to możemy przystąpić do konfiguracji połączenia a sposoby są różne - SuSE ma YaSTa, Mandriva ma drakeconnecta itd. Należy zapoznać się z dokumentacją dystrybucji na ten temat (albo wejść na forum, najlepiej główne i w wyszukiwarce forum wpisać "ndiswrapper" :)) "Najprostsze" rozwiązanie to iwconfig:
iwconfig wlan0 mode Ad-Hoc
iwconfig wlan0 up
Jest to bardzo uproszczona procedura i nie zawsze zadziała (obecność serwera DHCP itd.) + kwestie bezpieczeństwa. Pomocne mogą być takie aplikacje jak kwifimanager z pakietu kdenetwork.
RkBlog

Wprowadzenie do świata Linuksa, 14 July 2008

Comment article
Comment article RkBlog main page Search RSS Contact