Logo PJ
Home
Arcade
Musica
Bicicletta
FabLab
Linux
DreamBox
Giochi
 
   Introduzione   Perle   Programmi   SSH   SAMBA   Firewall   GPS   WIFI   Jukebox   PCcar 

Installare una scheda wireless su Linux

In questa pagina spiegherò come installare e configurare una scheda wireless in un sistema Linux. Darò per scontate le conoscenze di base che riguardano la preparazione e configurazione di una rete senza fili, le terminologie utilizzate e i parametri in gioco. Come piattaforma di partenza vi richiedo una macchina con installata la Mandrake 9.2, correttamente configurata ed aggiornata. In particolare è importante che siano stati installati i seguenti pacchetti:

  • cvs
  • wireless-tools
  • dhcp-client
  • ethereal

oltre ad un kernel aggiornato almeno alla 2.4.25 comprensivo di sorgenti e a tutti i pacchetti di sviluppo. Ovviamente potranno essere utilizzate anche altre distribuzioni Linux, ma forse in alcuni punti occorrerà agire in maniera differente per configurare il sistema.

Vediamo quindi come configurare una scheda wireless per collegarsi al nostro Access Point: di seguito vi illustro la procedura che ho utilizzato per varie schede di rete in mio possesso, non direttamente gestite dal kernel o dal pacchetto pcmcia-cs.

D-Link DWL-G650

Questa scheda si installa abbastanza facilmente e funziona a meraviglia: il pacchetto che gestisce il chipset Atheros in essa contenuto si chiama madwifie per installarlo è sufficiente scaricare i sorgenti via cvs e compilarli.

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/madwifi co madwifi cd madwifi make make install

A questo punto basta inserire la scheda per verificare come il modulo del driver venga caricato automaticamente e come venga creato un nuovo dispositivo di rete, sebbene non ancora configurato:

[~]# lsmod Module Size Used by Tainted: P ath_pci 33428 0 (unused) wlan 54438 1 [ath_pci] ath_hal 125200 1 [ath_pci] [~]# ifconfig -a ath0 ath0 Link encap:Ethernet HWaddr 00:80:C8:12:87:DE BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:199 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) Interrupt:9 Memory:c2987000-c2997000 [~]# iwconfig ath0 ath0 IEEE 802.11 ESSID:"" Mode:Managed Frequency:2.412GHz Access Point: 00:00:00:00:00:00 Bit Rate:0kb/s Tx-Power:off Sensitivity=0/0 Retry:off RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:0/0 Signal level:-95 dBm Noise level:-95 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Il fatto che sia stato riconosciuto l'indirizzo MAC della scheda e che siano stati trovati un interrupt ed un'area di memoria validi (ultima riga dell'output di ifconfig) significa che la scheda è stata installata correttamente dal sistema.

Il comando iwconfig ci permette di leggere e modificare le impostazioni dell'estensione wireless dell'interfaccia di rete: non mi dilungo sul significato dei singoli parametri, che potete trovare in un qualsiasi testo che tratti la configurazione di reti senza fili, ma vi mostro come ho rapidamente impostato la scheda per collegarsi al mio Access Point:

[~]# iwconfig ath0 essid "UNIVISION" nick `hostname` channel 6 mode managed key XXXX-XXXX-XX [~]# iwconfig ath0 ath0 IEEE 802.11 ESSID:"UNIVISION" Nickname:"nadja" Mode:Managed Frequency:2.412GHz Access Point: 00:00:00:00:00:00 Bit Rate:0kb/s Tx-Power:off Sensitivity=0/0 Retry:off RTS thr:off Fragment thr:off Encryption key:XXXX-XXXX-XX Security mode:open Power Management:off Link Quality:0/0 Signal level:-95 dBm Noise level:-95 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0

I parametri ora sono stati impostati correttamente; il nick solitamente viene utilizzato dal server DHCP per riconoscere la macchina in associazione all'indirizzo MAC. L'interfaccia però non è ancora attiva: basta notare infatti l'indirizzo dell'Access Point che è impostato a 00:00:00:00:00:00. Procediamo quindi assegnando un IP all'interfaccia e richiedendo la sua attivazione:

[~]# ifconfig ath0 192.168.4.30 up [~]# ifconfig ath0 ath0 Link encap:Ethernet HWaddr 00:80:C8:12:87:DE inet addr:192.168.4.30 Bcast:192.168.4.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:722 errors:0 dropped:0 overruns:0 frame:0 TX packets:15 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:199 RX bytes:65725 (64.1 Kb) TX bytes:817 (817.0 b) Interrupt:9 Memory:c2987000-c2997000 [~]# iwconfig ath0 ath0 IEEE 802.11 ESSID:"UNIVISION" Nickname:"nadja" Mode:Managed Frequency:2.437GHz Access Point: 00:80:C8:14:4C:85 Bit Rate:36Mb/s Tx-Power:off Sensitivity=0/0 Retry:off RTS thr:off Fragment thr:off Encryption key:XXXX-XXXX-XX Security mode:open Power Management:off Link Quality:42/0 Signal level:-53 dBm Noise level:-95 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0

L'indirizzo MAC dell'Access Point è stato rilevato, il bitrate è stato impostato automaticamente a 36Mb/s come pure gli indicatori di livello e qualità di segnale: a questo punto la scheda è collegata in rete e pienamente funzionante. Possiamo automatizzare la fase di configurazione dell'interfaccia, che altrimenti dovremmo effettuare manualmente ad ogni reinserimento della scheda, creandoci il file ifcfg-ath0 nella directory /etc/sysconfig/network-scripts/. Vi mostro come ho preparato il mio, voi dovete ovviamente personalizzarlo in base ai parametri della vostra rete.

DEVICE=ath0 BOOTPROTO=static IPADDR=192.168.4.30 NETMASK=255.255.255.0 NETWORK=192.168.4.0 BROADCAST=192.168.4.255 MTU 576 ONBOOT=no MODE=managed CHANNEL=6 ESSID="UNIVISION" KEY=XXXX-XXXX-XX

D-Link DWL-650+

Sebbene molto simile alla precedente, leggermente più complessa è l'installazione di questa scheda, basata sul chipset ACX100 della Texas Instruments: occorre scaricare il pacchetto dei driver dal CVS, scompattarlo, compilarlo ed installarlo usando i seguenti comandi:

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/acx100 login cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/acx100 co acx100 cd acx100 ./Configure make make install

A questo punto è necessario scaricare il pacchetto con i firmware e copiarli in una directory a piacere; io utilizzo la directory /usr/local/share/firmware/. Una volta fatto questo andiamo a modificare il file /etc/modules.conf aggiungendo le seguenti righe:

options acx100_pci debug=0 firmware_dir=/usr/local/share/firmware/ options acx100_usb debug=0 firmware_dir=/usr/local/share/firmware/

e inseriamo la scheda all'interno dello slot: se non abbiamo fatto errori il modulo dovrebbe essere caricato automaticamente. Andiamo ora a crearci il file ifcfg-wlan0 nella directory /etc/sysconfig/network-scripts/ in maniera analoga a quanto fatto precedentemente per fare in modo che la scheda venga automaticamente configurata e attivata una volta inserita nello slot PCMCIA:

DEVICE=wlan0 BOOTPROTO=static IPADDR=192.168.4.30 NETMASK=255.255.255.0 NETWORK=192.168.4.0 BROADCAST=192.168.4.255 MTU 576 ONBOOT=no MODE=managed CHANNEL=6 ESSID="UNIVISION" KEY=XXXX-XXXX-XX

Sitecom WL-012

Questa scheda USB della Sitecom monta un chipset Prism2, abbastanza diffuso tra le schede wireless. Una volta scaricato il pacchetto dei driver dobbiamo scompattarlo, eseguire la configurazione, indicando i tipi di driver che vogliamo compilare (per USB, PCI, PCMCIA...) e il percorso del kernel, dopodichè possiamo procedere con la compilazione e l'installazione:

make config make all make install

La configurazione di questi driver non rispetta lo standard, ma occorrerà andare a modificare i file nella directory /etc/wlan, in particolare i file wlan.conf e wlan.conf.

RIFERIMENTI

Comments