WLAN

Linux.fista
Siirry navigaatioon Siirry hakuun

Uutisia

23.03.2006

Broadcom BCM43xx Linux ajuri on nyt ensimmäistä kertaa mukana Fedora Core 5:ssa! BCM43xx ajurin kehitystyö on edennyt niin mukavasti, että Linux wlan- ylläpitäjä/koordinoija John Linville yrittää saada sitä myös mukaan seuraavaan (2.6.17) vanilla ytimeen (engl. kernel).

24.02.2006

Inteliltä uusi kannettaviin tietokoneisiin suunniteltu mini-PCI-express kortti 3945ABG. Intel on myös avannut uuden kehityssivuston Linux-ajurin kehitystä varten SourceForgessa.

10.01.2006

Uudesta ieee802.11 wlan -pinosta huolimatta kernelin wlan-kehitys on ollut tuuliajolla ja kärsinyt mm. ylläpitäjän/koordinoijan puutteesta. Kehitys on viime aikoina oikeastaan jopa monimutkaistunut DeviceScapen julkaistua oman Linux 802.11 wlan -pinonsa vapaana lähdekoodina ja GPL-lisenssillä jonkin aikaa sitten. Osa wlan-kehittäjistä pitää tätä paljon edistyksellisempänä kuin nykyistä kernelin ieee802.11:stä. Halu siirtyä DeviceScapen pinon käyttäjiksi on myös suurta. Kuitenkin muutamia ajureita on jo sovitettu uudelle (mukana kernelistä 2.6.14 alkaen) ieee802.11-pinolle. Myöskään suuria muutoksia (esim. pinon vaihto) ei haluttaisi tehdä ainakaan nopealla aikajaksolla.

Linux-kernelin verkkopuolen koordinoija Jeff Garzik ei ole ollut tyytyväinen vallitsevaan tilanteeseen ja hänen toivomuksestaan ja pyynnöstään Linux-maailma on vihdoin saanut uuden ieee802.11 wlan -ylläpitäjän/koordinoijan John W. Linvillen. Linville työskentelee tällä hetkellä RedHatilla lähinnä Fedoran ja RHEL:n parissa. Linvillellä on yli kymmenen vuoden kokemus verkoista, kytkimistä, Token Ringeistä, ATM:stä ja Ethernetistä. Tietonsa ieee802.11:stä hän uskoo uuden tehtävänsä kautta karttuvan nopeasti. Toivottavasti viimeistään nyt Linux-wlan-kehitys lähtee uusille urille ja tuo mukanaan paremapaa tukea eri laitteille ja salaustekniikoille.

Wlan ja Linux

Wlan-korttien tuki ei ole Linuxissa yhtä kattavaa kuin Windows-maailmassa. Tämä johtuu pelkästään piirivalmistajien haluttomuudesta julkaista koodia/rajapintoja/tietoa laitteistosta kehittäjille. Piirivalmistajista ehkä Conexant ja Broadcom ovat kaikkein tunnetuimpia tässä kyseenalaisessa puuhassa.

Kaikki Wlan-kortit eivät siis toimi Linuxissa. Muutoksia on tapahtumassa ja Linuxin Wlan-tuki tulee paranemaan huomattavasti lähiaikoina. Yhtenäistä 802.11 Wlan rajapintaa (802.11 stack) ollaan parhaillaan kehittämässä Jeff Garzikin johdolla ajurikehityksen helpottamiseksi. 802.11 stack tuli ensimmäistä kertaa käyttöön 2.6.14 kernelissä.

Toisaalta Linuxin ajurit tarjoavat monia sellaisia ominaisuuksia, mitä Windows-versioissa ei ole.

Langattoman verkon käyttökohteita

Langaton verkko sopii loistavasti joka kodin verkoksi, koska verkkokaapelointia ei tarvita. Jos sattuu omistamaan kannettavan, internetin käyttö onnistuu langattomasti lähes joka paikasta asunnossa tai jopa ulkoa, (oman) tukiaseman kautta. Taloyhtiöissä ja kommuuneissa nettiyhteyttä myös voidaan helposti jakaa langattomasti. Yksi tukiasema keskimäärin kantaa esteettömissä olosuhteissa noin 150-200 metriä.

Langaton verkkoyhteys on kätevä myös hotelleissa, joihin yleensä yhteyksiä tarjoaa Sonera Homerun. Tämä on verkko jossa ei ole salausta, mutta tunnistautuminen (eng. authentication) vaaditaan yhteyden käyttämiseen. Päivän yhteysaikakortti maksaa noin 15 € ja kuukauden noin 80 €. Tämä yhteystapa on kätevä jos matkustelee paljon.

Eräs nokkela Wlan-harrastaja kertoi, että jättämällä ping-komennon taustalle, voi yhdellä
yhteyskortilla käyttää nettiä rajattomasti. Tämä on vain kuulopuhetta, joku voisi varmistaa asian oikeellisuuden.

Toinen laaja WLAN-verkkototeutus on SparkNet. Se kattaa melkein koko Suomen.

Avoimia Wlan-pisteitä on myös muulla tarjolla, joskus avoimia verkkoja on myös kotikäyttäjillä tahallisesti tai osaamattomuuden takia. Kannattaa huomioida, että toisten suojattujen (WEP, WPA) verkkoyhteyksien luvaton käyttäminen on rikos.

Langattoman verkon tietoturva (WEP/WPA/WPA2)

Langaton verkkoyhteys tuo myös omat ongelmansa tietoturvallisuuden suhteen, kun tieto kulkee ilman salausta voi siihen päästä käsiksi ilkeämieliset henkilöt.

Siksi tulisi aina käyttää turvallisinta mahdollista salaustekniikkaa mikä on laitteiston puolesta mahdollista. Eli jos wlan laitteet ajurit mukaan lukien osaavat WPA:n tai WPA2:n ei ole mitään järkeä käyttää WEP salausta.

  • WEP (Wired Equivalent Privacy)

Nykyisin tuki WEP-salaukselle löytyy kaikista Linux-ajureista ja toimii yleensä hyvin. Osassa ajureita (esim. hostap), voidaan jopa valita käytetäänkö kortin firmwarea vai ajurin mahdollistamaa ohjelmallista salausta. Johtuen RC4-salausalgoritmin virheellisestä toteutustavasta (ei siis suoranaisesti RC4-algoritmista itsestään), WEP-salausta ei pidetä enää turvallisena. WEP-salauksessa myöskään salausavaimen pituuden kasvattaminen (64 bit->128 bit->256 bit) ei oleellisesti paranna salauksen tehoa.

Uudehkoissa tukiasemissa ja WLAN-korteissa on paikkailtu WEP-salauksen heikkouksia estämällä ns. heikkojen avainten luominen (weak keys avoidance). Näin ollen WEP-salauksen murtamiseen tarvitaan enemmän dataa. Salauksen murtamiseen tarvitaan noin 500-1000 GB liikennettä, jonka jälkeen salausavaimen selvittäminen yleensä onnistuu. Tapauksesta ja onnesta riippuen esimerkiksi 64 bittiä pitkä avain voi murtua 5 minuutissa ja 128 bittinen 20 minuutissa.

WEP-salauksen vahvuutta voidaan parantaa myös käyttämällä dynaamista avainta (Dynamic WEP Keying), jolloin 128-bittinen WEP-salausavain vaihdetaan määrävälein (esimerkiksi 5 minuutin välein). Dynaaminen avain edellyttää IEEE802.1X-protokollan ("Port Based Authentication Protocol") käyttöä ja vaatii autentikointipalvelimeksi Radius-palvelimen. Tukiasemassa pitää olla IEEE802.1X-tuki ja WLAN-asiakas (client) tarvitsee IEEE802.1X supplicantin. Supplicant voi olla esim. wpa_supplicant tai Xsupplicant.

  • WPA (WiFi Protected Access)

Yleensä WLAN-kortin ajurin lisäksi tarvitaan wpa_supplicant (poikeuksena on Ralink rt2500, jossa supplicant on toistaiseksi ajurissa "sisään rakennettuna" ), jotta WPA/WPA2-salaus saadaan toimimaan. Valitettava tosiasia kuitenkin on, että joidenkin korttien ajurit (esim. prism54) ovat vielä keskeneräisiä wpa_supplicantin tuen suhteen ja toimivuus ei siten ole välttämättä täydellinen.

Yritys- ja kotiverkoissa on syytä käyttää vähintään WPA/WPA2-salausta, mikäli se suinkin on mahdollista. WPA-salauksessa käytetään vaihtuvaa avainta salaukseen (TKIP eli Temporal Key Integrity Protocol), eli jokainen radiotielle lähetettävä paketti salataan eri avaimella. TKIP on "laajennus" 128-bittisestä WEP:stä lisättynä MIC:llä (Message Identity Check). Kummatkin käyttävät RC4-algoritmia salaukseen.

Laajemmissa verkoissa on yleensä käytössä WPA-Enterprise (Radius+IEEE802.1X+TKIP). Tällöin käyttäjien autentikointi tapahtuu erillisellä protokollalla (EAP eli Extensible Authentication Protocol) Radius-palvelimelta.

Pienissä verkoissa ei yleensä ole Radius-palvelinta (tosin Linux maailmassa tälläisenkin saa helposti pystyyn esim. FreeRADIUS:lla), jolloin joudutaan käyttämään WPA-PSK:ta (Preshared Key, "WPA-Personal") eli kaikille verkon laitteille jaetaan yhteinen avain, jota vasten autentikoidaan. Tämä mahdollistaa periaatteessa esimerkiksi sanakirjoihin perustuvat hyökkäykset.

On myös wlan-tuotteita joissa WPA:n kanssa voidaan käyttää AES-salausta TKIP-salauksen sijaan. Tämä johtuu siitä että, joillakin valmistajilla oli AES valmiina jo ennen kuin AES-salauksen mahdollistava WPA2 standardi 802.11i tuli voimaan. WPA:ssa AES voi olla optiona, mutta WPA2:ssa se kuuluu standardiin eli on siten pakollinen kaikkissa 802.11i standardin mukaisissa laitteissa.

  • WPA2/RSN (802.11i/RSN Robust Security Network)

WPA2 on seuraavan sukupolven WPA. Myös siitä on Personal- ja Enterprise- (Radius+IEEE802.1X+AES) muodot. Erona WPA:han on mm. että WPA2 käyttää salaukseen vahvempaa AES-salausalgoritmia TKIP/RC4:n sijaan. 802.11i esittelee myös key caching:n ja pre-authentication:n.

WPA/WPA2:ssa salaus on huomattavasti tehokkaampaa kuin perinteisessä WEP:ssä. TKIP-algoritmille on olemassa salasanakirjoihin perustuvia murtomentelmä (eivät kovin tehokkaita mikäli PSK > 20 merkkiä eikä selväkielinen). AES-algoritmille ei tunneta tehokkaita murtomenetelmiä.

  • MUUT

Muita suojausmentelmiä ovat muun muassa MAC-suodatus, jossa tukiasemalle kerrotaan etukäteen WLAN-asiakkaiden (client) MAC osoitteet. Vain tunnettujen laitteiden sallitaan liikennöidä tukiaseman kautta. MAC-suodatuksen tuoma lisäsuoja on heikko, koska WLAN-kortin MAC-osoite on helppo vaihtaa ohjelmallisesti.

Tukiasemalle voidaan määrittää, että verkon-nimeä (SSID) ei lähetetä automaattisesti (hide SSID). Tästä saatu hyöty on niin ikään pieni: tukiasema joutuu paljastamaan SSID:n kun uusi WLAN-asiakas liittyy verkkoon, jolloin myös passiivinen kuuntelija saa sen selville.

Lähetystehon pudottaminen voi olla järkevää. Myös WLAN-liikenteen VPN-tunnelointi voi olla perusteltua joissain tapauksissa.

  • Hyökkäystyökalut

Airsnort ja Wepcrack ovat yleisimpiä WEP-salauksen murtamiseen käytettyjä työkaluja. Uusien salaustekniikoiden (AES) yleistyessä nämä työkalut ovat jo lähes menettäneet käytännön hyödyllisyytensä.

Toinen mielenkiintoinen hyökkäystapa on esiintyä tukiasemana HostAP-ajurin avulla ja syöttää (inject) omaa dataa verkon asiakkaille.

Linux yhteensopivia Wlan laitteita

Nykytietämyksen mukaan rt2500-piirisarjaiset Wlan-kortit ovat parhaita. Tilanne voi muuttua uusien piirisarjojen tullessa markkinoille. Lisäksi valmistajilla on ikävä taipumus nostaa tuotteiden katetta vaihtamalla käyttöön muiden valmistajien piirisarjoja – jopa saman tuotteen sisällä. Linux-käyttäjälle tämä näkyy niin, että toimivaksi todettu tuote ei toimikkaan. Hyviä esimerkkejä tälläistä tuotteista ovat 3Comin OfficeConnect versio 2.

Suositeltavat tuotteet:

Jos saat muita tuettuja kortteja edullisesti käytettynä, niin se voi olla ostamisen arvoista. Ei ole suositeltavaa ostaa muita kuin RT2500 piirisarjaisia laitteita uutena. Kun olet ostamassa kannettavaa, muista tarkistaa myös sen piirisarja.

Varoitus: Näyttää siltä, että ainakin suosittu A-Link WL54H on vaihtanut piirisarjaansa: RT2500->
RT2561T. RT2561T:lle ei kuitenkaan ole OpenSource (GPL) -ajuria (rt2x00 projekti), vaan siihen
Ralink tarjoaa tällä hetkellä vain binääriajuria.

Jos haluat säästää rahaa, niin MBnetin hintaseuranta kertoo edullisimmat ostospaikat.

Piirisarjojen tunnistaminen

Korttien piirisarjojen tunnistamisen kanssa voi olla joskus ongelmia. Voit käyttää lspci-komentoa tarkistaaksesi, mikä piirisarja kortissa on. Komento toimii PCI- ja CardBus-korttien kanssa (CardBus on PCI-väylän laajennus ja 32-bittinen). lspci-komento löytyy pci-tools-paketista.

   [root@ap root]# lspci
   00:00.0 Host bridge: Intel Corp. 430HX - 82439HX TXC [Triton II] (rev 03)
   00:07.0 ISA bridge: Intel Corp. 82371SB PIIX3 ISA [Natoma/Triton II] (rev 01)
   00:07.1 IDE interface: Intel Corp. 82371SB PIIX3 IDE [Natoma/Triton II]
   00:09.0 Network controller: Intersil Corporation Prism 2.5 Wavelan chipset (rev 01)
   00:0a.0 VGA compatible controller: S3 Inc. 86c764/765 [Trio32/64/64V+] (rev 54)
   00:0b.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
   00:0c.0 PCMCIA bridge: Cirrus Logic CL 6729 (rev 07)

Lihavoidusta kohdasta löytyy Prism2.5-piirisarjainen PCI Wlan-kortti.

Vanhemmista pccard korteista eli PCMCIA-korteista saa tietoa cardctl ident komennolla (PCMCIA on ISA-väylän laajennus ja 16-bittinen). Kuitenkaan cardctl ident ei kerro PCMCIA-kortin piirisarjaa, vaan lähinnä valmistajan ja tuotteen id:n jne. Näillä tiedoilla voi yrittää "googlettaa" mahdollista Linux-ajuria.

  [root@ap root]# cardctl ident
  Socket 0:
    product info: "Compaq", "WL200_11Mbps_Wireless_PCI_Card", "", ""
    manfid: 0x0138, 0x0002
    function: 6 (network)
  Socket 1:
    no product info available

PCMCIA-korttipaikasta '0' löytyy WL200 Wlan-kortti, joka on PCMCIA-kortti istutettuna PCI-kortille yhdessä Cirrus Logic:n pcmcia-to-pci bridge -piirin kanssa. Ko. kortti on Prism2 piirisarjainen, mutta ident komento ei sitä kerro.

Wlan-tuki Linux-ytimessä

Seuraavat ajurit löytyvät 2.6 vanilla-ytimestä (eli kernel.orgista saatavassa kernelistä) suoraan. Myös 2.4-sarja tukee wlan-kortteja jollain tasolla, mutta on suositeltavampaa käyttää 2.6-sarjaa jo pelkästään sen tuoreuden takia.

  • Prism54 (prism54)
  • Orinoco "Classic" (orinoco_cs/_pci/_plx/_tmd)
  • Cisco aironet (airo/_cs)
  • Apple Airport wireless (airport)
  • Atmel (atmel_cs/_pci/_plx)

missä:

  • _cs = PCMCIA
  • _pci = PCI ja CardBus
  • _plx = PCMCIA kortti (joko kiinteä tai irrotettava) PCI adapterissa, jossa PLX9052 piiri.
  • _tmd = PCMCIA kortti (joko kiinteä tai irrotettava) PCI adapterissa, jossa TMD7160 piiri.

Kernelin 2.6.14-versiosta alkaen myös:

  • Intel IPW2100 (ipw2100)
  • Intel IPW2200 (ipw2200)
  • Hostap (hostap_cs/_pci/_plx, tässä myös TMD-tuki)
  • Symbol Spectrum24 Trilogy, Intel PRO/Wireless 2011B (spectrum_cs)
  • Nortel emobility PCI adaptor (orinoco_nortel)

Ajurituki siis on vakioytimissä erittäin vähäistä. Tämä johtuu siitä, että moni wlan-ajuri on vielä kehitysvaiheessa tai koodi ei ole niin hyvää, että sen voisi jo ottaa ytimeen mukaan. Toinen syy on se, että yleinen rajapinta wlan-ajureille ei ole vielä valmis. Wlan-ajureiden asentaminen voi olla aloittelijoille varsin haastavaa.

Piirisarjakohtaiset ohjeet

Conexant (ent. Intersil) Prism54, ISL3877, ISL3880, ISL3890 & ISL38xx(USB)

Näistä suositeltavin kortti on Zyair G-100. Sen hinta on noin 50 €. Laitteessa toimii WEP-salaus hyvin, mutta WPA-tuen (Prism54 ajurissa) kehitys on vielä vaiheessa ja se valmistunee joskus. Suhtaudu asiaan varauksella.

Prism54 Fullmac-piirisarjaa: Prism GT/Duette/Indigo/Frisbee (ISL3877, ISL3880, ISL3890) ei
enää tiettävästi valmisteta, mikä tarkoittaa, että prism54 Linux-ajuria tukevien korttien
ostaminen kaupoista voi olla erittäin hankalaa. Uudet Prism54 Softmac-piirisarjat: Prism
Xbow/Javelin (ISL38xx) eivät toimi Linux kernelin vakio ajurilla (prism54).

Prism54-kortti tarvitsee ajurin lisäksi Fullmac firmwaren, joka ladataan korttiin sen alustuksen yhteydessä.

Zyair G-100 on perinteisesti toiminut kernelin prism54-ajurilla, mutta Intersilin Prism-liiketoiminnan ostanut Conexant on lopettaunut/lopettamassa ns. FullMac-piirien tuotannon ja siirtynyt SoftMac-piireihin. SoftMac-piireissä on vähemmän muistia ja suurin osa toiminnoista on siirretty ajurin hoidettavaksi. Conexant ei ole kuitenkaan halunnut antaa teknistä tietoa tai koodipohjaa Prism54-kehittäjille, joten Linuxiin ei tähän asti ole olut ajuria Prism 54Mbit/s SoftMac -piirille.

Siksi kannattaakin pitää mielessä, että yhä useampi uusi Prism 54Mbit/s -kortti onkin SoftMac
piirisarjainen (Prism Xbow/Javelin) eikä siis toimi olemassa olevalla prism54 kernel ajurilla.

SoftMac-ajuria yritetään kehitää ns. reverse engineering -menetelmällä. Menetelmä on työläs, mutta työn tuloksena on kuitenkin syntynyt uusi ajuri: islsm.

Uutta: Reverse engineering-menetelmällä syntynyt Prism54 SoftMac ajuri islsm, madfifi stack 
ja tarvittava firmaware on ladattavissa osoitteesta http://prism54.org/newdrivers.html tai
http://jbnote.free.fr/prism54usb/ . Ajuri perustuu muokattuun Atheros (MadWifi) ajuriin
ja uuteen islsm moduliin.

Ralink Rt2500 & Rt2570(USB)

Ralink rt2500-piirisarjaiset 54Mbit/s nopeuksiset wlan-kortit toimivat rt2x00 OpenSource ajurilla. Tälläinen kortti on esim. A-Link WL54PC CardBus kortti.

Tässä kortissa on myös toimiva WPA-tuki, joka on monelle tärkeä ja kätevä työkalu salauksen käyttöönottamiseen (RaConfig2500). Työkalulla voi myös ottaa käyttöön useita profiileja, jolloin kortti osaa kytkeytyä automaattisesti tukiasemiin WPA-salauksen kanssa.

USB-wlan tikut ovat vähän heikosti tuettuna, ainakin tällä hetkellä. Ralink rt2570-piirisarjaiset ovat tuettuina ainakin uusimmalla RT2x00-ajurilla. Suomesta saa ainakin Dlinkin DWL-G122 -tikkua, joka on tuettujen listalla.

Huomaa: ajuri toimii vain 8 kb pinoja käyttämään käännetyssä ytimessä
(ytimen asetus CONFIG_4KSTACKS pois päältä). Jos käytät uusinta cvs-versiota, ajuri toimii
myös 4kb pinoilla. Haittapuolena on, että et voi käyttää RaConfig2500 ohjelmaa wpa-asetusten
tallentamiseen.
Kortin kanssa kannattaa käyttää CVS-versiota ajurista, se toimii paremmin kuin julkaistu versio.
Sen asentaminen on myös helpompaa.

Atheros AR5210, AR5211, AR5212 & AR5213

Atheros piirisarjalaiset toimivat madwifi-ajurilla, joka monipuolisimpia ja toimivimpia wlan-ajureita Linuxille. Haittapuolena on että ajuri on osittain suljettu (HAL), mistä johtuu ettei se voi sellaisenaan koskaan päätyä Linux kerneliin. Kaupassa Atheros-piirit ovat yleisimpiä 802.11a/b/g korteissa, ja varma tuntomerkki on 108mbit nopeuden tuki, jota muut piirisarjat eivät tue (suljettu valmistajakohtainen ratkaisu). D-Link DWL-AG520 (CardBus) ja DWL-AG520 (PCI) ovat tiettvästi hyviä vaihtoehtoja. D-Linkillä on kuitenkin ollut tapana vaihtaa korttien piirisarjoja pitäen tuotteen nimen samana, joten kannattaa olla varuillaan.

Madwifi-ajurilla onnistuu mm:

  • Kaikki salaukset (WEP,WPA/WPA2). WPA/WPA2 tuki vaatii wpa_supplicantin
  • Kaikki tilat (monitor, managed, ad-hoc ja tukiasemana toimiminen). Tukiasema moodi (Master) vaatii hostapd Authenticator-ohjelman
  • WDS, tukiasemien liittäminen toisiinsa langattomasti (silta) verkon laajentamiseksi
  • SuperAG, Atheroksen valmistajakohtainen bondong-ratkaisu jolla saa 108mbit nopeuden varaamalla kaksi kanavaa

Uutena ominaisuutena Madwifiin on tullut mahdollisuus muodostaa kaksi virtuaalista tukiasemaa samalla kortilla. Näin voi tehdä esim. yhdellä kortilla avoimen tukiaseman vieraileville kavereille ja naapureille (kaistanleveys kuristettuna ja pääsy vain www-portteihin), sekä WPA-suojatun tukiaseman omaan käyttöön.

Atherokselle on myös tullut täysin vapaa ajuri, mutta se on vielä erittäin keskeneräinen. Uuden ajurin laillisuus on myös avoin, koska reverse-engineering -prosessissa ei ole noudatettu ns. Clean Room periaatetta.

Intel IPW2100, IPW2200BG ja IPW2915ABG

Intel Centrino piirsarjan sisältävistä kannettavista löytyy yleensä IPW2100 (11 Mbit/s) sarjan piiri tai sen jälkeläinen IPW2200BG (54 Mbit/s). IPW2915ABG toimii IPW2200-ajureilla. Salaamattomat ja WEP-yhteydet todettu toimiviksi. WPA-tuki on mahdollinen wpa_supplicantin avulla.

Intel on laajentamassa IPW2200 ajuritukea niin, että se jatkossa tukisi myös tukiasema- eli Master moodia. Projektisivusto on avattu ja lähiaikoina pitäisi ensimmäisten ipw2200-ap ajuriversioiden ilmestyä. Aluksi tarjotaan vain perustukiasematoimintoja.

Intel IPW3945ABG

Intel 3945ABG on uusi kannettaviin tietokoneisiin suunniteltu mini-PCI-express kortti, jolle Intel on avannut myös OpenSource-kehitysprojektin. Ajuri on voimakkaassa kehitysvaiheessa, ja vain sen kehitysversioita on saatavilla toistaiseksi. Aikaisemmista Intel suunnitteluista poiketen, ipw3945 tarvitsee kernelin ulkopuolealla ajettevan daemon ohjelman, jota Intel tarjoaa binääripakettina. Intelin mukaan daemon tarvitaan, jotta ajuri pystyisi paremmin täyttämään radiolaitteille asetetut kansalliset raja-arvot (engl. Regulatory limits). Näitä ovat mm. lähetystehot ja kanavamäärät, jotka voivat olla maakohtaisia.

Realtek rtl8180, rtl8185 & rtl8187

OpenSource wlan ajurit Realtek rtl8180/rtl8185/rtl8187 pohjaisille 11b ja 54g PCI ja CardBus korteille. Tälläinen kortti on esim. D-Link DWL-510 (PCI). Rtl8180 eli 11Mb/s PCI ja CardBus kortit näyttävät olevan parhaiten tuettuna tällä hetkellä.

ADMtek ADM8211A/B/C

OpenSource wlan ajurit Admtek ADM8211A/B/C pohjaisille 11b PCI/mini-PCI/CardBus korteille. Tälläinen kortti on esim. 3Com 3CRSHPW796 tai SMC 2602W V2.

Broadcom BCM43xx

Broadcomin BCM43xx (54Mbit/s) piirisarjaa käytetään monessa CardBus ja PCI wlan-kortissa. Tähän asti Ndiswrapper on ollut ainoa tapa saada näiden korttien tuki Linuxiin. Tilanne on kuitenkin muuttumassa ja nyt on myös olemassa "Reverse Engineering" menetelmällä syntynyt OpenSource ajuri ko. piirisarjalle. Valmistajalla (Broadcom) on kyllä toimiva Linux ajuri mutta se jakaa sitä vain binäärinä.

OpenSource ajuri tarjoaa vasta "alpha" asteella olevan tuen, joka kuitenkin jo nyt mahdollistaa kytkeytymisen tukiasemaan ja datan lähettämisen ja vastaanottamisen. Ajuri toimii tällä hetkellä vain b ja g laitteiden kanssa, WEP ja WPA-PSK tuki. Ajuri muodostuu kahdesta modulista: SoftMAC (ieee80211softmac.ko) ja varsinaisesat ajurimodulista (bcm430x.ko). Ajuri on voimakkaassa kehitysvaiheessa ja uusia versiota ilmestyy päivittäin.

Käytännössä tarvitaan myös fwcutter ohjelma, jolla kortin firmware saadaan Windows, MacOS tai Linux binääreistä ulos, niin että sitä voidaan käyttää Linuxissa. Fwcutter ohjelma löytyy niin ikään osoitteesta: http://bcm43xx.berlios.de.

Ajurin käyttöönotto lyhyesti:

insmod ieee80211softmac.ko
insmod bcm430x.ko
ifup ethX
iwconfig ethX channel KANAVA
iwconfig ethX essid VERKON_NIMI

Klassikot (Orinoco & Prism2)

Agere (ent. Lucent)/Avaya/Proxim Hermes I (Orinoco Classic Gold/Silver)

Käytettynä on saatavilla edullisesti myös vanhoja wlan-kortteja. Hyvänä esimerkkinä "Classic" Orinoco-kortit (11Mbit/s) jotka toimivat hyvin, vaikka eivät ihan modernia nykytekniikkaa edustakaan. Osta jos saat kantohintaan.

Orinoco "Classic" Gold korttiin saa myös WPA-tuen käyttämällä Ageren Version 7.18 ajuria (ajuri ei ole GPL:ää ja toimii vain 2.4.x kernelissä) ja wpa_supplicantia.

Näistä korteista on myös olemassa versioita, jotka eivät perustu Hermes I piirisarjaan, mutta
joita kuitenkin kutsutaan Orinoco korteiksi. Nämä eivät kuitenkaan ole tuettuna orinoco_cs
ajurissa. Tämä ikävä "sanaleikki" alkoi Proximin ostettua Lucentin Orinoco liiketoiminnan. Proxim
käyttää Orinoco "Classic" nimitystä tarkoittaessaan näitä "vanhoja aitoja" Hermes I pohjaisia
Orinoco kortteja.
Orinoco "Classic" Silver kortista Gold

Orinoco "Classic" Silver ja Gold kortit ovat samaa rautaa. Ero on kortin PDA:ssa (Production Data
Area), jossa on mm. kerrottu onko ko. kortti Silver vai Gold. Kun kortille ajetaan normaali firmware
päivitys, update-ohjelma lukee PDA:sta onko kortti Silver vai Gold ja ottaa käyttöön sen mukaisesti
joko 64-bit tai 128-bit WEP salausmahdollisuuden.

Alchemy ohjelmalla saa kätevimmin (ilman flash.exe kikkailua) "Silver" PDA:n 
muutettua "Gold":ksi, jonka jälkeen ladataan normaali Orinoco station firmware. Firmwaren lataamisen
jälkeen Silver kortin 128-bit WEP aktivoituu ja se on siten käytännössä Gold.

Intersil Prism2/2.5/3

Prism2/2.5/3 (11Mbit/s) piirisarjaisia Wlan-kortteja on ehkä maailmalla eniten. WPA/WPA2-tuki vaatii, että kortin firmware on 1.7.0 tai uudempi.

Hostap-ajurilla onnistuu mm:

  • Kaikki salaukset (WEP, WPA/WPA2). WPA/WPA2 tuki vaatii wpa_supplicantin
  • Kaikki tilat (monitor, managed, ad-hoc ja tukiasemana toimiminen). Tukiaseman perustoiminnoissa ei välttämättä vaadita hostapd Authenticator-ohjelmaa
  • WDS, tukiasemien liittäminen toisiinsa langattomasti (silta) verkon laajentamiseksi


Ndiswrapper

Jos kortillesi ei löydy Linux-ajuria aina voit kokeilla ndiswrapper-emulointirajapintaa, joka käyttää Windows-ajureita ja toimii melko hyvin.

Ndiswrapper on ytimen moduuli, joka emuloi Microsoftin NDIS-rajapintaa. Suorituskyky ei ole aivan alkuperäisen veroinen. WPA-tuki on mahdollinen wpa_supplicantin avulla. WPA:n toimivuus voi olla riippuvainen 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 binääriä, joka myrkyttää (taint) kernelin. Jos myrkytetty ydin panikoi tai siihen tulee muuta vikaa, tuskin kukaan on halukas selvittämään asiaa: on lähes mahdotonta selvittää vikaa tilanteessa, jossa osaan kerneliä ei ole lähdekoodia saatavilla. NDISWrapper itsessään on kuitenkin GPL-lisenssin alainen. Pelätään myös, että wrapperin olemassaolo jarruttaa natiiviajurien kehitystä. LKML:n (Linux Kernel Mailing List) keskusteluissa on vakavasti ehdotettu 8 kilotavujen pinojen tuen poistamista ja siirtymistä kokonaan 4K pinon käyttöön. Tämä käytännössä estäisi Ndiswrapperin toimiminnan nykyisessä muodossaan. Ratkaisuna tähän voisi olla se että wrapper ajaisi Windows binääriä erillisessä muistiavaruudessa.

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.

WPA Supplicant (wpa_supplicant)

WPA Supplicant on wlan asiakaspään (client) ohjema joka hoitaa WPA/WPA2 "kättelyt" ja kytkeytymisen wlan tukiaseman eli WPA Authenticatorin kanssa. Myös käytettävän wlan-ajurin on tuettava wpa_supplicanttia. WPA Supplicanttia ajetaan taustaprosessina ja sen kanssa voidaan käyttää myös graafista käyttöliittymää.

Asetukset

Langattoman adapterin asetukset määritellään yleisesti työkalulla jonka nimi on iwconfig. Tämä ohjelma tulee wireless-tools paketin mukana. Myös wlan-kortin ajurin täytyy tukea wireless rajapintaa (WE=Wireless Extension). Nykyään WE tuki löytyy useimmista ajureita. Moni levitysversio tarjoaa myös graafisia työkaluja asetusten määrittelyyn.

Lisätietoja komennon käytöstä saat komennolla man iwconfig.

Tietoa Linux "Wireless"-rajapinnasta: Wireless Extension (WE) ja Wireless Tools (WT)

Kaikkia Linux wlan ajureita ei ole valmiiksi paketoitu ko. levitysversioon, vaan ne pitää kääntää käsin. Lisäksi joitan ajureita ei koskaan edes sisällytetä kerneliin, niiden epäyhteensopivan lisenssin vuoksi (esim. MadWifi). Joskus ajurit ovat vielä pahasti kehitysvaiheessa ja niiden asentaminen voi vaatia kokemusta järjestelmän ytimen korjaamisesta (eng. patch) ja kääntämisestä.

Linkit

Ajurisivustot 802.11b, 11Mbit/s

Ajurisivustot 802.11g, 54Mbit/s


Jakelukohtaiset: Suse

Artikkelit

Muut

Tukiasemat

Kaupalliset/Linksys WRT54G(S,L)

Linksysin (kuuluu nykyisin Cisco Systems:iin) v5 versiota aiemmat WRT54G(S) WLAN-tukiasemat perustuivat Linux käyttöjärjestelmään (ytimen versio 2.4.x). Koska Linux on avoin käyttöjärjestelmä, myös Linksysin on ollut periaatteessa pakko julkistaa näiden tukiasemien käyttöjärjestelmän (firmware) lähdekoodi. Tästä lähde- koodista on sittemmin syntynyt monia muita lähinnä alan harrastelijoiden tekemiä muunnelmia. Näistä muunnelmista löytyy ominaisuuksia, joita ei Linksysin alkuperäis firmwaresta löydy.

Uusista Linksysin tukiasemista enään vain WRT54GL perustuu Linux:iin. Linksys on lisenssoinut kaikkiin muihin tukiasemiinsa suljetun käyttöjärjestelmän VxWorks:n. WRT54GL:n tarkoitus on olla kädenojennus avoimen lähdekoodin kehittäjille, eikä Linksys oleta muiden kuin Linux harrastajien sitä hankkivan.

Alla lueteltu muutamia vaihtoehtofirmwareja:

Näistä OpenWRT on kaikkein pelkistetyin, mutta samalla laajin kokonaisuus. Se ei ole myöskään Linksysin lähdekoodin suora jatkokehitelmä, vaan se on kehitetty puhtaalta pöydältä, paketti paketilta. OpenWRT:tä voidaan kutsua jossain määrin myös Linux jakeluksi. Se vaatii muita WRT projekteja enemmän tuntemusta laitteistosta, verkoista ja Linuxista. Muut WRT projektit ovat Linksysin alkuperäis firmwaren kaltaisia, eli lähinnä parannelmia alkuperäsiversiosta.

OpenWRT-jakelun etuna on se, että tukiasemasta saa tehtyä esimerkiksi täysiverisen kaistanrajoittimen tai erittäin hiljaisen palomuurin. Se myös on avointa lähdekoodia ja mahdollistaa jatkokehittämisen helposti. Sillä on myös melko kattava sovellusohjelmatarjonta.

Varoitus: OpenWRT-jakelu on ammattilaisille. Väärin asennettuna OpenWRT ja muutkin
vaihtoehto firmwaret voivat tehdä tukiasemasta toimimattoman. Ne eivät kuitekaan varsinaisesti
hajota mitään, mutta laitteen palauttaminen alkuperäistilaan voi olla hankalaa ja joissain 
tapauksessa edellyttää myös tukiaseman avaamista ja kytkentämuutoksia (esim. Flash piiri/JTAG 
liitin).
Varoitus: Kaupoissa on jo uusia WRT54G tuotteita joissa käyttöjärjestelmänä ei enää olekkaan
Linux vaan VxWorks. V5 versioissa on myös vähemmän flash ja ram muistia. Toistaiseksi mikään 
vaihtoehtofirmware ei tue v5 laitteita. Nähtäväksi jää pystyykö v5:een ylipäätään Linuxia edes asentamaan.  

Kaupalliset/muut

Epäyhteensopivuusongelmia voi olla myös tukiasemien suhteen. Oman kokemukseni mukaan voin suositella mm. Zyxelin, Linksysin, Cisco aironet ja Topcomin tukiasemia. Ongelmien välttämiseksi käytä uusinta ohjelmistoversioita (firmware/bios) myös tukiasemissa. Telewell-pohjaisissa (Conexant-piirisarja) tukiasemissa on ollut paljon ongelmia ja siksi niitä kannattaa välttää ostamasta. Suuria ongelmia on myös ollut D-Link tukiasemien kanssa.

Yleinen ongelma halvoissa tukiasemissa on se, että niiden prosessoriteho on alimitoitettu jolloin jos on käytössä useita WPA-salausta käyttävää korttia, voi laitteen prosessoriteho loppua kesken ja laite kaatua tai toimia aliteholla. Tämä yleinen ongelma vaivaa muitakin edullisia tuotteita.

Jos haluat tukea Linuxin suosiota, suosittelen ostamaan WLAN-tukiaseman, jossa on Linux. Tälläisiä tuotteita ovat mm. Linksys-tukiasemat.

"Tee se itse tukiasema"

Prism2/2.5/3-piirisarjassa on ns. Host AP -tila, jossa prism-kortti voi toimia tukiasemana, ilman erikoista AccessPoint-firmwarea. Tällöin kortin ajuri (hostap_xxx) hoitaa ei-aikakrittiset tapahtumat ja wlan-kortin firmware aikakriittiset. Periaatteessa tarvitsee vain ladata HostAP ajurija antaa komento iwconfig wlan0 mode Master, joka laittaa kortin AP-tilaan. Tukiasemakoneeksi käy jokin vanha PI tai PII ja wlan-kortiksi esim. 3COM 3CRDW696 WIRELESS PCI CARD. 3COM 3CRDW696:n "Primary" ja "Station" firmware kannattaa ensin päivittää versioihin: PRI=1.1.1 ja STA=1.7.4.

HostAP-tukiasema toimii hyvin myös sellaisten korttien kanssa, joissa on jokin muu kuin Prism2/2.5/3-piirisarja, esim. Intel® PRO/Wireless 2100 tai Orinoco-kortit.

Lisäksi 802.11g-korteille ainakin Atheros- ja Prism54 (Prism GT/Duette/Indigo) -ajureista löytyy Master-tila.

HostAP-ajurin tapaan Prism54-ajuri tukee myös WDS:ää (Wireless distribution system) AP-tilassa, jolla kortti voi liittyä langattoman sillan osaksi ja näin laajentaa verkon katetta (HostAP + WDS) tai toimia siltana wlan-verkon ja lan-verkon välillä.

Linux & WLAN - Usein kysyttyjä kysymyksiä

  • K: Olen kokoamassa WLAN-tukiasemaa vanhaa työpöytärautaa hyväksikäyttäen. Käykö mikä tahansa PCI-WLAN kortti tarkoitukseen (esim. em. A-Link WL54H PCI)? Käyttöjärjestelmäksi tulee luonnollisesti Linux.
  • V: A-Link WL54H PCI ei käy koska sen ajuriin ei (vielä?) ole implementoitu ns. Master eli Access Point tilaa. 11Mb/s kykenevän tukiaseman saa parhaiten Prism2/2.5/3 piirisarjaisista korteista. Näitä saattaa kuitenkin olla vaikea löytää ja voivat olla harvinaisuutensa vuoksi kalliita. Mutta yksi hyväksi todettu on 3COM 3CRDW696 WIRELESS PCI yhdessä hostap ajurin kanssa. Tähänkin pitää tosin ajaa firmware päivitys. Hostap tuki-asemaan saadaan myös WPA/WPA2 tuki hostapd (WPA/WPA2 authenticator) ohjelman avulla.
  • 54Mb/s kykenevän tukiaseman saa ehkä parhaiten Atheros piirisarjaisista korteista MADWIFI ajurin kanssa. Myös Prsm54 piirisarjaisista korteista löytyy Master tila, mutta näitä on nykyään vaikea löytäää ns. "full-mac" versiona. Soft-mac ajuri on myös olemasssa.
  • K: Ohjeet wpa_supplicantin käytöstä ja vaatimuksista pitäisi saada jonnekkin??
  • V: Wpa_supplicant on ehkä syystä koettu vaikeasti konfiguroitavaksi, koska se on niin monipuolinen. Wpa_supplicant:lla on hyvät kotisivut, jossa selviää ainakin mitkä wlan ajurit tukevat sitä ja millä tasolla (WPA/WPA2). Lisäksi sivuilla oleva wpa_supplicant.conf pitäisi olla itse itseään selittävä (tosin Englannin kielellä). Konfiguraatiossa periaatteessa valitaan vain yksi network={} merkitty konfiguraatio joka vastaa sitä turvallisuustasoa (salausalgoritmit) jota halutaan ja johon tukiasema pystyy.
  • K: pccard wlan-kortti ei toimi/jumittuu tai kaataa koneen ?
  • V: acpi=off kernel boot-parametri usein auttaa, mutta liian uudessa kannettavassa voi olla toimintaongelmia, kunnes piirisarja-ajurit kehittyvät tai ennenkuin kernel bugit on korjattu. Ongelma on siis, että CardBus tai PCMCIA ei ehkä toimi oikein (yleensä ongelmia muistiavaruuden mappauksen tai keskeytyksen saamisen kanssa). Tuorehkoissa kerneleissä (2.6.12...2.6.16) voi olla ongelmana jopa että CardBus Wlan-kortti ei näy lainkaan lspci -v listauksessa (ts. kernel ei näe korttia). Tällöin voi kokeilla lisätä pci=assign-busses boot-parametri kernelin käynnistysriville. Mutta ongelma ns. elää kernelistä toiseen, esim. 2.6.8 ja 2.6.15 kernelien välillä on tapahtunut paljon CardBus(yenta_socket)/PCMCIA/PCI liittyviä muutoksia jotka vaikuttavat. Eli kernel parametri mikä toimi yhdellä ei enää tarvita/toimi toisella ja tosinpäin. Toiseksi jos puhutaan pccardista, niin kumpaa tarkoitetaan? 16-bittstä PCMCIA:ta vai 32-bittstä CardBus:ia? Jotta ko. kysymykseen pystyisi edes jollain tasolla vastaamaan täytyisi ainakin tietää; vika, miten ilmenee (yleensä dmesg listaus ja lspci -vvv kertovat jotain), mikä kernel versio, onko acpi käytössä, mikä laptop/pc, onko PCMCIA/CardBus/PCI wlan-kortti, mikä wlan piirisarja, mitä ajuria käytetään jne. Kaikkein ensimmäisenä kannattaisi kuitenkin kokeilla tuoreimmalla vanilla-kernelillä joka löytyy kernel.org:sta, jos ongelma poistuu niin hyvä, jos ei niin sitten lisätutkimukset ovat paikallaan.

Osallistu

Voit tukea kehitystyötä, ensisijaisesti osallistumalla itse kehitystyöhön (koodaus, dokumentointi, jne.). Toissijaisesti voit myös lahjoittaa kehittäjille wlan-kortteja, tarvittavaa laitteistoa tai tukemalla kehitystä rahallisesti. Voit myös käyttää aikaasi raportoimalla virheistä tai neuvoa muita ihmisiä.

Katso myös