Ero sivun ”Ndiswrapper” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (→‎Aiheesta muualla: linkkien korjaus)
(lisäohjeistusta)
Rivi 1: Rivi 1:
Ndiswrapper on Linuxille toteutettu rajapinta Windowsin [[wlan|langattomien verkkokorttien]] ajureille. Ndiswrapperin avulla voidaan siis Linuxissa käyttää Windowsissa toimivia WLAN-ajureita joidenkin korttien kanssa.
Ndiswrapper rajapinta, joka mahdollistaa useimpien Windowsin [[WLAN]]-ajureiden käyttämisen Linuxissa. Tämä tapahtuu emuloimalla Windowsin käyttöjärjestelmäydintä sekä [[wikipedia:NDIS|NDIS]]-verkkoajurirajapintaa. Ndiswrapperin päällä suoritettuina ajurit eivät välttämättä tarjoa samaa ominaisuusvalikoimaa ja nopeutta kuin Windowsin alla.  


== Yleistä ==
Ndiswrapper koostuu samannimisestä [[ydin|ytimen]] [[moduuli]]sta sekä [[komentorivi]]ohjelmasta. [[wikipedia:fi:WPA|WPA]]-salaus onnistuu [[wpa_supplicant]]in avulla, mutta WPA:n toimivuus riippuu käytettävästä ajurista tai jopa sen versiosta. Ndiswrapper vaatii Windowsin ajuritiedostot (<tt>*.inf</tt>). On suositeltavaa käyttää mahdollisimman tuoreita Windows-ajureita.  
Ndiswrapper on [[ydin|ytimen]] [[moduuli]], joka emuloi Microsoftin NDIS-rajapintaa. Sen suorituskyky ei ole aivan alkuperäisen veroinen. WPA-salaus onnistuu [[wpa_supplicant]]in avulla, mutta WPA:n toimivuus riippuu käytettävästä NDIS-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ää (eng. ''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.
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ä. [[LKML]]:n (Linux Kernel Mailing List) keskusteluissa on vakavasti ehdotettu 8 kilotavujen pinojen tuen poistamista ja siirtymistä kokonaan 4k-pinon käyttöön, mikä käytännössä estäisi Ndiswrapperin toimiminnan nykyisessä muodossaan. Ratkaisuna tähän voisi olla se, että wrapper ajaisi Windows-ajuria erillisessä muistiavaruudessa.  
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 [[ydin|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.
'''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 [[jakelu]]iden ytimet on käännetty siten, että Ndiswrapper toimii ongelmitta.


== Asennus ==
== Asennus ==
Yleensä asennus onnistuu asentamalla jakelun [[Paketinhallintajärjestelmä|paketinhallinnasta]] <tt>ndiswrapper</tt>-niminen paketti.
Asennus onnistuu yleensä asentamalla jakelun [[Paketinhallintajärjestelmä|paketinhallinnasta]] <tt>ndiswrapper</tt>-niminen paketti.  


[[Debian]]issa ja siihen pohjautuvissa jakeluissa (mm. [[Ubuntu]]) on asennettava erikseen paketit <tt>ndiswrapper-common</tt> ja <tt>ndiswrapper-utils</tt>.
[[Debian]]issa ja siihen pohjautuvissa jakeluissa (mm. [[Ubuntu]]) on asennettava erikseen paketit <tt>ndiswrapper-common</tt> ja <tt>ndiswrapper-utils</tt>.


== Käyttö ==
== Käyttö ==
Lataa Windows-ajuri esimerkiksi [http://www.mbnet.fi/ajuriapaja/ Mbnetin ajuriapajalta]. Pura ajuri kotihakemistossasi sopivaan alihakemistoon.
Estä WLAN-kortin mahdollisen Linux-ajurimoduulin lataaminen lisäämällä rivi
blacklist ''ajurimoduuli''
[[asetustiedosto]]on <tt>/etc/[[modprobe.conf]]</tt>. Poista ajuri käytöstä komennolla
[[modprobe]] -r ''ajurimoduuli''
Etsi Windows-ajuripaketista <tt>.inf</tt>-tiedosto, ja asenna se komennolla
ndiswrapper -i windowsajuri.inf
<tt>.inf</tt>-tiedoston kanssa samasta hakemistosta tulee löytyä myös ajurin <tt>.sys</tt>-tiedosto. .exe- tai .cab-muodossa tarjottavien ajurien purkamista on neuvottu Ndiswrapperin [http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,faq/#how_do_i_unpack_a_windows_driver_file_in_.exe_format FAQ:issa].
 
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 <tt>ndiswrapper</tt>-moduuli on ladattu esimerkiksi komennolla
modprobe ndiswrapper
Jatkossa ndiswrapper-moduulin pitäisi latautua automaattisesti [[udev]]in avulla aina, kun WLAN-kortti kytketään koneeseen. Mikäli näin ei tapahtu, voi ylläolevan latauskomennon lisätä esimerkiksi tiedostoon <tt>/etc/[[rc.local]]</tt>, jolloin se suoritetaan aina koneen käynnistyessä.


Etsi Windows-ajurista <tt>.inf</tt>-tiedosto, ja asenna se ndiswrapperilla.
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ä [[dmesg]]in sekä komentoyhdistelmän <tt>ndiswrapper-buginfo</tt> ja <tt>[[zless]] /tmp/ndiswrapper-buginfo.gz</tt> tulosteista.  


Asentamiseen tarvitaan [[Root|pääkäyttäjän]] oikeudet. Aja pääkäyttäjänä komento
Viallisen ajurin tapauksessa kannattaa kokeilla saman kortin sekä saman piirisarjan sisältävien sukulaiskorttien eri ajuriversioita.  
ndiswrapper -i windowsajuri.inf


Ndiswrapperilla Linuxiin asennetut Windows-ajurit näkee komennolla:
Ajurin asennuksen voi purkaa komennolla <tt>ndiswrapper -r ''ajuri''</tt>. Ndiswrapperin muista [[valitsin|valitsimista]] saa tietoja komennolla <tt>ndiswrapper</tt>.
ndiswrapper -l


Tämän jälkeen on otettava ajuri käyttöön ottamalla verkkolaite [[Verkkoliitynnät|uudelleen käyttöön]]. Lopullinen langattoman verkon käyttöönotto tapahtuu aivan [[WLAN|normaaliin tapaan]].
Toimivan laitteen hallinta onnistuu esimerkiksi [[NetworkManager]]in avulla.


=== Graafiset työkalut ===
=== Graafiset työkalut ===
Rivi 36: Rivi 52:


[[Luokka:Ajurit]]
[[Luokka:Ajurit]]
[[Luokka:Ohjeet]]

Versio 29. kesäkuuta 2008 kello 16.02

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

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ö

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- tai .cab-muodossa tarjottavien ajurien purkamista on neuvottu Ndiswrapperin FAQ:issa.

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

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

Aiheesta muualla