NDISWrapper howto
Quando corri ed hai molta fretta e ti serve una scheda PCMCIA Wireless, finisci sempre per acquistare un oggetto che funziona (forse...) solo con Windoze. Nel nostro caso non è più un problema visto che da un po di tempo esiste il progetto NdisWrapper per GNU/Linux....
Copyright: Questo documento è stato realizzato da Stefano Tagliaferri e viene rilasciato sotto licenza GPL, la versione originale di questo documento puà essere prelevata alla URL http://www.irretito.it
Poche settimane fa ho acquistato per pochi euro una scheda 802.11g prodotta dalla BELKIN per la quale viene fornito solamente il driver per Windows, come spesso accade, molti produttori come la BELKIN, non rilasciano le specifiche relative all'hardware da loro prodotto, oppure non forniscono i drivers che consentano alle loro schede di rete Wireless di funzionare con GNU/Linux.
Il progetto NdisWrapper fornisce un modulo per il Kernel di Linux che è in grado di caricare ed eseguire i drivers Ndis (Windows network driver API) sostituendo di fatto il mancato rilascio dei drivers nativi. NdisWrapper lavora bene con molte schede miniPCI (builtin), PCI, PCMCIA (solo Cardbus) nonchè le schede USB. Per verificare il livello di compatibilità con la vostra scheda Wireless consultate il progetto Wiki di NdisWrapper (http://ndiswrapper.sourceforge.net/phpwiki/index.php/).
Nel caso che andrà a descrivere il portatile (hp ominibook xe4500) sul quale ho installato la versione 1.1 di NdisWrapper, è configurato con Fedora Core 3, Kernel 2.6.11-1.14_FC3.
Il sito web di riferimento per il progetto NdisWrapper è http://ndiswrapper.sourceforge.net/. Proprio dal sito del progetto ho provveduto a scaricare la distribuzione in formato tarball che contiene i codici sorgenti. La procedura di compilazione e di installazione dei sorgenti è piuttosto semplice
# tar zxvf ndiswrapper-1.1.tar.gz # cd ndiswrapper-1.1 # make && make install
a questo punto possiamo avviare ndiswrapper
# ndiswrapper Usage: ndiswrapper OPTION Manage ndis drivers for ndiswrapper. -i inffile Install driver described by 'inffile' -d devid driver Use installed 'driver' for 'devid' -e driver Remove 'driver' -l List installed drivers -m Write configuration for modprobe -hotplug (Re)Generate hotplug information
la procedura di installazione del driver Ndis è piuttosto semplice, in genere lo stesso viene incluso nel supporto CDROM allegato alla confezione della scheda Wireless
# ndiswrapper -i /media/cdrecorder/drivers/bcmwl5.inf
il driver Ndis è stato installato, per verificare l'insieme dei drivers installati utilizziamo il comando ndiswrapper
# ndiswrapper -l Installed ndis drivers: bcmwl5 driver present, hardware present
a questo punto dobbiamo fare in modo di caricare in memoria il modulo ndiswrapper in modo che lo stesso possa finalmente gestire la nostra scheda Wireless PCMCIA prodotta dalla BELKIN
# modprobe ndiswrapper
la scheda Wireless viene finalmente inizializzata ed è pronta per lavorare, per verificare lo stato dell'interfaccia Wireless utilizziamo l'utility iwconfig(8) (Wireless Tools for Linux - http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html)
# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
sit0 no wireless extensions.
wlan0 IEEE 802.11g ESSID:off/any
Mode:Managed Frequency:2.462 GHz Access Point: 00:00:00:00:00:00
Bit Rate:54 Mb/s Tx-Power:16 dBm
RTS thr:2347 B Fragment thr:2346 B
Encryption key:off
Power Management:off
Link Quality:100/100 Signal level:-10 dBm Noise level:-256 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
per consentire alla nostra macchina di caricare il modulo ndiswrapper con il boot del sistema operativo dobbiamo modificare il file /etc/modprobe.conf utilizzando sempre l'utilityndiswrapper
# ndiswrapper -m Adding "alias wlan0 ndiswrapper" to /etc/modprobe.conf
trattandosi di una scheda PCMCIA è molto probabile che il modulo non venga inizializzato dal Kernel in quanto il sottosistema PCMCIA viene avviato durante il boot del sistema operativo successivamente al caricamento dei moduli del kernel. In questo caso possiamo quindi ricorrere alla modifica del file /etc/rc.local. Questo script viene eseguito al termine del processo di init(8) del sistema operativo
# vi /etc/rc.local . #!/bin/sh # touch /var/lock/subsys/local /sbin/modprobe ndiswrapper
con questa modifica al file /etc/rc.local, il modulo verrà caricato in memoria solo alla fine del processo di init del sistema operativo e quindi, sicuramente dopo l'avviamento dei servizi PCMCIA.
Ora viene la fase più ostica, o meglio, tutte le operazioni da svolgere per utilizzare una connessione di rete Wireless che sono documentate in maniera pessima. Come solitamente accade con GNU/Linux, la documentazione è molto spesso carente e scritta con i piedi e tra forum dalle iconcine colorate, dalle domande e dalle risposte piuttosto evanescenti, dobbiamo comunque procedere con la configurazione della scheda di rete Wireless affinchè la stessa sia in grado di colloquiare con l'access point (AP).
Ora ricorriamo nuovamente all'utilizzo dell'utility iwconfig(8)
# iwconfig -h
Usage: iwconfig interface [essid {NN|on|off}]
[nwid {NN|on|off}]
[mode {managed|ad-hoc|...}
[freq N.NNNN[k|M|G]]
[channel N]
[ap {N|off|auto}]
[sens N]
[nick N]
[rate {N|auto|fixed}]
[rts {N|auto|fixed|off}]
[frag {N|auto|fixed|off}]
[enc {NNNN-NNNN|off}]
[power {period N|timeout N}]
[txpower N {mW|dBm}]
[commit]
in alto possiamo visualizzare alcune delle opzioni che utilizzeremo per configurare al meglio la nostra scheda di rete Wireless, in particolare utilizzeremo le seguenti impostazioni
# iwconfig wlan0 rate auto # iwconfig wlan0 mode managed # iwconfig wlan0 channel 11 # iwconfig wlan0 key s:WEP_KEY enc open # iwconfig wlan0 essid nome_nodo
a questo punto dovremmo attivare l'interfaccia di rete wlan0 per collegarci con l'AP (access point)
# ifconfig wlan0 up
ora non ci resta che farci assegnare un indirizzo IP dall'AP utilizzando il nostro client dhcp (dinamic host configuration protocol)
# dhclient wlan0
a questo punto siamo collegati con l'AP e possiamo lavorare senza portarci dietro cavetti ma utilizzando una semplice scheda di rete Wireless.
- Login o registrati per inviare commenti

Bookmark this site
Bookmark this page
Make Us your homepage