Comment configurer le Raspberry Pi 3 B + WiFi embarqué pour Ubuntu Server 18.04? En particulier, avec netplan
?
Quitter les réponses, telles que "Comment utiliser le wifi embarqué sur Raspberry Pi 3 avec Ubuntu Server 16.04?" , ne semblent plus s'appliquer depuis /etc/network/interfaces
indique que netplan
a remplacé ifupdown
.
# ifupdown has been replaced by netplan(5) on this system. See
# /etc/netplan for current configuration.
Il s'agit d'une nouvelle installation de image du serveur Ubuntu pour Raspberry Pi .
##### release ###########################
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
##### kernel ############################
Linux 4.15.0-1034-raspi2 #36-Ubuntu SMP PREEMPT Fri Apr 5 06:21:41 UTC 2019 aarch64 aarch64 aarch64 GNU/Linux
Selon buntu Wiki RaspberryPI les packages nécessaires devraient déjà être en place.
Depuis le 18.04.2, les packages linux-firmware et linux-firmware-raspi2 contiennent désormais les fichiers nécessaires pour le WiFi intégré sur les Pi 3B et 3B +.
Sudo lshw -C network
*-network:0 DISABLED
description: Wireless interface
physical id: 2
logical name: wlan0
serial: b8:27:eb:69:f2:3b
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=brcmfmac driverversion=7.45.18 firmware=01-6a2c8ad4 multicast=yes wireless=IEEE 802.11
*-network:1
description: Ethernet interface
physical id: 3
logical name: eth0
serial: b8:27:eb:3c:a7:6e
size: 1Gbit/s
capacity: 1Gbit/s
capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=lan78xx driverversion=1.0.6 duplex=full ip=172.16.76.7 link=yes multicast=yes port=MII speed=1Gbit/s
Netplan.io fournit des informations générales exemples de configuration Netplan .
Pour configurer netplan, enregistrez les fichiers de configuration sous
/etc/netplan/
avec un.yaml
extension (par exemple/etc/netplan/config.yaml
), puis exécutezSudo netplan apply
.
... pour l'instant, aucune directive spécifique à un RaspberryPi. ... en particulier, en ce qui concerne le fichier /etc/netplan/50-cloud-init.yaml existant sur l'installation de RaspberryPi Ubuntu Server.
##### Netplan config ####################
[/etc/netplan/50-cloud-init.yaml]
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# 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:
version: 2
ethernets:
eth0:
dhcp4: true
match:
macaddress: <MAC 'eth0' [IF1]>
set-name: eth0
Donc, étant donné l'utilisation de netplan
et par défaut généré .yaml
fichier. Comment doit-on ajouter un SSID et un mot de passe de réseau WiFi? Et laisser l'Ethernet filaire existant en place?
Les étapes ci-dessous se sont avérées fournir une configuration WiFi persistante à l'aide de netplan
avec Ubuntu Server 18.04 ubuntu-18.04.2-preinstalled-server-arm64+raspi3.img.xz
image sur un Raspberry Pi 3 B +.
Système de mise à jour:
Sudo apt update
Sudo apt full-upgrade
Sudo reboot
Déterminez les noms d'interface:
ip link show
# 1: lo: <LOOPBACK,UP,LOWER_UP> …
# 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> … state UP …
# 3: wlan0: <BROADCAST,MULTICAST> … state DOWN
Déterminez votre-cloud-init.yaml et ouvrez-le pour le modifier.
cd /etc/netplan/
ls -l
# -rw-r--r-- 1 root root 666 May 15 22:00 50-cloud-init.yaml
### note your *cloud-init.yaml file name
### backup *cloud-init.yaml file
cp 50-cloud-init.yaml 50-cloud-init.yaml.bak
### edit *cloud-init.yaml
Sudo nano 50-cloud-init.yaml
Ajoutez des informations d'accès WiFi à votre fichier-cloud-init.yaml.
# This file is generated from information provided by
# the datasource. Changes to it will not persist across an instance.
# 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:
version: 2
ethernets:
eth0:
optional: true
dhcp4: true
# add wifi setup information here ...
wifis:
wlan0:
optional: true
access-points:
"YOUR-SSID-NAME":
password: "YOUR-NETWORK-PASSWORD"
dhcp4: true
Testez, générez et appliquez la configuration modifiée de your-cloud-init.yaml:
Sudo netplan --debug try
(continuer même en cas de succès)Sudo netplan --debug generate
(fournit plus de détails en cas de problème avec la commande précédente)Sudo netplan --debug apply
(si aucun problème lors des commandes précédentes)Test de confirmation:
Sudo reboot
### wait, then without the wired ethernet connected ...
ssh ubuntu@wifi-ip-address
La séquence ci-dessus a été distillée à partir du " Raspberry Pi 3B/B + Wireless Bridge utilisant Ubuntu Server 18.04 ARM Image et Netplan " Gist lien mentionné par Larn . Le Gist va bien au-delà de l'activation du WiFi car il transforme le Pi en pont.
Quelques étapes supplémentaires de configuration WiFi utiles.
Définir le nom d'hôte.
Sudo hostnamectl set-hostname my-server-name
Sudo nano /etc/hosts
127.0.0.1 localhost
# add Host name
127.0.0.1 my-server-name
Sudo nano /etc/cloud/cloud.cfg
# Set preserve_hostname to true for persistance after reboot
preserve_hostname: true
Vérifiez à partir de la ligne de commande Raspberry Pi locale.
hostnamectl
# Static hostname: my-server-name
# Icon name: computer
# Machine ID: …
# Boot ID: …
# Operating System: Ubuntu 18.04.2 LTS
# Kernel: Linux 4.15.0-1036-raspi2
# Architecture: arm64
Activez mDNS.
Si vous le souhaitez, activez DNS multidiffusion en installant Avahi . Avahi prend en charge la spécification mDNS/DNS-SD/RFC 3927/Zeroconf/Bonjour.
Sudo apt install avahi-daemon
Vérifiez à distance la résolution mDNS à partir d'un autre ordinateur.
ping my-server-name.local
ssh [email protected]