Dimensione: 11562
Commento:
|
← Versione 36 del 15/09/2024 18.21.11 ⇥
Dimensione: 15851
Commento:
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
## page was renamed from Hardware/DispositiviSenzaFili/WiFiHowTo ## page was renamed from WiFiHowTo |
|
Linea 5: | Linea 7: |
<<Indice>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=443420"; rilasci="24.04")>> ##Guida OK: da verificare solo(!) connessione a reti WPA/WPA2 sia con iwconfig che con wpa_supplicant. ##NB: sistemare tabella. |
<<Indice(depth=3)>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=443420"; rilasci="24.04 22.04 20.04 18.04")>> |
Linea 13: | Linea 12: |
In questa guida generica sono contenute le informazioni per connettersi ad una rete [[http://it.wikipedia.org/wiki/Wi-Fi|Wi-Fi]] tramite [[AmministrazioneSistema/Terminale|riga di comando]]. | In questa guida sono contenute le informazioni per connettersi ad una rete [[http://it.wikipedia.org/wiki/Wi-Fi|Wi-Fi]] tramite [[AmministrazioneSistema/Terminale|riga di comando]]. |
Linea 19: | Linea 18: |
= Connessione da riga di comando = == Preparativi == La prima operazione da effettuare è configurare il proprio router wireless. A tale scopo è sempre utile consultare la manualistica del modello utilizzato. Nel dettaglio, fra le altre cose, dovranno essere impostati: |
= Preparativi = == Requisiti == Ovviamente come prerequisito fondamentale si dovranno conoscere: |
Linea 25: | Linea 24: |
* '''[[https://it.wikipedia.org/wiki/SSID|ESSID]]''': è in pratica il nome identificativo della rete wireless. * '''[[https://it.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol|Server DHCP]]''': nei casi più comuni, è bene impostare l'assegnamento automatico degli indirizzi di rete ai client connessi alla rete. * '''Politiche di sicurezza''': oltre alla generazione di una password sicura (a tal fine si consiglia la consultazione di [[Sicurezza/GestionePassword/Robuste|questa pagina]]), occorre impostare lo standard desiderato, ossia '''[[https://it.wikipedia.org/wiki/Wired_Equivalent_Privacy|WEP]]''', '''[[https://it.wikipedia.org/wiki/Wi-Fi_Protected_Access|WPA o WPA2]]'''. |
* '''[[https://it.wikipedia.org/wiki/SSID|ESSID]]''': è in pratica il nome identificativo della rete senza fili. * '''Chiave di sicurezza''': la password della rete !WiFi, ad eccezione delle reti aperte; può anche essere indicata come ''passphrase'', ''passkey'', ''key'' o altri nomi simili. === Configurazione del router (consigliata) === Nel caso di reti non pubbliche, la prima operazione da effettuare è controllare o aggiornare le configurazioni del proprio router !WiFi, se non già fatto in precedenza. A tale scopo è sempre utile consultare la manualistica del modello utilizzato.<<BR>> Nei casi più comuni sarà preimpostato l'assegnamento automatico degli indirizzi IP ai client connessi alla rete ('''[[https://it.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol|DHCP]]'''). <<BR>> Di seguito alcuni consigli o aspetti da tenere in considerazione: * modificare il nome della rete con uno che __non__ contenga il nome di marca e/o modello del router e/o nome dell'[[https://it.wikipedia.org/wiki/Internet_service_provider|ISP]]; * modificare la password della rete !WiFi preimpostata di fabbrica; * modificare la password di accesso alle configurazioni del router stesso (sostituendo, se preimpostati, nomi utente o password generiche quali «`admin`», «`user`», «`password`» ecc.); {{{#!wiki tip Per la generazione di una password sicura si consiglia la consultazione di [[Sicurezza/GestionePassword/Robuste|questa pagina]]. }}} * Politiche di sicurezza: occorre impostare lo standard desiderato, ossia '''[[https://it.wikipedia.org/wiki/Wired_Equivalent_Privacy|WEP]]''', '''[[https://it.wikipedia.org/wiki/Wi-Fi_Protected_Access|WPA, WPA2 o WPA3]]'''. {{{#!wiki important Si raccomanda di __non__ impostare nelle nuove connessioni la chiave WEP, poiché deprecata e soggetta problemi critici di sicurezza che potrebbero permettere a utenti non autorizzati di connettersi in maniera fraudolenta alla rete. Usare sempre la chiave WPA/WPA2. }}} |
Linea 29: | Linea 44: |
{{{#!wiki tip Per garantire una maggiore sicurezza si raccomanda fortemente: di modificare il nome della rete con uno che non contenga il nome di marca e/o modello del router e/o nome dell'[[https://it.wikipedia.org/wiki/Internet_service_provider|ISP]]; di modificare la password della rete Wi-Fi preimpostata di fabbrica; ove possibile, di non utilizzare mai lo standard WEP, ma WPA o WPA2 (preferibilmente quest'ultimo). Si consiglia infine di modificare la password di accesso alle configurazioni del router stesso (preimpostata quasi sempre come `admin`/`password`). }}} |
|
Linea 36: | Linea 47: |
0. Per conoscere il nome assegnato alla scheda di rete wifi digitare in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando: {{{ | Di seguito sono indicati alcuni metodi per conoscere il nome assegnato dal sistema alla scheda di rete wifi. === Directory sys/class/net === 0. Per conoscere il nome assegnato alla scheda di rete !WiFi digitare in un [[AmministrazioneSistema/Terminale|terminale]] il seguente comando: {{{ |
Linea 39: | Linea 54: |
0. Il risultato sarà simile al seguente esempio:{{{ | 0. Il risultato sarà simile al seguente:{{{ |
Linea 42: | Linea 57: |
dove l'interfaccia di rete rilevata nell'esempio è '''wlan0'''. In questo caso almeno una periferica di rete è riconosciuta. Sarà quindi possibile procedere con la [[#connessione|connessione]] alla rete. {{{#!wiki tip In alternativa possono essere usati altri comandi, come ad esempio `ip addr show`). }}} ##Nel caso invece nessun dispositivo venga riconosciuto consultare [[#non_riconosciuti|questo paragrafo]]. |
dove l'interfaccia di rete rilevata nell'esempio è '''wlan0'''. === iwconfig === 0. Digitare il seguente comando all'interno di un [[AmministrazioneSistema/Terminale|terminale]]:{{{ iwconfig }}} 0. Il risultato del precedente comando dovrebbe essere simile al seguente:{{{ wlp7s0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=16 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off lo no wireless extensions. enp9s0 no wireless extensions. }}} dove l'interfaccia di rete rilevata nell'esempio è '''wlp7s0'''. === Comando ip === Digitare il seguente comando all'interno di un [[AmministrazioneSistema/Terminale|terminale]]:{{{ ip addr}}} L'output restituirà un elenco dei dispositivi di rete (es.: `1: lo` ,`2: wlp2s0`, ecc.), seguito da alcune proprietà. |
Linea 51: | Linea 83: |
= Modifica delle configurazioni di Netplan = The Netplan configuration file resides in `/etc/netplan` directory. If you check the contents of this directory, you should see files like 01-network-manager-all.yml or 50-cloud-init.yaml. * Ubuntu server: cloud-init * Ubuntu desktop: network-manager The Network Manager on the Linux desktop allows you to choose a wireless network. You may hard code the wifi access point in its configuration. This could help you in some cases (like suspend) where connection drops automatically. Whichever file it is, open it for editing. I hope you are a tad bit familiar with Nano editor because Ubuntu comes pre-installed with it. {{{ |
= Connessione da riga di comando = == Netplan (Ubuntu 24.04 e 22.04) == Le configurazioni di '''[[https://netplan.io/|Netplan]]''' sono contenute nella directory `/etc/netplan`. Al suo interno possono essere contenuti i seguenti tipi di file: * Ubuntu server: `50-cloud-init.yaml` * Ubuntu desktop: `01-network-manager-all.yml` Per impostare la rete senza fili a cui si desidera collegarsi: 0. Creare una copia di backup del file usando il '''[[AmministrazioneSistema/ComandiBase#cp|cp]]''', ad esempio con il comando:{{{ sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak }}} 0. Aprire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] e con un [[Ufficio/EditorDiTesto|editor di testo]] uno dei due file sopra indicati, ad esempio digitando nella [[AmministrazioneSistema/Terminale|linea di comando]] il seguente comando:{{{ |
Linea 65: | Linea 99: |
YAML files are very sensitive about spaces, indention and alignment. Don’t use tabs, use 4 (or 2, whichever is already used in the YAML file) spaces instead where you see an indention. Basically, you’ll have to add the following lines with the access point name (SSID) and its password (usually) in quotes:{{{ |
0. Aggiungere le seguenti righe:{{{ |
Linea 74: | Linea 105: |
"SSID_name": password: "WiFi_password" Again, keep the alignment as I have shown or else YAML file won’t be parsed and it will throw an error. Your complete configuration file may look like this:{{{ # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-init's # network configuration capabilities, write a file # /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following: # network: {config: disabled} network: ethernets: eth0: dhcp4: true optional: true version: 2 wifis: wlan0: dhcp4: true optional: true access-points: "SSID_name": password: "WiFi_password" }}} I find it strange that despite the message that changes will not persist across an instance reboot, it still works. Anyway, generate the configuration using this command:{{{ |
"[Nome WiFi]": password: "[password WiFi]" }}} sostituendo `[Nome WiFi]` e `[password WiFi]` con quelli effettivi e `wlan0` qualora il nome del dispositivo sia differente. {{{#!wiki note Porre molta attenzione nel rispettare l'allineamento delle righe aggiunte con l'ultima di quelle già presente nel file (si consiglia di non utilizzare il tasto '''TAB''' ma di utilizzare gli spazi). In caso contrario potrebbero verificarsi errori nei passaggi successivi. }}} {{{#!wiki tip È possibile utilizzare configurazioni diverse (es.: impostare IP statico, server DNS, ecc.). Per maggiori informazioni consultare la [[http://people.ubuntu.com/~slyon/netplan-docs/netplan-yaml/|documentazione del progetto]]. }}} 0. Digitare il comando:{{{ |
Linea 104: | Linea 118: |
And now apply this:{{{ | 0. Applicare la configurazione con il comando:{{{ |
Linea 107: | Linea 121: |
If you are lucky, you should have network connected. Try to ping a website or run apt update command. However, things may not go as smooth and you may see some errors. Try some extra steps if that’s the case. = Risoluzione dei problemi = It is possible that when you use the netplan apply command, you see an error in the output that reads something like this: Failed to start netplan-wpa-wlan0.service: Unit netplan-wpa-wlan0.service not found. Traceback (most recent call last): File "/usr/sbin/netplan", line 23, in <module> netplan.main() File "/usr/share/netplan/netplan/cli/core.py", line 50, in main self.run_command() File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command self.func() File "/usr/share/netplan/netplan/cli/commands/apply.py", line 46, in run self.run_command() File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command self.func() File "/usr/share/netplan/netplan/cli/commands/apply.py", line 173, in command_apply utils.systemctl_networkd('start', sync=sync, extra_services=netplan_wpa) File "/usr/share/netplan/netplan/cli/utils.py", line 86, in systemctl_networkd subprocess.check_call(command) File "/usr/lib/python3.8/subprocess.py", line 364, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['systemctl', 'start', '--no-block', 'systemd-networkd.service', 'netplan-wpa-wlan0.service']' returned non-zero exit status 5. It is possible that wpa_supplicant service is not running. Run this command: sudo systemctl start wpa_supplicant Run netplan apply once again. If it fixes the issue well and good. Otherwise, shutdown your Ubuntu system using: shutdown now Start your Ubuntu system again, log in and generate and apply netplan once again: sudo netplan generate sudo netplan apply It may show warning (instead of error) now. It is warning and not an error. I checked the running systemd services and found that netplan-wpa-wlan0.service was already running. Probably it showed the warning because it was already running and ‘netplan apply’ updated the config file (even without any changes). Warning: The unit file, source configuration file or drop-ins of netplan-wpa-wlan0.service changed on disk. Run 'systemctl daemon-reload' to reload units. It is not crtical and you may check that the internet is probably working already by running apt update. |
0. [[#verifica|Verificare]] la connessione. 0. In caso di esito negativo, riavviare network manager digitando uno dei seguenti comandi: * Ubuntu desktop:{{{ sudo systemctl restart network-manager}}} * Ubuntu server:{{{ sudo systemctl restart system-networkd}}} oppure riavviare il sistema:{{{ sudo reboot }}} == iwconfig (Ubuntu 20.04) == Identificata l'interfaccia di rete !WiFi e supposto che si chiami '''wlp7s0''', per effettuare la connessione seguire i passaggi descritti di seguito. 0. Se si desidera ottenere l'elenco delle reti wireless disponibili, completo di dettagli, digitare in un terminale il comando:{{{ sudo iwlist wlp7s0 scan }}} Se invece si desidera semplicemente visualizzare l'elenco degli ESSID digitare il comando:{{{ sudo iwlist scan | grep -i essid }}} Tra le reti rilevate dovrebbe essere presente quella del proprio router. 0. Per connettersi alla rete desiderata digitare:{{{ sudo iwconfig wlp7s0 essid nome_della_rete }}} Sostituire "`nome_della_rete`" con il nome della propria rete rispettando i caratteri maiuscoli o minuscoli presenti nel nome. <<Anchor(chiave)>> === Chiave WPA/WPA2 === Per memorizzare la password di una rete con chiave WPA/WPA2 fare riferimento a [[Hardware/DispositiviSenzaFili/WpaSupplicant|questa guida]]. === Chiave WEP === {{{#!wiki important Poiché la chiave WEP è stata deprecata a causa della sua compromissione, si raccomanda di usarla solo su dispositivi molto vecchi qualora non sia possibile sostituirla con WPA/WPA2. }}} Per sbloccare la protezione tramite la chiave WEP digitare il comando:{{{ sudo iwconfig wlp7s0 key 1A2B3C4D5E6F }}} Il codice esadecimale «`1A2B3C4D5E6F`» va sostituito con la chiave '''WEP''' fornita in [[http://it.wikipedia.org/wiki/Esadecimale|formato numerico esadecimale]]. Una volta digitato il codice della chiave, dovrebbe essere possibile accedere alla rete. === Ottenere indirizzo IP === Infine ottenere un [[https://it.wikipedia.org/wiki/Indirizzo_IP|indirizzo IP]] dal [[https://it.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol|server DHCP]] digitando: {{{ sudo dhclient wlan0 }}} sostituendo `wlan0` qualora il nome del dispositivo sia diverso.<<BR>> Nel caso in cui il comando `dhclient` non funzionasse, consultare [[#dhcp|questo paragrafo]]. == iwd == Consultare [[InternetRete/ConfigurazioneRete/Iwd|questa guida]]. <<Anchor(verifica)>> = Verifica della connessione = Per verificare l'avvenuta connessione è sufficiente avviare un [[InternetRete/Navigazione|browser]] e navigare. In alternativa, se si dispone della sola riga di comando o si preferisce adoperare quest'ultima, utilizzare il comando '''ping''' con un sito web, come nel seguente esempio:{{{ ping google.com -c 4 }}} Il risultato dovrebbe essere simile al seguente: {{{ PING google.com (216.58.209.46) 56(84) bytes of data. 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=1 ttl=110 time=92.2 ms 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=2 ttl=110 time=79.1 ms 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=3 ttl=110 time=77.8 ms 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=4 ttl=110 time=87.8 ms --- google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 77.830/84.286/92.229/6.002 ms }}} Nel caso in cui il risultato dovesse essere simile a «`Destination host unreachable`», digitare il comando:{{{ ping -n 4.2.2.2 -c 4 }}} Il risultato dovrebbe essere simile al seguente: {{{ PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data. 64 bytes from 4.2.2.2: icmp_seq=1 ttl=50 time=6487 ms 64 bytes from 4.2.2.2: icmp_seq=2 ttl=50 time=5476 ms 64 bytes from 4.2.2.2: icmp_seq=3 ttl=50 time=4452 ms 64 bytes from 4.2.2.2: icmp_seq=4 ttl=50 time=3430 ms --- 4.2.2.2 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3059ms rtt min/avg/max/mdev = 3430.742/4961.582/6487.292/1139.687 ms, pipe 4 }}} Se in questo caso si ottengono messaggi quali «`unknown host`», «`Destination host unreachable`» o «`request timed out`», i [[https://it.wikipedia.org/wiki/Domain_Name_System|DNS]] potrebbero essere non correttamente impostati nel modem router in uso.<<BR>> Impostare quindi le configurazioni corrette e ripetere la verifica (consultare in tal caso il manuale del dispositivo, se necessario). = Reti salvate (Ubuntu 24.04 e 22.04) = È possibile visualizzare le password delle reti !WiFi già salvate digitando il comando:{{{ sudo cat /etc/NetworkManager/system-connections/[nome-rete-WiFi].nmconnection }}} sostituendo `[nome-rete-WiFi]` con l'ESSID della rete.<<BR>> L'output riporterà in chiaro la password nella sezione simile alla seguente:{{{ [wifi-security] key-mgmt=wpa-psk psk=[password_della_rete_WiFi] }}} = Risoluzione problemi = |
Linea 158: | Linea 233: |
Qualora nell'output del comando '''iwconfig''' tutti i dispositivi elencati dovessero avere la dicitura `no wireless extensions`, potrebbero essere non riconosciuti dal sistema. In tal caso procedere con i seguenti passaggi: | Qualora nell'output del comando '''iwconfig''' tutti i dispositivi elencati dovessero avere la dicitura «`no wireless extensions`», potrebbero essere non riconosciuti dal sistema. In tal caso procedere con i seguenti passaggi: |
Linea 162: | Linea 237: |
0. Se ancora non si fosse risolto il problema, [[Hardware/Periferiche/IdentificarePeriferiche|identificare la periferica]] non funzionante quindi rivolgersi all'assistenza del produttore oppure ai [[https://www.ubuntu-it.org/supporto|canali di supporto]] (per navigare si potrebbe avere bisogno di un altro dispositivo connesso alla rete). | 0. Se ancora non si fosse risolto il problema, [[Hardware/Periferiche/IdentificarePeriferiche|identificare la periferica]] non funzionante quindi rivolgersi all'assistenza del produttore oppure ai [[#supporto|canali di supporto]] (per navigare si potrebbe avere bisogno di un altro dispositivo connesso alla rete). |
Linea 166: | Linea 241: |
||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>{{attachment:Icone/Piccole/note.png}} ||<style="border:none;">''Nel caso di driver proprietari, poiché le interfacce di rete non sono presenti nel codice sorgente, devono essere caricate come moduli nel kernel. Per non perdere la configurazione ad ogni aggiornamento dello stesso, si consiglia di accertarsi della presenza di [[https://it.wikipedia.org/wiki/Dynamic_Kernel_Module_Support|DKMS]] (Dynamic Kernel Module Support), [[AmministrazioneSistema/InstallareProgrammi|installando]] quindi il pacchetto [[apt://dkms|dkms]], se assente.'' || == Terminare network-manager == Alcune volte per configurare la rete tramite '''iwconfig''' occorre preventivamente arrestare il demone '''network-manager''' digitando nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{ sudo systemctl stop network-manager }}} Per riattivare il servizio consultare il paragrafo successivo. == Riavviare i servizi di rete == Talvolta alcuni problemi possono essere risolti semplicemente riavviando i servizi di rete, digitando nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{ sudo systemctl restart network-manager.service }}} |
{{{#!wiki note Nel caso di [[Hardware/AbilitareDriverProprietari|driver proprietari]], poiché le interfacce di rete non sono presenti nel codice sorgente, devono essere caricate come moduli nel kernel. Come conseguenza i moduli delle interfacce installate si perdono ad ogni aggiornamento del kernel. Per non perdere la configurazione ad ogni aggiornamento dello stesso, si consiglia di accertarsi della presenza di [[https://it.wikipedia.org/wiki/Dynamic_Kernel_Module_Support|DKMS]] (Dynamic Kernel Module Support), [[AmministrazioneSistema/InstallareProgrammi|installando]] quindi il pacchetto [[apt://dkms|dkms]], se assente. }}} <<Anchor(dhcp)>> |
Linea 184: | Linea 248: |
In alcuni computer il comando '''dhclient''' potrebbe funzionare soltanto dopo aver terminato il demone '''avahi-daemon'''. In tal caso digitare seguire i seguenti passaggi: 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] i seguenti comandi:{{{ sudo systemctl disable avahi-daemon.socket sudo systemctl disable avahi-daemon.service }}} 0. Riavviare '''dhclient''' con il comando: {{{ |
Dall'introduzione del demone avahi-daemon, sebbene il comando `dhclient` funzioni nella maggior parte dei casi, in alcuni computer per ristabilire la connessione alla rete è necessario eseguire il comando:{{{ sudo /etc/init.d/avahi-daemon stop }}} quindi ridare il comando:{{{ |
Linea 195: | Linea 254: |
sostituendo `wlan0` con il nome del dispositivo precedentemente identificato. | <<Anchor(supporto)>> == Richiesta di supporto == Qualora non si riuscisse a far funzionare la scheda wireless è possibile rivolgersi ai [[https://www.ubuntu-it.org/supporto|canali di supporto]].<<BR>> In particolare si consiglia di aprire una discussione nel forum, all'interno della sezione [[https://forum.ubuntu-it.org/viewforum.php?f=9|Driver e periferiche]], riportando: * marca e modello della scheda all'interno del titolo. * all'interno del messaggio, l'output del seguente comando:{{{ lspci -nnk | grep -A5 -i net }}} |
Linea 199: | Linea 267: |
* [[hhttps://itsfoss.com/connect-wifi-terminal-ubuntu/|Documento originale]] | * [[https://help.ubuntu.com/community/WifiDocs/WiFiHowTo|Documento originale]] (non aggiornato) * [[Hardware/DispositiviSenzaFili/WpaSupplicant|Wpa Supplicant]] * [[Hardware/DispositiviSenzaFili/Ndiswrapper|Ndiswrapper]] * [[https://help.ubuntu.com/community/WifiDocs/WirelessPCMCIATroubleshooting |Risoluzione dei problemi sul wiki internazionale]] * [[https://help.ubuntu.com/community/WifiDocs|Sezione dedicata al Wi-Fi sul wiki internazionale]] (non aggiornato) * [[http://www.linux-wlan.org/docs/wlan_adapters.html.gz|Database di compatibilità delle schede]] * [[http://at76c503a.berlios.de|Driver Atmel non ufficiale]] (in tedesco) * [[https://itsfoss.com/connect-wifi-terminal-ubuntu/|How to Connect to WiFi from the Terminal in Ubuntu Linux]] |
Linea 201: | Linea 276: |
## * [[http://www.bitbuilder.com/wifi_radar/|Sito ufficiale del progetto WiFi Radar]] ## * [[http://flakey.info/|Sito dedicato al supporto tecnico al Wi-Fi]] ## * [[http://www.oreillynet.com/cs/weblog/view/wlg/448|Guida alla costruzioni di un'antenna]] ## * [[http://www-106.ibm.com/developerworks/library/wi-enable.html?ca=dgr-lnxw16Linux4Wireless|Articolo dell'IBM sul wireless in Linux]] ## * [[http://atmelwlandriver.sf.net|Driver open source Atmel ufficiali]] ## * [[http://0pointer.de/lennart/projects/waproamd/|Guida a waproamd]] |
Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento. |
Guida verificata con Ubuntu: 20.04 22.04 24.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
In questa guida sono contenute le informazioni per connettersi ad una rete Wi-Fi tramite riga di comando.
Tali operazioni possono risultare utili in varie situazioni, tra cui:
in sistemi server, installazioni minimali ecc.
qualora non fosse possibile utilizzare strumenti con interfacce grafiche, quali Networkmanager, Wicd o Wifi Radar (ad esempio qualora sia impossibile accedere alla sessione grafica in seguito a malfunzionamenti).
Preparativi
Requisiti
Ovviamente come prerequisito fondamentale si dovranno conoscere:
ESSID: è in pratica il nome identificativo della rete senza fili.
Chiave di sicurezza: la password della rete WiFi, ad eccezione delle reti aperte; può anche essere indicata come passphrase, passkey, key o altri nomi simili.
Configurazione del router (consigliata)
Nel caso di reti non pubbliche, la prima operazione da effettuare è controllare o aggiornare le configurazioni del proprio router WiFi, se non già fatto in precedenza. A tale scopo è sempre utile consultare la manualistica del modello utilizzato.
Nei casi più comuni sarà preimpostato l'assegnamento automatico degli indirizzi IP ai client connessi alla rete (DHCP).
Di seguito alcuni consigli o aspetti da tenere in considerazione:
modificare il nome della rete con uno che non contenga il nome di marca e/o modello del router e/o nome dell'ISP;
modificare la password della rete WiFi preimpostata di fabbrica;
modificare la password di accesso alle configurazioni del router stesso (sostituendo, se preimpostati, nomi utente o password generiche quali «admin», «user», «password» ecc.);
Per la generazione di una password sicura si consiglia la consultazione di questa pagina.
Politiche di sicurezza: occorre impostare lo standard desiderato, ossia WEP, WPA, WPA2 o WPA3.
Si raccomanda di non impostare nelle nuove connessioni la chiave WEP, poiché deprecata e soggetta problemi critici di sicurezza che potrebbero permettere a utenti non autorizzati di connettersi in maniera fraudolenta alla rete. Usare sempre la chiave WPA/WPA2.
Identificazione dell'interfaccia di rete
Di seguito sono indicati alcuni metodi per conoscere il nome assegnato dal sistema alla scheda di rete wifi.
Directory sys/class/net
Per conoscere il nome assegnato alla scheda di rete WiFi digitare in un terminale il seguente comando:
ls /sys/class/net
Il risultato sarà simile al seguente:
eth0 lo wlan0
dove l'interfaccia di rete rilevata nell'esempio è wlan0.
iwconfig
Digitare il seguente comando all'interno di un terminale:
iwconfig
Il risultato del precedente comando dovrebbe essere simile al seguente:
wlp7s0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=16 dBm Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off lo no wireless extensions. enp9s0 no wireless extensions.
dove l'interfaccia di rete rilevata nell'esempio è wlp7s0.
Comando ip
Digitare il seguente comando all'interno di un terminale:
ip addr
L'output restituirà un elenco dei dispositivi di rete (es.: 1: lo ,2: wlp2s0, ecc.), seguito da alcune proprietà.
Connessione da riga di comando
Netplan (Ubuntu 24.04 e 22.04)
Le configurazioni di Netplan sono contenute nella directory /etc/netplan. Al suo interno possono essere contenuti i seguenti tipi di file:
Ubuntu server: 50-cloud-init.yaml
Ubuntu desktop: 01-network-manager-all.yml
Per impostare la rete senza fili a cui si desidera collegarsi:
Creare una copia di backup del file usando il cp, ad esempio con il comando:
sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.bak
Aprire con i privilegi di amministrazione e con un editor di testo uno dei due file sopra indicati, ad esempio digitando nella linea di comando il seguente comando:
sudo nano /etc/netplan/50-cloud-init.yaml
Aggiungere le seguenti righe:
wifis: wlan0: dhcp4: true optional: true access-points: "[Nome WiFi]": password: "[password WiFi]"
sostituendo [Nome WiFi] e [password WiFi] con quelli effettivi e wlan0 qualora il nome del dispositivo sia differente.
Porre molta attenzione nel rispettare l'allineamento delle righe aggiunte con l'ultima di quelle già presente nel file (si consiglia di non utilizzare il tasto TAB ma di utilizzare gli spazi). In caso contrario potrebbero verificarsi errori nei passaggi successivi.
È possibile utilizzare configurazioni diverse (es.: impostare IP statico, server DNS, ecc.). Per maggiori informazioni consultare la documentazione del progetto.
Digitare il comando:
sudo netplan generate
Applicare la configurazione con il comando:
sudo netplan apply
Verificare la connessione.
- In caso di esito negativo, riavviare network manager digitando uno dei seguenti comandi:
Ubuntu desktop:
sudo systemctl restart network-manager
Ubuntu server:
sudo systemctl restart system-networkd
oppure riavviare il sistema:
sudo reboot
iwconfig (Ubuntu 20.04)
Identificata l'interfaccia di rete WiFi e supposto che si chiami wlp7s0, per effettuare la connessione seguire i passaggi descritti di seguito.
Se si desidera ottenere l'elenco delle reti wireless disponibili, completo di dettagli, digitare in un terminale il comando:
sudo iwlist wlp7s0 scan
Se invece si desidera semplicemente visualizzare l'elenco degli ESSID digitare il comando:
sudo iwlist scan | grep -i essid
Tra le reti rilevate dovrebbe essere presente quella del proprio router.Per connettersi alla rete desiderata digitare:
sudo iwconfig wlp7s0 essid nome_della_rete
Sostituire "nome_della_rete" con il nome della propria rete rispettando i caratteri maiuscoli o minuscoli presenti nel nome.
Chiave WPA/WPA2
Per memorizzare la password di una rete con chiave WPA/WPA2 fare riferimento a questa guida.
Chiave WEP
Poiché la chiave WEP è stata deprecata a causa della sua compromissione, si raccomanda di usarla solo su dispositivi molto vecchi qualora non sia possibile sostituirla con WPA/WPA2.
Per sbloccare la protezione tramite la chiave WEP digitare il comando:
sudo iwconfig wlp7s0 key 1A2B3C4D5E6F
Il codice esadecimale «1A2B3C4D5E6F» va sostituito con la chiave WEP fornita in formato numerico esadecimale. Una volta digitato il codice della chiave, dovrebbe essere possibile accedere alla rete.
Ottenere indirizzo IP
Infine ottenere un indirizzo IP dal server DHCP digitando:
sudo dhclient wlan0
sostituendo wlan0 qualora il nome del dispositivo sia diverso.
Nel caso in cui il comando dhclient non funzionasse, consultare questo paragrafo.
iwd
Consultare questa guida.
Verifica della connessione
Per verificare l'avvenuta connessione è sufficiente avviare un browser e navigare.
In alternativa, se si dispone della sola riga di comando o si preferisce adoperare quest'ultima, utilizzare il comando ping con un sito web, come nel seguente esempio:
ping google.com -c 4
Il risultato dovrebbe essere simile al seguente:
PING google.com (216.58.209.46) 56(84) bytes of data. 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=1 ttl=110 time=92.2 ms 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=2 ttl=110 time=79.1 ms 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=3 ttl=110 time=77.8 ms 64 bytes from waw02s05-in-f14.1e100.net (216.58.209.46): icmp_seq=4 ttl=110 time=87.8 ms --- google.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 77.830/84.286/92.229/6.002 ms
Nel caso in cui il risultato dovesse essere simile a «Destination host unreachable», digitare il comando:
ping -n 4.2.2.2 -c 4
Il risultato dovrebbe essere simile al seguente:
PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data. 64 bytes from 4.2.2.2: icmp_seq=1 ttl=50 time=6487 ms 64 bytes from 4.2.2.2: icmp_seq=2 ttl=50 time=5476 ms 64 bytes from 4.2.2.2: icmp_seq=3 ttl=50 time=4452 ms 64 bytes from 4.2.2.2: icmp_seq=4 ttl=50 time=3430 ms --- 4.2.2.2 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3059ms rtt min/avg/max/mdev = 3430.742/4961.582/6487.292/1139.687 ms, pipe 4
Se in questo caso si ottengono messaggi quali «unknown host», «Destination host unreachable» o «request timed out», i DNS potrebbero essere non correttamente impostati nel modem router in uso.
Impostare quindi le configurazioni corrette e ripetere la verifica (consultare in tal caso il manuale del dispositivo, se necessario).
Reti salvate (Ubuntu 24.04 e 22.04)
È possibile visualizzare le password delle reti WiFi già salvate digitando il comando:
sudo cat /etc/NetworkManager/system-connections/[nome-rete-WiFi].nmconnection
sostituendo [nome-rete-WiFi] con l'ESSID della rete.
L'output riporterà in chiaro la password nella sezione simile alla seguente:
[wifi-security] key-mgmt=wpa-psk psk=[password_della_rete_WiFi]
Risoluzione problemi
Dispositivi non riconosciuti da iwconfig
Qualora nell'output del comando iwconfig tutti i dispositivi elencati dovessero avere la dicitura «no wireless extensions», potrebbero essere non riconosciuti dal sistema. In tal caso procedere con i seguenti passaggi:
Abilitare eventuali driver proprietari, come descritto in questa guida (si potrebbe avere bisogno di un cavo di rete e/o un adattatore wireless esterno funzionante).
Se il dispositivo non risultasse ancora riconosciuto, consultare le guide specifiche elencate in questa pagina (a seconda dei casi, si potrebbe avere bisogno di un cavo di rete e/o un adattatore wireless esterno funzionante e/o un altro dispositivo connesso alla rete).
Se ancora non si fosse risolto il problema, identificare la periferica non funzionante quindi rivolgersi all'assistenza del produttore oppure ai canali di supporto (per navigare si potrebbe avere bisogno di un altro dispositivo connesso alla rete).
Una volta installati i driver, ripetere la procedura di identificazione e verificare che i dispositivi siano correttamente riconosciuti.
Nel caso di driver proprietari, poiché le interfacce di rete non sono presenti nel codice sorgente, devono essere caricate come moduli nel kernel. Come conseguenza i moduli delle interfacce installate si perdono ad ogni aggiornamento del kernel. Per non perdere la configurazione ad ogni aggiornamento dello stesso, si consiglia di accertarsi della presenza di DKMS (Dynamic Kernel Module Support), installando quindi il pacchetto dkms, se assente.
Terminare avahi-daemon
Dall'introduzione del demone avahi-daemon, sebbene il comando dhclient funzioni nella maggior parte dei casi, in alcuni computer per ristabilire la connessione alla rete è necessario eseguire il comando:
sudo /etc/init.d/avahi-daemon stop
quindi ridare il comando:
sudo dhclient wlan0
Richiesta di supporto
Qualora non si riuscisse a far funzionare la scheda wireless è possibile rivolgersi ai canali di supporto.
In particolare si consiglia di aprire una discussione nel forum, all'interno della sezione Driver e periferiche, riportando:
- marca e modello della scheda all'interno del titolo.
all'interno del messaggio, l'output del seguente comando:
lspci -nnk | grep -A5 -i net
Ulteriori risorse
Documento originale (non aggiornato)
Sezione dedicata al Wi-Fi sul wiki internazionale (non aggiornato)
Driver Atmel non ufficiale (in tedesco)