La Raspberry Pi 3 dispose du Wifi, cependant, l’image Yadoms pour Raspberry désactive par défaut le Wifi.
Prérequis
Pour connecter la Raspberry Pi 3 à votre réseau WIFI, il vous faut les éléments suivants :
- Une Raspberry Pi 3 avec l’image de Yadoms installée sur la carte micro-SD (cf. Tuto 2).
- Se connecter à la Raspberry Pi 3 :
- Soit par un écran avec une entrée HDMI, un clavier et une souris connectés sur les ports USB pour modifier la configuration.
- Soit par les prochaines commandes par le terminal ssh (outil Putty) au réseau filaire (l’adresse IP de la Pi3 pourra être récupérée auprès de la box de votre fournisseur Internet).
- Connaître les informations relatives à votre réseau Wifi : SSID, identification (en général une clé). Ces informations pourront également être récupérées auprès de la box de votre fournisseur Internet.
Accéder à la Raspberry en SSH
Sans écran, vous devrez accéder à la Raspberry en SSH à partir d’un autre ordinateur. Ce tutoriel vous indiquera comment faire (à noter que SSH est déjà activé sur l’image Yadoms).
Le login est « pi » et le mot de passe est « raspberry ».
Edit : depuis la version 2.0.0-rc.5, le login est « yadoms » et le mot de passe est « yadoms2017 »
Activer les drivers WIFI
Pour activer les drivers de l’image, il faut taper l’instruction suivante :
sudo nano /etc/modprobe.d/blacklist.conf
Puis mettre en commentaire les lignes suivantes (avec le caractère #) :
blacklist brcmfmac
blacklist brcmutil
blacklist cfg80211
Redémarrer la Raspberry Pi3 en tapant :
sudo reboot
Il faudra vous reconnecter après le redémarrage. En tapant ifconfig
vous devriez voir apparaître à la fin de la liste:
wlan0 Link encap:Ethernet HWaddr b8:27:eb:xx:xx:xx
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Récupérer les informations
Il est possible de récupérer les réseaux Wifi visibles par la Raspberry Pi 3, en tapant la commande suivante :
sudo iwlist wlan0 scan
ESSID: »ssid » permet ainsi de trouver l’identifiant (SSID) du réseau WIFI.
Pour la suite, par sécurité, il est utile de crypter la clé d’accès dans le fichier que nous allons modifier. Entrer une clé d’accès dans un fichier texte sans cryptage n’est pas recommandé. Vous pouvez utiliser wpa_passphrase pour créer un mot de passe crypté, et l’insérer dans le fichier de déclaration.
La commande accepte comme arguments :
- le SSID
- la clé d’accès
Par exemple avec un réseau qui aurait pour ssid « testing » et pour clé d’accès : « testingPassword », la fonction sera la suivante:
wpa_passphrase "testing" "testingPassword"
La sortie de la fonction, pourra être directement copiée dans le fichier wpa_supplicant.conf :
network={
ssid="testing"
psk=131e1e221f6e06e3911a2d11ff2fac9182665c004de85300f9cac208a6a80531
}
Ajout des informations dans la Raspberry Pi 3
Ouvrir le fichier de configuration wpa-supplicant avec nano:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Déplacez-vous à la fin du fichier et ajouter les éléments suivants:
network={
ssid="SSID du réseau"
psk="clé d'accès WIFI" (crypté ou non)
}
Dans le cas du réseau exemple ci-dessus:
network={
ssid="testing"
psk=131e1e221f6e06e3911a2d11ff2fac9182665c004de85300f9cac208a6a80531
}
Sauvegarder maintenant le fichier en pressant Ctrl+X, puis Y (ou O), puis presser Entrer.
A ce point, wpa-supplicant
doit normalement détecter la mise à jour du fichier, et il doit automatiquement essayer de se connecter au réseau. Si tel n’est pas le cas, vous pouvez relancer le réseau ainsi : sudo wpa_cli reconfigure
Vous pouvez vérifier que le réseau est connecté par la fonction :
ifconfig wlan0
Si le champ inet addr
contient une adresse alors la raspberry Pi est connectée au réseau. Si ce n’est pas le cas, vérifier que le SSID et/ou la clé d’accès soit corrects.
Désactivation de l’IPv6
En général, les réseaux domestiques sont en IPv4 (information donnée par votre box Internet). Si votre réseau est en IPv6, il convient d’adapter la configuration de la Raspberry.
Vérifier la présence de l’IPv6 en tapant la fonction ifconfig
. L’IPv6 est activé si vous voyez les lignes suivantes : inet6 addr: ...
.
Pour désactiver l’IPv6, vous devez éditer ce fichier: sudo nano /etc/sysctl.d/local.conf
Et passer la valeur net.ipv6.conf.all.disable_ipv6 à 1 :
net.ipv6.conf.all.disable_ipv6=1
Puis redémarrer l’interface Wifi :
sudo sysctl -p
sudo ifconfig wlan0 down && sudo ifconfig wlan0 up
Vérifier que l’adresse IP de l’interface wifi est maintenant en IPv4 en retapant cette commande : ifconfig
inet addr: ...
devrait apparaître.
Retour de ping : Tuto 4 : ajouter des librairies aux règles d’automatisation – Yadoms
Retour de ping : Tuto 6 : Installer Yadoms sur Raspberry Pi avec disque dur – Yadoms
Attention, le reseau WiFi doit etre en WPA, si il est en WEP, la PI ne pourra pas se connecter.
Il ne me semble pas que wpa_spplicant soit obligatoire (bien sur cela dépende de la distri. ) mais il me semble que par defaut c’est le service « networking » qui gère ça. Et tout ce qui est paramétrable avec wpa_supplicant l’est aussi avec avec networking dans le fichier de conf « /etc/network/interfaces »
Dans le cas de l’utilisation de wpa_supplicant avec le service networking le chemin vers wpa_supplicant.conf devrait être renseigné dans « /etc/network/interfaces » au risque de causé des soucies de conflit de config.
la gestion des droits dans une tel config est essentiel nottament a cause du « psk » qui même hashé n’est pas du tout sécurisé, il vas donc de soit que « wpa_supplicant.conf » ou « /etc/network/interfaces » doit être limité en lecture a root en tant que own
dans les paramétrages , le type de protocole et connexion autorisé devrait être renseigné même si ce n’est pas obligé le WEP devrait etre bannie des connections possible