Difference between revisions of "Wireless network configuration (Italiano)"

From ArchWiki
Jump to: navigation, search
m (Remove gap.)
m (Ottenere un indirizzo IP: Update command.)
Line 554: Line 554:
 
per il DHCP, oppure
 
per il DHCP, oppure
  
  # ifconfig wlan0 192.168.0.2
+
  # ip addr add 192.168.0.2/24 dev wlan0
 
  # ip route add default via 192.168.0.1
 
  # ip route add default via 192.168.0.1
  

Revision as of 09:10, 8 March 2013

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary end La configurazione delle schede wireless sotto Arch Linux è un processo che avviene in due fasi: la prima fase è quella dell'identificazione e della corretta installazione del driver della periferica wifi in possesso ; la seconda fase è quella della scelta di un metodo di gestione delle connessioni wireless. Questo articolo copre entrambe le fasi, e contiene links per altri strumenti per la configurazione di reti wireless.

Nota per i nuovi sistemi Arch: I driver wireless e gli strumenti di gestione e configurazione sono disponibili durante l'installazione di Arch nella categoria base. Assicurarsi di installare il driver corretto per la propria scheda. udev carica solitamente il modulo appropriato, creando l'interfaccia wireless nel sistema live iniziale del programma di installazione, così come avviene nel sistema appena installato sul disco rigido. Se si configura la funzionalità wireless dopo e non durante l'installazione di Arch, assicurarsi che i pacchetti necessari siano installati con pacman, (driver, l'eventuale firmware necessario, wireless_tools, iw, wpa_supplicant, ecc.) e seguire le indicazioni riportate di seguito. Si noti che wireless_tools potrebbe essere opzionale, a seconda dell'età del vostro hardware wireless.

Contents

Fase I: Identificare la propria scheda wifi ed installare il driver appropriato

Identificare e verificare se la scheda è supportata

In primo luogo è necessario controllare se il kernel Linux supporta la propria scheda o se è disponibile un driver in user-space.

Identificare la scheda

È possibile trovare il tipo di scheda con il comando

lspci | grep -i net

Oppure, per un dispositivo USB, eseguire

lsusb
Nota: La scheda wifi interna di alcuni portatili può essere effettivamente un dispositivo USB, quindi assicurarsi di controllare entrambi i comandi.

Verificare se la scheda è supportata

  • Sul Wiki di Ubuntu c'è una buona lista di schede wireless con relativa indicazione del supporto o meno da parte del Kernel o sulla disponibilità di un driver in user-space (incluso il nome del driver).
  • Anche Linux Wireless Support e le "Linux Questions" in Hardware Compatibility List (HCL) contengono un elenco di hardware wireless supportato.
  • Infine, kernel page ha una matrice addizionale di hardware supportato.

Se la scheda non è elencata

Se la scheda wireless non è elencata sopra, è probabile che sia supportata solo da Windows (come alcune Broadcom, 3com, ecc). Per queste schede sarà necessario utilizzare ndiswrapper.

Ndiswrapper è uno script wrapper che permette di utilizzare alcuni driver di Windows in Linux. Consultare la lista delle schede compatibili qui. Serviranno i file .inf e .sys dei driver di Windows. Nel caso si abbia una scheda molto recente, o una un po' "esotica", potrebbe essere utile fare una ricerca su internet con il "nome esatto del modello" + "linux" prima di effettuare questa operazione.

Installazione dei tools in user-space

Con una connessione internet via cavo

Se si ha a disposizione una connessione via cavo, e si desiderà aggiungere funzionalità wireless ad un sistema preesistente, si installi il pacchetto wireless_tools.

Nota: wireless_tools può non essere richiesto a seconda dell'età del proprio hardware e del supporto hardware/driver a wpa_supplicant. Se la scheda è supportata abbastanza bene per utilizzare solo wpa_supplicant, si raccomanda di utilizzare solo quest'ultimo.

I nomi dei pacchetti dei driver sono evidenziati in grassetto in questa pagina, o con caratteri monospace, e sono installabili sia durante la selezione iniziale dei pacchetti in fase di installazione che dopo.

Con solo la connessione wireless disponibile

Il pacchetto wireless_tools è attualmente parte del sistema di base, ed è oltretutto presente nel supporto di installazione live (immagine CD/chiave USB) nella categoria base-devel.

Non potete configurare correttamente l'hardware wireless senza i componenti in userspace, quindi assicuratevi di installarli durante la prima installazione (durante la selezione dei pacchetti), altrimenti sarete in una sorta di "vicolo cieco" al momento del riavvio del vostro nuovo sistema Arch. Avrete bisogno di wireless_tools e dei driver, ma per procurarveli, avrete proprio bisogno sia di wireless_tools che dei driver.

Drivers e firmware

Il kernel di Arch è modulare, il che significa che la maggior parte dei driver per l'hardware della macchina risiedono sull'hard disk e sono disponibili come moduli. All'avvio, udev fa un inventario dell'hardware presente. Lo stesso udev carica quindi i moduli (i driver) per l'hardware corrispondente, e il driver, di contro, permette la creazione di una kernel interface.

Il nome dell'interfaccia varia in base al driver e al chipset installato. Alcuni esempi sono wlan0, eth1, o ath0.

Nota: Udev non è perfetto. Se il modulo appropriato non è caricato all'avvio, basta attivarlo tramite il comando modprobe e aggiungerlo in un file .conf in /etc/modules-load.d/ . Si noti inoltre che udev può occasionalmente caricare più di un driver per una periferica, e il conflitto risultante impedirebbe il successo della configurazione. Ci si assicuri quindi di mettere in blacklist il modulo non necessario.

I metodi e le procedure per l'installazione dei driver per i vari chipset sono trattati in seguito. Inoltre, alcuni chipset richiedono l'esplicita installazione del firmware corrispondente (anche questo viene trattato in seguito). Consultare Kernel modules per informazioni generali sulle operazioni con i moduli.

rt2860 e rt2870

Dalla versione del kernel linux 3.0, il driver rt2860sta è stato sostituito dal driver rt2800pci, e rt2870sta da rt2800usb. Fonte: Kernel commit. Il driver rt2800 funziona automaticamente con dispositivi che utilizzano il chipset rt2870.

Ha una vasta gamma di opzioni che possono essere configurate con iwpriv. Queste sono ben documentate nei tarballs dei sorgenti resi disponibili da Ralink

rt3090

I dispositivi dotati di chipset rt3090 potrebbero funzionare con il driver rt2870sta. rt2800pci, il driver di riferimento, non funziona molto bene con questo chipset e potrebbe non essere possibile andare oltre i 2 Mb/s di banda.

È consigliabile installare il driver rt3090AUR da AUR e cancellare/spostare il file del firmware /etc/Wireless/RT2860STA/RT2860STA.dat per consentire l'installazione del pacchetto rt3090AUR. Si metta in blacklist il modulo rt2860sta e si abiliti il caricamento del modulo rt3090 al boot.

Nota: È possibile utilizzare questo driver anche con chipsets rt3062.

rt2x00

Il driver unificato per i chipset Ralink (rimpiazza i vari driver separati per rt2500,rt61,rt73 ecc.). Questo driver è compatibile con gli strumenti wpa_supplicant e iwconfig ed è incluso nel kernel dalla versione 2.6.24.

Alcuni chip richiedono il firmware, installato di default in Arch Linux nel pacchetto linux-firmware

Fate riferimento alla pagina: Using the new rt2x00 beta driver.

rt3573

Nuovo chipset (2012). Potrebbe richiedere un driver proprietario fornito da Ralink. Differenti produttori lo utilizzano: si veda per esempio il Belkin N750.

rt5572

Nuovo chipset (2012) con supporto ai 5 Ghz. Potrebbe richiedere driver proprietari forniti da Ralink. Al momento, è disponibile un HOWTO sulla compilazione valido per la D-Link DWA-160 rev. B2, qui.

w322u

Per questa scheda Tenda, avvalersi delle istruzioni riguardanti rt2870sta. Consultare: Rt2870

rtl8180

Le schede Realtek rtl8180 PCI/Cardbus 802.11b ora sono pienamente supportate dal kernel. Possono essere configurate usando gli strumenti standard wpa_supplicant e iwconfig.

rtl8187

Vedere: rtl8187

rtl8192e

Il driver è parte del kernel attuale. Può essere configurato usando gli strumenti standard wpa_supplicant e iwconfig.

Nota: wicd può causare un eccessivo numero di disconnessioni con questo driver, mentre NetworkManager sembra funzionare meglio.
Errore inizializzazione del modulo

L'inizializzazione del modulo potrebbe non riuscire in fase di boot dando questo messaggio di errore:

rtl819xE:ERR in CPUcheck_firmware_ready()
rtl819xE:ERR in init_firmware() step 2
rtl819xE:ERR!!! _rtl8192_up(): initialization is failed!
r8169 0000:03:00.0: eth0: link down

Una semplice soluzione è quella di scaricare il modulo:

# modprobe -r r8192e_pci

e ricaricarlo (dopo una pausa):

# modprobe r8192e_pci

rtl8192s

Il driver è parte del kernel attuale. Può essere necessario aggiungere manualmente il firmware in caso /usr/lib/firmware/RTL8192SU/rtl8192sfw.bin non esista. (dmesg riporterebbe "rtl819xU:FirmwareRequest92S(): failed" se mancasse il firmware)

Per scaricare e installare il firmware:

$ wget http://launchpadlibrarian.net/33927923/rtl8192se_linux_2.6.0010.1012.2009.tar.gz
# mkdir /lib/firmware/RTL8192SU
# tar -xzOf rtl8192se_linux_2.6.0010.1012.2009.tar.gz \
 rtl8192se_linux_2.6.0010.1012.2009/firmware/RTL8192SE/rtl8192sfw.bin > \
 /usr/lib/firmware/RTL8192SU/rtl8192sfw.bin
Nota: Può essere trovata una versione alternativa del firmware qui, ma questa versione può causare l'interruzione delle connessioni.
Nota: Con questo driver Wicd può causare un eccessivo interrompersi delle connessioni, mentre NetworkManager sembra funzionare meglio.

madwifi-ng

Esistono tre moduli, correntemente mantenuti dal team MadWifi:

  • ath_pci, il driver più vecchio
  • ath5k, destinato a sostituire ath_pci. Attualmente è una scelta migliore per alcuni chipsets, ma non tutti sono supportati (si veda sotto)
  • ath9k, il nuovo driver ufficiale per dispositivi con chipset Atheros (si veda sotto)

Per utilizzare il vecchio driver ath_pci, si installi il pacchetto madwifi ed opzionalmente madwifi-utils-svnAUR. Poi:

# modprobe ath_pci

Se si sta utilizzando questo driver, potrebbe essere necessario mettere in blacklist ath5k. Si veda Kernel modules (Italiano)#Blacklisting per ulteriori informazioni.

Alcuni utenti potrebbero dover specificare l'opzione countrycode al caricamento del driver MadWifi, al fine di scegliere canali e potenza di trasmissione legali nel paese di appartenenza. Se ad esempio ci si trova nei paesi bassi, il modulo andrà caricato in questo modo:

# modprobe ath_pci countrycode=528

Si possono verificare le impostazioni con il comando {{ic|iwlist}. Si veda man iwlist e la pagina relativa ai CountryCode sul wiki di MadWifi. Per applicare queste impostazioni automaticamente al boot, si aggiunga la seguente riga ad /etc/modprobe.d/modprobe.conf:

options ath_pci countrycode=528
Nota: A partire dalla versione 3.8, il file di configurazione per il pacchetto module-init-tools è /etc/modprobe.d/modprobe.conf, invece del vecchio /etc/modprobe.conf. link.

ath5k

ath5k è il driver preferito per i chipset AR5xxx compresi quelli già funzionanti con madwifi-ng e per alcuni chipset più datati dei AR5xxx.

Se ath5k è in conflitto con ath_pci sul proprio sistema, mettere in blacklist (e rimuovere con rmmod o riavviare) i seguenti driver in /etc/modprobe.d/modprobe.conf:

ath_hal
ath_pci
ath_rate_amrr
ath_rate_onoe
ath_rate_sample
wlan
wlan_acl
wlan_ccmp
wlan_scan_ap
wlan_scan_sta
wlan_tkip
wlan_wep
wlan_xauth

Poi caricare il modulo manualmente con modprobe ath5k o riavviare. wlan0 (o wlanX) dovrebbe apparire ed essere pronta all'uso in modalità STA.

Info:

Nota: Alcuni portatili hanno dei problemi con il led Wireless che lampeggia rosso e blu. Per risolvere questo problema:
echo none > "/sys/class/leds/ath5k-phy0::tx/trigger"
echo none > "/sys/class/leds/ath5k-phy0::rx/trigger"
Per ricerche alternative consultare qui.
Nota: Se le pagine vengono caricate molto lentamente su Firefox/Opera/Chromium, si provi ad utilizzare la crittografia software in luogo di quella hardware:
rmmod ath5k
modprobe ath5k nohwcrypt

E si riavvii la connessione. Se il problema è risolto, si renda la modifica permanente aggiungendo questa riga al file /etc/modprobe.d/010-ath5k.conf:

options ath5k nohwcrypt
Ulteriori informazioni sulle opzioni di modprobe sono disponibili qui.

ath9k

ath9k è il driver Atheros ufficialmente supportato per i più recenti chipset 802.11n. Tutti i chip con capacità 802.11n sono supportati, con un throughput massimo di circa 180 Mbps. Per vedere un elenco completo dell'hardware supportato, controllare questa pagina.

Modalità di funzionamento: Station, AP e Adhoc.

ath9k è stato incluso nel kernel dal 2.6.27. Nell'improbabile caso in cui si riscontrino problemi di stabilità, si potrebbe provare a utilizzare il pacchetto compat-wireless. Esiste inoltre ath9k mailing list che fornisce supporto e discussioni relative allo sviluppo.

Info:

ath9k_htc

ath9k_htc è il driver Atheros ufficialmente supportato per i dispositivi USB 802.11n. Sono supportate le modalità "station" e "ad-Hoc". Il driver è stato implementato dal kernel linux 2.6.35. Per maggiori informazioni si veda http://wireless.kernel.org/en/users/Drivers/ath9k_htc.

Intel ipw2100 e ipw2200

Pienamente supportato nel kernel, ma richiede il firmware aggiuntivo. Può essere configurato usando gli strumenti standard wpa_supplicant e iwconfig.

A seconda del chip della propria scheda, utilizzare ipw2100-fw o ipw2200-fw.

Se installato dopo la prima installazione di Arch, sarà probabilmente necessario riavviare il sistema per far si che il firmware venga caricato; eseguire il seguente comando da root:

rmmod ipw2200
modprobe ipw2200
Abilitare l'interfaccia radiotap

Lanciare il seguente comando (da root):

rmmod ipw2200
modprobe ipw2200 rtap_iface=1
Abilitare i LED

La maggior parte dei computer portatili hanno di solito una luce LED per indicare quando il wireless è collegato. Per attivare questa funzionalità aggiungere la seguente riga a /etc/modprobe.d/ipw2200.conf:

options ipw2200 led=1

iwl3945, iwl4965 e serie-iwl5000

Il progetto Intel iwlwifi (con iwl che sta per Intel's open source WiFi drivers for Linux) fornisce dei driver, direttamente inclusi nei kernel 2.6.24 e successivi, che funzionano per entrambi i chipset 3945 e 4965. Inoltre, la serie di schede iwl5000 (che include i chipset 5100BG, 5100ABG, 5100AGN, 5300AGN and 5350AGN) è supportata con un modulo nel nuovo kernel 2.6.27, grazie al driver iwlagn.

Caricamento del Driver

udev dovrebbe caricare il driver automaticamente. Per caricarlo in modo manuale all'avvio del pc, si modifichi /etc/rc.conf e si inseriscano i moduli iwl3945 o iwl4965 nell'array MODULES. Ad esempio:

MODULES=( ... b44 mii iwl3945 snd-mixer-oss ...)

Il driver dovrebbe essere caricato al prossimo avvio, e l'esecuzione del comando ip addr da un terminale, dovrebbe elencare wlan0 come nuova interfaccia di rete.

Disattivazione del lampeggio dei LED

Le impostazioni predefinite del modulo attivano il lampeggio del LED di default. Alcune persone trovano questo fatto estremamente fastidioso. Per avere il LED acceso se wifi è attivo (funziona anche su sistemi che non utilizzano systemd):

# echo 'w /sys/class/leds/phy0-led/trigger - - - - phy0radio' > /etc/tmpfiles.d/phy0-led.conf
# systemd-tmpfiles --create phy0-led.conf
Vecchio metodo, se non si dispone di /sys/class/leds/py0-led
# echo "options iwlcore led_mode=1" >> /etc/modprobe.d/modprobe.conf
# rmmod iwlagn
# rmmod iwlcore
# modprobe iwlcore
# modprobe iwlagn

Dal kernel 2.6.39.1-1 in poi, il modulo iwlcore module è deprecato. Usare piuttosto options iwlagn led_mode=1 o options iwl_legacy led_mode=1 (capire quale modulo viene caricato con lsmod).

Nota: iwl_legacy è stato rinominato in iwlegacy a partire dalla versione 3.3.1 del kernel linux: sarà quindi necessario utilizzare: options iwlegacy led_mode=1.
Altre osservazioni
  • I driver windows NETw4x32 possono essere usati con ndiswrapper come alternativa ai driver iwl3945 e ipw3945.
  • In alcuni casi (in particolare un Dell Latitude D620 con Arch 2008.06, anche se potrebbe accadere con qualsiasi altro) dopo l'installazione si potrebbero avere sia iwl3945 che ipw3945 nella sezione MODULES=() in /etc/rc.conf. La scheda non funziona con entrambi i moduli caricati, così bisogna aggiungere in blacklist il modulo ipw3945 in /etc/modprobe.d/modprobe.conf e poi riavviare o rimuovere il modulo manualmente prima di poter utilizzare la scheda wireless.
  • Di default iwl3945 è configurato per funzionare solo con le reti sui canali 1-11. Gamme superiori non sono ammesse in alcune parti del mondo (Stati Uniti). Nell'UE tuttavia, i canali 12 e 13 sono utilizzati abbastanza comunemente. Per fare in modo che iwl3945 esegua le scansioni per tutti i canali, aggiungere options cfg80211 ieee80211_regdom=EU a /etc/modprobe.d/modprobe.conf. Con iwlist f è possibile controllare quali canali sono ammessi.
  • Se si desidera attivare più canali su Intel Wifi 5100 (e possibilmente anche altre schede) è possibile farlo con il pacchetto crda. Dopo l'installazione, modificare /etc/conf.d/wireless-regdom e decommentare la riga in cui si trova il codice del paese. Aggiungere wireless-regdom alla stringa DAEMONS in /etc/rc.conf e riavviare (che è la cosa più facile da fare). Si dovrebbe ora, dopo aver dato il comando sudo iwlist wlan0 channel, avere accesso a più canali (a seconda della propria località).

orinoco

Questo driver fa già parte del pacchetto del kernel e quindi dovrebbe già essere installato.

Nota: Alcuni chipset orinoco sono Hermes I/II. È possibile installare il pacchetto wl_lkmAUR da AUR per sostituire il driver orinoco ed ottenere il supporto WPA. Consultare questo post per ulteriori informazioni.

Per utilizzare il driver, mettere in blacklist orinoco_cs in /etc/modprobe.d/modprobe.conf e poi aggiungere wlags49_h1_cs. Esempio:

# echo "blacklist orinoco_cs" >> /etc/modprobe.d/modprobe.conf

ndiswrapper

Ndiswrapper non è un vero e proprio driver, ma è un tool che può tornare utile nel caso in cui non siano disponibili dei driver nativi per Linux adatti al vostro chipset wireless. Quindi è molto utile in alcune situazioni. Per utilizzarlo, è necessario avere il file *.inf proveniente dai driver dei sistemi Windows (oltre al file *.sys che dev'essere nella stessa cartella). Assicurarsi di utilizzare i driver appropriati per la propria architettura (32/64bit). Se si ha bisogno di estrarre questi file da un file *.exe, è possibile utilizzare sia cabextract che wine.

Per installare ndiswrapper è necessario seguire questi passi:

1. Installare i driver in /etc/ndiswrapper/*

ndiswrapper -i filename.inf

2. Elencare tutti i driver installati per ndiswrapper

ndiswrapper -l

3. Scrivere i file di configurazione in /etc/modprobe.d/ndiswrapper.conf

ndiswrapper -m
depmod -a

Ora che l'installazione di ndiswrapper è quasi finita, si deve solo aggiornare /etc/rc.conf per caricare il modulo al boot (qui sotto un esempio di configurazione; la vostra potrebbe essere leggermente diversa):

MODULES=(ndiswrapper snd-intel8x0)

L'importante è semplicemente che ndiswrapper sia presente nella lista dei moduli da caricare. Salvato il file, sarà utile (per non dover riavviare subito) caricare manualmente il modulo con il comando:

modprobe ndiswrapper
iwconfig

dovremmo vedere presente il device wlan0. Se avete problemi, consultate il wiki d'installazione Ndiswrapper.

prism54

Scaricate il firmware del driver appropriato per la vostra scheda da questo sito. Rinominate poi il file in isl3890. Se non esiste, sarà necessario creare la cartella /lib/firmware e spostare li dentro il firmware appena rinominato. Questo procedimento dovrebbe funzionare. [1]

Se così non funziona, riprovare in questo modo:

  • Ricaricare il modulo prism (modprobe p54usb o modprobe p54pci, dipendendo dal proprio hardware)

in alternativa, rimuovere la scheda wifi e poi ricollegarla.

  • Usare il comando dmesg, e osservare verso la fine dell'output restituito.

Cercare una sezione simile a questa:

firmware: requesting isl3887usb_bare
p54: LM86 firmware
p54: FW rev 2.5.8.0 - Softmac protocol 3.0

e provare a rinominare il file del firmware con il nome corrispondente alla parte in grassetto qui.

Se si riceve il messaggio

SIOCSIFFLAGS: Operation not permitted

durante l'esecuzione di ip link set wlan0 up, oppure si visualizza

prism54: Your card/socket may be faulty, or IRQ line too busy :(

in dmesg, la causa può essere il caricamento simultaneo del vecchio modulo del kernel prism54 e dei più recenti p54pci o p54usb, e quindi in contrapposizione tra loro per aggiudicarsi l'IRQ. Utilizzare il comando lsmod per vedere se viene effettivamente caricato il modulo deprecato, nel qual caso bisognerà bloccarne il caricamento aggiungendolo in blacklist. Ci sono diversi modi per farlo, descritti in altre sezioni del wiki. Una volta aggiunto alla blacklist, si dovrà probabilmente rinominare il firmware prism54 e p54pci/p54usb a seconda dei differenti nomi dei file firmware (ricontrollare dmesg dopo aver eseguito ip link set eth0 up).

ACX100/111

Installate innanzitutto i pacchetti: tiacx tiacx-firmware

Il driver dovrebbe dirvi di quale firmware ha bisogno: controllate /var/log/messages.log oppure usate il comando dmesg.

Spostate quindi il firmware corretto nella cartella /lib/firmware:

ln -s /usr/share/tiacx/acx111_2.3.1.31/tiacx111c16 /lib/firmware

Un altro modo di determinare quale numero di revisione del firmware utilizzare, è vedere la sezione "Which firmware" del wiki acx100.sourceforge. Per ACX100, è possibile seguire i link forniti, e convergenti ad una tabella di modelli di schede. "firmware noto per funzionare"; si può capire il numero rev. di cui si ha bisogno, guardando il suffisso. Es. una dlink_dwl650+ usa "1.9.8.b", nel qual caso si farebbe questo:

ln -s /usr/share/tiacx/acx100_1.9.8.b/* /usr/lib/firmware

Se pensate che questo driver riempia di messaggi inutili il vostro kernel log, ad esempio se state utilizzando Kismet con il channel-hopping, potete mettere questa opzione nel file /etc/modprobe.d/modprobe.conf:

options acx debug=0
Nota: Il driver open-source acx non supporta la criptazione WPA/RSN. Ndiswrapper dovrà essere utilizzato con il driver di Windows per abilitare la crittografia avanzata. Vedere ndiswrapper per maggiori informazioni.

b43, broadcom-wl e brcmsmac (precedentemente conosciuto come brcm80211)

Consultare la pagina Broadcom wireless.


zd1211rw

zd1211rw è il driver per il chipset ZyDAS ZD1211 802.11b/g USB WLAN ed è incluso nelle recenti versioni del kernel Linux. Vedere [2] per una lista delle schede supportate. Avrete solo bisogno di installare il firmware appropriato per la scheda, contenuto nel pacchetto zd1211-firmware.

carl9170

carl9170 è il driver USB 802.11n con firmware GPLv2 per i dispositivi Atheros USB AR9170. Supporta questi dispositivi. Il firmware non è ancora incluso nel pacchetto linux-firmware, ma è disponibile su AUR (carl9170-fwAUR). Il driver è incluso nel kernel dalla versione 2.6.37.

E' inoltre necessario inserire in blacklist i seguenti moduli:

  • arusb_lnx
  • ar9170usb

hostap_cs

Host AP è il driver Linux per schede wireless con chipset Prism2/2.5/3 come WCP11. hostap_cs dovrebbe essere incluso nel pacchetto linux e quindi già installato.

orinico_cs può causare problemi, quindi deve essere aggiunto in blacklist. Dopodichè il driver dovrebbe funzionare.

Ulteriori informazioni sul driver possono essere trovate qui

compat-wireless-patched

Il pacchetto "compat-wireless-patched" corregge il problema del "canale fisso -1", fornendo al contempo una migliore funzionalità. Installare il pacchetto compat-wireless-patchedAUR da AUR.

compat-wireless-patchedAUR non va in conflitto con nessun altro pacchetto e i moduli compilati risiedono in /usr/lib/modules/versione-kernel/updates.

Questi driver con patch incluse provengono da Linux Wireless project e supportano molti dei chip menzionati sopra, tra i quali:

ath5k ath9k_htc carl9170 b43 zd1211rw rt2x00 wl1251 wl12xx ath6kl brcm80211

Gruppi supportati:

atheros ath iwlagn rtl818x rtlwifi wl12xx atlxx bt

È anche possibile compilare un modulo o driver specifico appartenente ad un gruppo di driver modificando il PKGBUILD, decommentando la riga #46. Ecco un esempio di compilazione del gruppo Atheros:

scripts/driver-select atheros

Leggere accuratamente le istruzioni del PKGBUILD per qualsiasi altre possibile modifica prima della compilazione e installazione.

Test dell'Installazione

Dopo aver caricato il modulo relativo al proprio driver, eseguire un ip link per controllate se viene riconosciuta un'interfaccia wireless (wlanx, ethx, athx).

Se l'interfaccia non è visibile, caricare il relativo modulo con modpbore dovrebbe funzionare. Per avviare il driver, utilizzare i comandi rmmod e modprobe (se rmmod non dovesse funzionare, riprovare con modprobe). Si veda Kernel modules per maggiori informazioni.

Esempio: nel caso il driver si chiami "driverXXX", si dovrebbero eseguire i seguenti comandi:

# rmmod driverXXX
# modprobe driverXXX

Attivare l'interfaccia con ip link set <interface> up. Supponendo che l'interfaccia sia wlan0:

# ip link set wlan0 up

Se si riceve questo messaggio di errore: SIOCSIFFLAGS: No such file or directory significa certamente che il proprio chipset wireless richiede un firmware per funzionare, ed è necessario installarlo come spiegato sopra.

Fase II: Gestione Wireless

Dando per scontato che abbiate installato correttamente i driver, ora si avrà bisogno di un metodo per gestire la connettività wifi. Le seguenti sottosezioni vi aiuteranno a capire quale di essi sarà più adatto alle vostre necessità.

La procedure e gli strumenti di cui avrete bisogno dipendono da una pluralità di fattori:

  • La facilità della configurazione della gestione, da un approccio completamente manuale che dovrete ripetere ad ogni riavvio fino a un approccio gestito tramite software, automatico e auto-inizializzante.
  • Il tipo di protezione (o nessuna) che protegge la vostra rete wireless.
  • La necessità o meno dei profili di rete, es. se il vostro pc cambia frequentemente la rete a cui connettersi (come fa un portatile)


Il metodo manuale richiede più lavoro da parte dell'utente, ma garantisce un maggior controllo della propria configurazione.

Solitamente, è necessario inserire una serie di comandi che non avranno effetti permanenti, ovvero non saranno eseguiti nuovamente dopo un riavvio.

È possibile eseguire manualmente i comandi ad ogni riavvio, il che può essere abbastanza tedioso, oppure inserirli in uno script per automatizzare il tutto. Lo script in questione può poi essere avviato automaticamente al boot. Si veda a tal proposito Arch Boot Process

Metodi di gestione

Questa tabella mostra i differenti metodi che possono essere utilizzati per attivare e gestire una connessione wireless, a seconda del tipo di crittazione e del metodo di gestione che si vuole utilizzare, e i vari strumenti che sono necessari per ogni caso. Anche se ci sono possibilità ulteriori, queste sono quelle utilizzate più di frequente:

Gestione Senza Crittazione/WEP WPA/WPA2 PSK
Manuale iproute2 + iwconfig + dhcpcd/iproute2 iproute2 + iwconfig + wpa_supplicant + dhcpcd/iproute2
Automatica, con supporto ai profili di rete netcfg, wicd, NetworkManager, ecc…

Scelte ulteriori:

- Netcfg Wicd NetworkManager+network-manager-applet
auto connessione all'avvio con servizio net-profiles si si
auto connessione se disconnesso
o cambiato ubicazione
con servizio net-auto-wireless si si
supporto 3G Modem si
GUI (propone di gestire/collegare/scollegare
i profili dall'icona sulla tray.
Rilevamento automatico wireless disponibile)
con ArchAssitant si si
strumenti console con wifi-select wicd-curses (incl. nel pacchetto wicd) nmcli


Si noti che le linux wireless extensions e relativi comandi come iwconfig stanno venendo deprecati in favore di iw. Il wiki non riflette ancora i cambiamenti, ed entrambi i comandi funzionano. Una confronto tra i comandi più comuni è reperibile all'indirizzo Linuxwireless.

Qualunque sia la scelta, dovreste provare a connettervi innanzitutto col metodo manuale. Questo vi aiuterà a capire i vari passi necessari per una connessione, oltre ad individuare più facilmente eventuali problemi che possono sorgere. Un altro consiglio, se possibile (es. se avete i poteri di amministrazione del vostro access point), provate innanzitutto a connettervi senza crittazione, per assicurarvi che tutto funzioni. Quindi provare a utilizzare la crittografia, sia WEP (più semplice da configurare, ma violabile in pochi minuti, anche se quasi più sicura di una connessione non crittografata), sia WPA.

Quando si tratta di facilità d'uso, NetworkManager (con l'applet network-manager-applet di Gnome) e wicd sono dotate di ottime interfaccie grafiche, possono fornire un elenco delle reti disponibili per la connessione e sono progettate per la gestione delle password, cosa semplice e altamente raccomandata. WPA Supplicant dispone di un tool grafico per la configurazione: wpa_supplicant_gui.

Nota: network-manager-applet funziona anche con Xfce se si installa xfce4-xfapplet-plugin. Inoltre sono disponibili anche delle applet per KDE.

Configurazione Manuale

Il pacchetto wireless_tools fornisce un set base di strumenti utili a configurare una rete wireless. Se necessitate di crittazione WPA\WPA2, sarà inoltre necessario il pacchetto wpa_supplicant. Questi potenti strumenti funzionano egregiamente e permettono un controllo pressochè totale delle connessioni da linea di comando.

Negli esempi seguenti, si presume che la periferica wireless sia identificata con wlan0. Sostituire quindi wlan0 con il nome della periferica appropriato.

Nota: A seconda del vostro hardware e del metodo scelto per la crittazione, alcuni dei passi seguenti potrebbero non essere necessari. Alcune schede sono famose per necessitare dell'attivazione dell'interfaccia e/o della rilevazione degli access points prima di essere associati ad un access point ed a un indirizzo IP. Potrebbe dunque essere necessario qualche tentativo. Ad esempio, chi utilizza WPA/WPA2, può direttamente seguire i passi a partire dal punto 3.

Modalità di funzionamento

(Opzionale, ma può essere richiesto) A questo punto potrebbe essere necessario impostare la corretta modalità di funzionamento della scheda wireless. Più specificamente, se avete intenzione di collegarvi ad una rete ad-hoc, potrebbe essere necessario impostare la modalità di funzionamento a ad-hoc:

# iw wlan0 set type ibss
Nota: Idealmente, si dovrebbe sapere a priori che tipo di rete si sta per collegare. In caso contrario, eseguire una scansione di rete come descritto al seguente punto 2, poi, se necessario, tornare a questo punto e cambiare la modalità. Inoltre, ricordarsi che cambiare il modo di funzionamento potrebbe richiedere la disabilitazione dell'interfaccia wireless (ip link set wlan0 down).

Attivazione dell'interfaccia

(Opzionale, ma può essere richiesto) Molte schede necessitano che l'interfaccia del kernel venga attivata prima di poter utilizzare i wireless_tools:

# ip link set wlan0 up

Ricerca degli Access Points

Controllate quali access points sono disponibili:

# iw dev wlan0 scan | less
Nota: Se viene visualizzato "Interface does not support scanning" si avrà probabilmente dimenticato di installare il firmware. Si può anche provare ad attivare la prima interfaccia, come indicato al punto 1. In alcuni casi questo messaggio viene visualizzato anche quando non è in esecuzione iw da root. Inoltre, è possibile che la propria scheda di rete wireless sia soft-blocked. Si installi rfkill e si esegua rfkill list all per controllare.

Voci importanti:

  • ESSID: indica il nome dell'access point.
  • Quality: è generalmente consigliabile connettersi ad una rete con un valore pari o superiore a 40/70
  • Encryption key: se ha valore "on", si controlli la presenza di linee riguardanti:
    • WEP, WPA o RSN. Si noti che RSN e WPA2 sono nomi differenti dello stesso protocollo.
    • Group cipher: ha valori TKIP, CCMP, entrambi, altri.
    • Pairwise ciphers: ha valori: TKIP, CCMP, entrambi, altri. Non ha necessariamente lo stesso valore di "Group cipher.
    • Authentication Suites: ha valore PSK, 802.1x, altri. Utilizzando un router domestico, sarà solitamente visualizzato il valore PSK (ovvero "passphrase"). Nelle università, è più probabile trovare la suite 802.1x, che richiede un login ed una password. Sarà poi necessario conoscere il tipo di metodo per la gestione delle chiavi da utilizzare (ad esempio EAP) e quale incapsulazione esso utilizza (ad esempio PEAP). Per ulteriori dettagli consultare http://en.wikipedia.org/wiki/List_of_authentication_protocols.

Associazione

A seconda del tipo di crittazione, sarà necessario associare la vostra scheda wifi con l'access point da utilizzare, e inserire la chiave di crittazione.

Presupponendo si voglia utilizzare l'ESSID chiamato MyEssid:

Nota: l'ESSID è solitamente il nome della rete a cui si desidera connettersi.
  • Nessuna crittazione
 # iwconfig wlan0 essid "MyEssid"

Oppure, utilizzando la nuova interfaccia:

 # iw dev wlan0 connect MyEssid
  • WEP

con una chiave esadecimale:

 # iwconfig wlan0 essid "MyEssid" key 1234567890

con una chiave ascii:

 # iwconfig wlan0 essid "MyEssid" key s:asciikey
  • WPA/WPA2

Sarà necessario modificare il file /etc/wpa_supplicant.conf come descritto nella pagina WPA Supplicant. Quindi, eseguire il comando:

 # wpa_supplicant -B -Dwext -i wlan0 -c /etc/wpa_supplicant.conf

Ciò è valido presupponendo che la periferica utilizzi il driver wext. In caso di problemi, si controllino le opzioni. Se la connessione funziona correttamente, continuare in un nuovo terminale (o uscire da wpa_supplicant con CTRL + C e aggiungere l'opzione -B al comando precedente per farlo funzionare in background).

Controllare la pagina relativa a WPA Supplicant per maggiori informazioni e suggerimenti.

Indipendentemente dal metodo utilizzato, è possibile controllare se vi sono associazioni funzionanti con il seguente comando:

 # iwconfig wlan0 

Oppure, utilizzando la nuova interfaccia:

# iw dev wlan0 link
Nota: In alcune configurazioni si potrebbe ancora visualizzare "Access Point: Not-Associated"; ignorare e proseguire comunque verso il passo successivo.

Ottenere un indirizzo IP

Infine, associate la vostra interfaccia di rete ad un indirizzo IP. Alcuni semplici esempi:

# dhcpcd wlan0

per il DHCP, oppure

# ip addr add 192.168.0.2/24 dev wlan0
# ip route add default via 192.168.0.1

per un indirizzo IP statico.

Nota: Se si verifica un errore di timeout a causa di un errore waiting for carrier allora potrebbe essere necessario impostare la modalità del canale a auto per il dispositivo specifico.
# iwconfig wlan0 channel auto 
Nota: Benchè utilizzare questo medoto aiuti a risolvere i problemi relativi alla connettività wireless, sarà necessario ripetere i comandi sopra esposti ad ogni riavvio. È inoltre possibile scrivere uno script per automatizzare il tutto, il che è in ogni caso un modo molto conveniente per gestire le reti mantenendo al tempo stesso il pieno controllo della propria configurazione.

Connessione wireless manuale al boot utilizzando systemd e dhcpcd

Per consentire a systemd di connettersi al boot ad una rete wireless precedentemente configurata:

Si crei il file /etc/conf.d/network che conterrà le impostazioni dell'interfaccia e gli eventuali IP statici:

/etc/conf.d/network
interface=wlan0
address=192.168.0.10
netmask=24
broadcast=192.168.0.255
gateway=192.168.0.1

Si crei un servizio adeguato, come /etc/systemd/system/network.service. L'esempio di seguito utilizza WPA Supplicant.

/etc/systemd/system/network.service

[Unit]
Description=Network Connectivity
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-${interface}.device
After=sys-subsystem-net-devices-${interface}.device
       
[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/conf.d/network
ExecStart=/sbin/ip link set dev ${interface} up
ExecStart=/usr/sbin/wpa_supplicant -B -i ${interface} -c /etc/wpa_supplicant.conf
ExecStart=/sbin/dhcpcd ${interface}
         
[Install]
WantedBy=multi-user.target

Oppure, senza utilizzare /etc/conf.d/network:

/etc/systemd/system/network.service

[Unit]
Description=Network Connectivity
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-wlan0.device
After=sys-subsystem-net-devices-wlan0.device
       
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ip link set dev wlan0 up
ExecStart=/usr/sbin/wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
ExecStart=/sbin/dhcpcd wlan0
        
[Install]
WantedBy=multi-user.target

Non dimenticarsi di abilitare il servizio:

# systemctl enable network

Per testare il servizio appena scritto, assicurarsi che eventuali altri demoni per la gestione della rete non siano in esecuzione e si dia da root:

# systemctl start network

Systemd più wpa_supplicant con IP statico

Questa configurazione d'esempio utilizza la nuova nomenclatura delle interfacce presente da systemd-197.

Si veda:

http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames https://mailman.archlinux.org/pipermail/arch-dev-public/2013-January/024231.html

Si esegua questo script come utente non root per ottenere i nomi delle interfacce di rete:

for i in /sys/class/net/*; do
  echo "==$i"
  udevadm test-builtin net_id "$i";
  echo
done 2>/dev/null

Si crei il file /etc/conf.d/network:

/etc/conf.d/network
interface=wlp0s26f7u3
address=192.168.0.10
netmask=24
broadcast=192.168.0.255
gateway=192.168.0.1

Si crei il file /etc/wpa_supplicant.conf. Si faccia riferimento a WPA Supplicant.

/etc/wpa_supplicant.conf
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=network
update_config=1
network={
        ssid="My-Wireless"
        psk=b705a6bfcd5639d5c40cd972cd4048cfb94572987f30d324c82036317b91a138
}

Si crei un servizio di systemd contenente il nome dell'interfaccia: /etc/systemd/system/network@wlp0s26f7u3.service:

/etc/systemd/system/network@wlp0s26f7u3.service
[Unit]
Description=Network Connectivity (%i)
Wants=network.target
Before=network.target
BindsTo=sys-subsystem-net-devices-%i.device
After=sys-subsystem-net-devices-%i.device

[Service]
Type=oneshot
RemainAfterExit=yes
EnvironmentFile=/etc/conf.d/network
ExecStart=/usr/sbin/ip link set dev ${interface} up
ExecStart=/usr/sbin/wpa_supplicant -B -i ${interface} -c /etc/wpa_supplicant.conf
ExecStart=/usr/sbin/ip addr add ${address}/${netmask} broadcast ${broadcast} dev ${interface}
ExecStart=/usr/sbin/ip route add default via ${gateway}
ExecStop=/usr/sbin/ip addr flush dev ${interface}
ExecStop=/usr/sbin/ip link set dev ${interface} down

[Install]
WantedBy=multi-user.target

Si abiliti il servizio e lo si avvii:

# systemctl enable network@wlp0s26f7u3.service
# systemctl start network@wlp0s26f7u3.service

Configurazione automatica

Ci sono molte soluzioni tra cui scegliere, ma si ricordi che tutte si escludono a vicenda: non si dovrebbero tenere in esecuzione due demoni contemporaneamente.

Netcfg

netcfg fornisce una soluzione versatile, robusta e veloce per il networking di Arch.

Usa una configurazione basata su profili ed è in grado di rilevare e connettersi ad un'ampia varietà di reti. Non è più difficile da utilizzare rispetto ai tool grafici.

Per maggiori informazioni, vedere il relativo wiki: netcfg

Wicd

Wicd è un gestore di reti che può gestire sia connessioni via cavo che wireless. E' scritto in Python e Gtk, con meno dipendenze rispetto a NetworkManager, rendendolo una soluzione ideale per coloro che desiderano utilizzare un ambiente desktop leggero. Wicd è disponibile nel repository [extra] sia per sistemi i686 che per x86_64.

Per maggiori informazioni, vedere il relativo wiki: Wicd

NetworkManager

NetworkManager è un avanzato tool di gestione delle reti che è disponibile di default in molte distribuzioni Linux. Oltre a gestire le connessioni via cavo, NetworkManager offre un sistema per gestire il roaming wifi tramite una semplice interfaccia grafica senza dover preoccuparsi di modificare file o dover usare comandi da console.

Se non si utilizza GNOME ma un window manager come Openbox o xmonad, non dimenticarsi di installare polkit-gnome, gnome-keyring, libgnome-keyring e pyxdg per gestire le connessioni WEP, WPA, e WPA2:

Per maggiori informazioni, vedere il relativo wiki: NetworkManager

Wifi Radar

WiFi Radar è una utility Python/PyGTK2 per gestire diversi profili wireless (e solo wireless). E' in grado di effettuare lo scan delle reti wireless disponibili e di creare profili per le vostre reti preferite.

Per maggiori informazioni, vedere il relativo wiki: Wifi Radar

Wlassistant

Wlassistant è un'interfaccia grafica molto intuitiva per gestire le connessioni wireless.

Installare il pacchetto wlassistantAUR da AUR.

Wlassistant deve essere eseguito con privilegi di amministratore:

# wlassistant


Tango-view-refresh-red.pngThis article or section is out of date.Tango-view-refresh-red.png

Reason: Fa riferimento ad /etc/rc.conf, che è deprecato e non fornisce istruzioni di configurazione alternative. (Discuss in Talk:Wireless network configuration (Italiano)#)

Un metodo per usare wlassistant è quello di configurare la scheda wireless attraverso /etc/rc.conf, specificando l'access point utilizzato più spesso. All'avvio, la scheda sarà automaticamente configurata per il SSID scelto, e se dovessero servire od essere disponibili altre reti, wlassistant potrà comunque essere eseguito per connettervisi. Mettere il demone network in background con un @ davanti nell'/etc/rc.conf per evitare inutili attese durante il boot.

Risparmio energetico

Si veda Power_saving#Wireless_power_saving.

Ulteriori risorse

External links