NdisWrapper

Versione del 19 dic 2015 alle 10:18 di HAL 9000 (discussione | contributi) (→‎Riferimenti)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Edit-clear-history.png Attenzione. Questa guida è da considerarsi abbandonata, per via del tempo trascorso dall'ultima verifica.

Potrà essere resa obsoleta, previa segnalazione sul forum, se nessuno si propone per l'adozione.


Debian-swirl.png Versioni Compatibili

Debian 6 "squeeze"
Debian 7 "wheezy"
Debian 8 "jessie"

Introduzione

Questa guida indica come utilizzare NdisWrapper[1], che permette di utilizzare i driver non nativi per le schede wireless sotto GNU/Linux. Per quanto NdisWrapper utilizzi quindi driver spesso proprietari, dunque contrari all'etica del software libero, è un programma che viene rilasciato sotto GPL.

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 driver nativi. NdisWrapper lavora bene con molte schede miniPCI (builtin), PCI, PCMCIA (solo Cardbus) nonché con le schede USB. Per verificare il livello di compatibilità con la vostra scheda Wireless consultate il progetto Wiki[2] di NdisWrapper.

Installazione

Con privilegi di amministrazione è sufficiente installarne i pacchetti, per esempio con apt-get:

# apt-get install ndiswrapper-common ndiswrapper-source ndiswrapper-utils-1.9

e nel caso non li avessimo già installati:

# apt-get install module-init-tools module-assistant wireless-tools wpasupplicant

Configurazione

A questo punto avviamo 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 banale, in genere lo stesso viene incluso nel supporto CDROM allegato alla scheda Wireless o al PC:

# ndiswrapper -i /media/cdrom/drivers/nomedriver.inf

il driver Ndis è stato installato, per verificare l'insieme dei driver installati utilizziamo il comando ndiswrapper:

# ndiswrapper -l
Installed ndis drivers:
nomedriver driver present, hardware present

Utilizzo

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:

# m-a prepare
# m-a a-i ndiswrapper
# modprobe ndiswrapper

la scheda Wireless viene finalmente inizializzata ed è pronta per lavorare, per verificare lo stato dell'interfaccia Wireless utilizziamo l'utility iwconfig (Wireless Tools for Linux[3]):

# 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/modules utilizzando sempre l'utility ndiswrapper:

# ndiswrapper -m
Adding "alias wlan0 ndiswrapper" to /etc/modules

Per utilizzare una connessione di rete Wireless che dobbiamo 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:

# 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:

# dhclient wlan0

In alternativa possiamo crearci uno script:

#!/bin/sh
echo Abilitazione Scheda Wireless in corso......
iwconfig wlan0 rate auto
iwconfig wlan0 essid ESSID_VOSTRA_RETE
iwconfig wlan0 mode Ad-Hoc # o managed , vedete voi
iwconfig wlan0 key restricted CHIAVE_DELLA_VOSTRA_RETE
ifconfig wlan0 INDIRIZZO.IP.DELLA.WLAN0 up
iwconfig wlan0 power on
route add default gw INDIRIZZO.IP.DEL.GATEWAY
echo Scheda Wireless abilitata Correttamente....

Riferimenti

[1] Sito ufficiale
[2] Wiki ufficiale di ndiswrapper
[3] Wireless Tools per Linux




Guida scritta da: Jango   Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized