====== Networking con Raspberry Pi 3 e 4 ====== La versione **3** e **4** del **Raspberry Pi** dispone di una interfaccia **Ethernet** e di una **Wifi**. La gestione della rete in Raspbian 9 e 10 (basate su Debian Strech e Buster rispettivamente) utilizza il pacchetto **dhcpcd5**, in particolare il file **/etc/network/interfaces** è vuoto e **non dovrebbe essere più utilizzato**. Vedere queste pagina per una trattazione completa e moderna: * **[[https://www.raspberrypi.org/documentation/configuration/tcpip/|Raspberry Pi TCP/IP networking]]** * **[[https://raspberrypi.stackexchange.com/questions/37920/how-do-i-set-up-networking-wifi-static-ip-address|How do I set up networking/WiFi/static IP address?]]** * **[[https://raspberrypi.stackexchange.com/questions/37920/how-do-i-set-up-networking-wifi-static-ip-address/74428#74428|Setup a Static IP Address]]** In generale: * Non usare **/etc/network/interfaces** per configurare indirizzi IP statici o dinamici. * Utilizzare il file **/etc/dhcpcd.conf** per definire indirizzi IP statici oppure il fallback statico nel caso in cui il DHCP fallisca. Lo stesso file viene utilizzato per disabilitare l'interfaccia **WiFi** (wlan0). * Il programma **wpa_supplicant** viene avviato da **dhcpcd**, pertanto il servizio **systemd** chiamato **wpa_supplicant.service** deve essere disabilitato, altrimenti si avranno due istanza del programma che vanno in conflitto fra loro. Solo l'instanza avviata da ''dhcpcd'' utilizza il contenuto di **/etc/wpa_supplicant/wpa_supplicant.conf**. * Il programma **Network Manager** non è necessario, anzi va in conflitto con la configurazione predefinita. * Se si desidera una interfaccia grafica, utilizzare il plugin **lxplug-network**. ===== /etc/dhcpcd.conf ===== Snippet per configurare **eth0 con IP statico**: interface eth0 static ip_address=10.0.0.72/24 static routers=10.0.0.189 static domain_name_servers=8.8.4.4 10.0.0.189 Per configurare **eth0 con DHCP e fallback con profilo statico**. La configurazione statica viene applicata solo quando la Ethernet sente la portante (carrier attivo, cavetto inserito) e dopo un timeout di circa 30 secondi. profile static_eth0 static ip_address=10.0.0.72/24 static routers=10.0.0.189 static domain_name_servers=8.8.4.4 10.0.0.189 interface eth0 fallback static_eth0 Per configurare **wlan0** tramite **DHCP** è necessario configurare il file **/etc/wpa_supplicant/wpa_supplicant.conf**, comprese le righe iniziali con le impostazioni **country**, ecc.: country=IT ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="MyESSID" psk="MyWPA2Secret" } Per configurare **wlan0** con **IP statico**, oltre alla configurazione del file ''/etc/wpa_supplicant/wpa_supplicant.conf'' come visto sopra, è necessario aggiungere una sezione in **/etc/dhcpcd.conf**: interface wlan0 static ip_address=10.0.0.73/24 static routers=10.0.0.189 static domain_name_servers=8.8.4.4 ==== Configurare il WiFi con raspi-config ==== Se si desidera una configurazione guidata dell'interfaccia wireless (ma senza interfaccia grafica) si può esguire **raspi-config**. Le voci da selezionare sono: * Localization Options => Wlan Country * System Options => Wireless LAN Entrambe le impostazioni verrano scritte in **/etc/wpa_supplicant/wpa_supplicant.conf**. ===== Network Manager ===== Se viene installato il pacchetto **network-manager** vengono ignorate le impostazioni di **/etc/wpa_supplicant/wpa_supplicant.conf**. In questo modo non è possibile attivare una connessione WiFi come impostazione di sistema, ma è l'utente che deve abilitare la connessione. In tal caso le impostazioni della rete WiFi vengono salvate in **/var/lib/NetworkManager/**. FIXME: Qual'è la combinazione software consigliata da Raspberry Pi per gestire il WiFi con XFCE? ===== Configurazione legacy con /etc/network/interfaces ===== Se si desidera continuare ad utilizzare il file **/etc/network/interfaces** come con le vecchie versioni Debian, è possibile disabilitare i servizi **dhcpcd.service** e **wpa_supplicant.service** da systemd: systemctl disable dhcpcd.service systemctl disable wpa_supplicant.service ===== Altre pagine (più o meno aggiornate) ===== * **[[raspberry_eth_wifi]]** * **[[raspberrypi_wpa_supplicant_problem]]** * **[[raspberrypi_wifi_country_not_set]]** * **[[..:linux:sa:dhcpcd_ip_alias]]**