Ndiswrapper

Kohteesta Linux.fi
Loikkaa: valikkoon, hakuun

Ndiswrapper rajapinta, joka mahdollistaa useimpien Windowsin WLAN-ajureiden käyttämisen Linuxissa. Tämä tapahtuu emuloimalla Windowsin käyttöjärjestelmäydintä sekä NDIS-verkkoajurirajapintaa. Ndiswrapperin päällä suoritettuina ajurit eivät välttämättä tarjoa samaa ominaisuusvalikoimaa ja nopeutta kuin Windowsin alla.

Ndiswrapper koostuu samannimisestä ytimen moduulista sekä komentoriviohjelmasta. WPA-salaus onnistuu wpa_supplicantin avulla, mutta WPA:n toimivuus riippuu käytettävästä ajurista tai jopa sen versiosta. Ndiswrapper vaatii Windowsin ajuritiedostot (*.inf). On suositeltavaa käyttää mahdollisimman tuoreita Windows-ajureita.

Ndiswrapperilla on kannattajansa ja vastustajansa. Toisaalta sillä saadaan joillekin WLAN-korteille tuki Linuxiin, mutta toisaalta joudutaan ajamaan vierasta suljetun lähdekoodin ajuria, joka myrkyttää (engl. taint) ytimen. Jos myrkytetty ydin panikoi tai siihen tulee muuta vikaa, on tuskin kukaan halukas selvittämään asiaa: on lähes mahdotonta selvittää vikaa tilanteessa, jossa osaan ytimestä ei ole saatavilla lähdekoodia.

Ndiswrapper itsessään on kuitenkin GPL-lisenssin alainen. Pelätään myös, että wrapperin olemassaolo jarruttaa natiivien Linux-ajurien kehitystä. Joskus on jopa ehdotettu 8 kilotavujen pinojen tuen poistamista Linuxin ytimestä ja siirtymistä kokonaan 4k-pinon käyttöön, mikä käytännössä estäisi Ndiswrapperin toiminnan.

Huomaa: Ndiswrapper toimii parhaiten ytimessä, joka on käännetty käyttämään 8 kilotavun pinoja (ytimen asetus CONFIG_4KSTACKS pois päältä). Windowsissa pinon koko on ilmeisesti 12k. Yleensä tästä ei tarvitse välittää vaan jakeluiden ytimet on käännetty siten, että Ndiswrapper toimii ongelmitta.

Asennus[muokkaa]

Asennus onnistuu yleensä asentamalla jakelun paketinhallinnasta ndiswrapper-niminen paketti.

Debianissa ja siihen pohjautuvissa jakeluissa (mm. Ubuntu) on asennettava erikseen paketit ndiswrapper-common ja ndiswrapper-utils.

Käyttö[muokkaa]

Estä WLAN-kortin mahdollisen Linux-ajurimoduulin lataaminen lisäämällä rivi

blacklist ajurimoduuli

asetustiedostoon /etc/modprobe.conf. Poista ajuri käytöstä komennolla

modprobe -r ajurimoduuli

Etsi Windows-ajuripaketista .inf-tiedosto, ja asenna se komennolla

ndiswrapper -i windowsajuri.inf

.inf-tiedoston kanssa samasta hakemistosta tulee löytyä myös ajurin .sys-tiedosto.

.exe-muodossa tarjottavat ajuripaketit voi purkaa esimerkiksi unzipillä (mikäli kyseessä on ns itsepurkautuva zip-tiedosto) tai orangella tai unshildillä (jos kyseessä on tavanomainen asennusohjelma). .cab-tiedostojen purku onnistuu cabextract-ohjelmalla.

Tarkista asennetun ajurin tila komennolla

ndiswrapper -l

Jos ajuri on oikea, pitäisi ndiswrapperin tulosteessa lukea driver installed sekä device present, esimerkiksi

netg54s : driver installed
        device (14E4:4318) present (alternate driver: ssb)

Ajuri on valmis käyttöön, kun ndiswrapper-moduuli on ladattu esimerkiksi komennolla

modprobe ndiswrapper

Jatkossa ndiswrapper-moduulin pitäisi latautua automaattisesti udevin avulla aina, kun WLAN-kortti kytketään koneeseen. Mikäli näin ei tapahtu, voi ylläolevan latauskomennon lisätä esimerkiksi tiedostoon /etc/rc.local, jolloin se suoritetaan aina koneen käynnistyessä.

WLAN-kortin pitäisi moduulin lataamisen jälkeen löytyä komennon

iwconfig

tulosteesta. Mikäli näin ei käy, on ajuri todennäköisesti jotenkin viallinen. Vikailmoituksia voi etsiä dmesgin sekä komentoyhdistelmän ndiswrapper-buginfo ja zless /tmp/ndiswrapper-buginfo.gz tulosteista.

Viallisen ajurin tapauksessa kannattaa kokeilla saman kortin sekä saman piirisarjan sisältävien sukulaiskorttien eri ajuriversioita.

Ajurin asennuksen voi purkaa komennolla ndiswrapper -r ajuri. Ndiswrapperin muista valitsimista saa tietoja komennolla ndiswrapper.

Toimivan laitteen hallinta onnistuu esimerkiksi NetworkManagerin avulla.

Graafiset työkalut[muokkaa]

GNOMEen löytyy yksinkertainen graafinen työkalu ndiswrapperin käsittelyyn: ndisgtk.

Aiheesta muualla[muokkaa]