
Ho deciso di scrivere questa guida perche’ ho notato che uno dei problemi piu’ frequenti per chi comincia a usare Linux e’ configurare il Wireless.
Attenzione: Durante la guida presuppongo che la vostra scheda sia gia’ stata riconosciuta e che siano caricati gli appositi drivers. Potete verificarlo dando i seguenti comandi.
lspci
e cercate qualcosa che dice “wlan”, “wifi”, “wireless”, oppure anche
sudo lshw -class network
e dovreste avere un output di questo tipo
*-network:0
description: Wireless interface
product: AR5212/AR5213 Multiprotocol MAC/baseband processor
vendor: Atheros Communications Inc.
physical id: 9
bus info: pci@0000:00:09.0
logical name: wifi0
version: 01
serial: 00:0b:cd:5c:cb:ec
width: 32 bits
clock: 33MHz
capabilities: pm bus_master cap_list logical ethernet physical wireless
configuration: broadcast=yes driver=ath_pci latency=168 maxlatency=28 mingnt=10 module=ath_pci multicast=yes wireless=IEEE 802.11g
Nello spazio “module=” potete vedere il modulo del kernel (il driver) associato alla periferica (in questo caso e’ ath_pci). Controllate che il modulo sia caricato con
lsmod | grep nome_modulo
Ok, possiamo cominciare..
1) Disattiviamo le altre interfacce:
Se usate anche la connessione via cavo Ethernet, sarebbe meglio disattivare l’interfaccia eth0 (o analoga) prima di connettersi con il wireless. E’ possibile farlo con il comando
sudo ifconfig eth0 down
2) “Tiriamo su” l’interfaccia: dall’output del comando
sudo lshw -class network
possiamo scoprire a quale nome e’ associata la nostra scheda wireless (dipende dai driver usati) leggendo alla riga “logical name”. Nel mio caso, come potete leggere sopra, si chiama wifi0 .
Se usiamo DHCP che assegna da solo gli indirizzi ip, bastera’ digitare
sudo ifconfig wifi0 up
per attivare l’interfaccia. Se invece vogliamo un ip statico, dobbiamo modificare il comando precedente con
sudo ifconfig wifi0 192.168.1.13 up
(supponendo che 192.168.1.13 sia l’ip che vogliamo usare).
- Non e’ finita qui
: infatti alcuni drivers prevedono che si attivi una interfaccia “madre” virtuale (chiamata a volte wifi0, a volte wifimaster, ecc..) la quale comanda altre interfacce “figlia”, dove queste ultime pero’ non sono virtuali ma si riferiscono alla scheda wireless vera e propria. In questo modo e’ possibile gestire piu’ schede wifi insieme. Tuttavia, anche se ne abbiamo solo una dobbiamo attivare sia l’interfaccia “madre” che quella “figlia”. Come accorgersene? Dando il comando
ifconfig wifi0
(dove wifi0 e’ il nome dell’interfaccia attivata precedentemente) se wifi0 e’ una interfaccia virtuale avremo un output simile a questo
wifi0 Link encap:UNSPEC HWaddr 00-0B-CD-5C-CB-EC-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:52016 errors:0 dropped:0 overruns:0 frame:1199
TX packets:513 errors:0 dropped:0 overruns:0 carrier:0
collisioni:0 txqueuelen:199
Byte RX:4428162 (4.2 MB) Byte TX:22182 (21.6 KB)
Interrupt:5
se invece e’ direttamente l’interfaccia reale sara’ simile a questo
wifi0 Link encap:Ethernet HWaddr 00-0B-CD-5C-CB-EC-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:52016 errors:0 dropped:0 overruns:0 frame:1199
TX packets:513 errors:0 dropped:0 overruns:0 carrier:0
collisioni:0 txqueuelen:199
Byte RX:4428162 (4.2 MB) Byte TX:22182 (21.6 KB)
Interrupt:5
Se la vostra interfaccia fosse virtuale, e doveste attivare l’interfaccia “figlia” reale, fate riferimento alla documentazione del driver che usate per capire come vengono chiamate le inerfacce “figlia” (a volte ath0, a volte wlan0, ecc..). Nel mio caso, sono state chiamate ath0. Quindi per attivare l’interfaccia figlia (usando il DHCP) basta dare nuovamente lo stesso comando cambiando il nome
sudo ifconfig ath0 up
oppure, volendo usare un ip statico
sudo ifconfig ath0 192.168.1.13 up
Verificate che tutto sia andato a buon fine dando il comando
ifconfig
e controllando che fra gli altri avete due blocchi simili a questi
ath0 Link encap:Ethernet HWaddr 00:0b:cd:5c:cb:ec
inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:1131 errors:0 dropped:0 overruns:0 frame:0
TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
collisioni:0 txqueuelen:0
Byte RX:71539 (69.8 KB) Byte TX:230 (230.0 B)wifi0 Link encap:UNSPEC HWaddr 00-0B-CD-5C-CB-EC-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.1.13 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:52016 errors:0 dropped:0 overruns:0 frame:1199
TX packets:1828 errors:0 dropped:0 overruns:0 carrier:0
collisioni:0 txqueuelen:199
Byte RX:4428162 (4.2 MB) Byte TX:82672 (80.7 KB)
Interrupt:5
Da ora in poi per non ripeterlo ogni volta assumero’ che la vostra interfaccia “reale”, cioe’ quella associata alla scheda wireless vera e propria, si chiami ath0.
Nota: Se usate ip statico, ed il vostro driver prevede una interfaccia virtuale, potete anche evitare di assegnare ad essa un ip statico, ma farlo soltanto per l’interfaccia reale.
3) Controllare la presenza di reti wireless: assicurandoci che l’interruttore wireless sul nostro pc sia acceso (esso e’ presente in quasi tutti i portatili), diamo il comando
iwlist ath0 scan
e se siamo nelle vicinanze di una rete wifi, dovremmo ottenere un output simile a questo
ath0 Scan completed :
Cell 01 – Address: 00:11:95:9D:56:D0
ESSID:”G604T_WIRELESS”
Mode:Master
Frequency:2.437 GHz (Channel 6)
Quality=23/70 Signal level=-72 dBm Noise level=-95 dBm
Encryption key:off
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 22 Mb/s
6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Extra:bcn_int=200
Adesso quindi siamo sicuri che il nostro pc vede la rete wifi e abbiamo anche le informazioni sull’ESSID (che avremmo gia’ dovuto sapere, comunque..) della nostra rete.
4) Impostare ESSID e chiavi di cifratura: se non usiamo chiavi di cifratura, digitiamo
sudo iwconfig ath0 essid il_tuo_essid
dove ovviamente al posto di “il_tuo_essid” dovete sostituire l’ESSID della vostra rete, che avete ottenuto nel Punto 3. Se usiamo anche chiavi di cifratura, allora sostituiamo il precedente comando con
sudo iwconfig ath0 essid il_tuo_essid key la_tua_chiave
Iwconfig comunque da la possibilita’ di impostare altri parametri, che potete vedere digitando
iwconfig –help
5) Impostare il routing: equivale a dire “impostare il gateway predefinito”. Il gateway normalmente non e’ altro che l’indirizzo ip del router, che di solito e’ 192.168.1.1. Fate comunque riferimento alla documentazione del vostro router per sapere il suo indirizzo ip di default.
Assumiamo comunque che quello del nostro sia 192.168.1.1
Diamo il comando
sudo route add default gw 192.168.1.1 dev ath0
A questo punto dovremmo essere collegati completamente.
Nota: Se non avete gia’ impostato i dns (suppongo di si) fatelo scrivendoli (con permessi di root) nel file /etc/resolv.conf nella forma nameserver indirizzo_dns
Controlliamo la connessione:
Connessione al Gateway:
ping 192.168.1.1
Connessione ad Internet:
ping www.google.com
In entrambi i casi dovremmo ottenere un output simile a questo
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=4.43 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.864 ms— 192.168.1.1 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.864/2.647/4.430/1.783 ms
Buona Navigazione! =)