Club robotique de Sophia-Antipolis

Accueil > POBOTpedia > Communications > Communications sans fil > Initiation au réseau Wifi sur Raspberry Pi

Initiation au réseau Wifi sur Raspberry Pi

jeudi 27 mars 2014

Avec Julia, nous avons revu les bases de la connectivité réseau sur Raspberry Pi.

La carte est connectée avec un dongle wifi (Edimax EW-7811Un) et un câble Ethernet. Par défaut, la distribution Raspbian connecte en DHCP la carte réseau (sous Linux, c’est l’interface eth0).

Première étape : se connecter en ssh depuis un ordinateur fixe (on sera plus à l’aise pour développer et consulter le Net en même temps).

On ressort la commande nmap avec l’adresse racine du réseau local (ici en 192 point 168 point 2 point quelque chose donc 192.168.2.0) et la quantité d’adresse recherchée (24) :

pobot@atelier1:~$ nmap -p 22 192.168.2.0/
Starting Nmap 5.21 ( http://nmap.org ) at 2014-03-27 13:06 CET
Illegal netmask value, must be /0 - /32 .  Assuming /32 (one host)
Note: Host seems down. If it is really up, but blocking our ping probes, try -PN
Nmap done: 1 IP address (0 hosts up) scanned in 0.05 seconds
pobot@atelier1:~$ nmap -p 22 192.168.2.0/24
Starting Nmap 5.21 ( http://nmap.org ) at 2014-03-27 13:06 CET
Nmap scan report for OpenWrt.lan (192.168.2.3)
Host is up (0.0013s latency).
PORT   STATE SERVICE
22/tcp open  ssh
Nmap scan report for 192.168.2.10
Host is up (0.0037s latency).
PORT   STATE  SERVICE
22/tcp closed ssh
Nmap scan report for ATELIER1.lan (192.168.2.106)
Host is up (0.00015s latency).
PORT   STATE  SERVICE
22/tcp closed ssh
Nmap scan report for atelier2.lan (192.168.2.126)
Host is up (0.0081s latency).
PORT   STATE  SERVICE
22/tcp closed ssh
Nmap scan report for lecube.lan (192.168.2.160)
Host is up (0.0020s latency).
PORT   STATE SERVICE
22/tcp open  ssh
Nmap scan report for raspberrypi.lan (192.168.2.201)
Host is up (0.0031s latency).
PORT   STATE SERVICE
22/tcp open  ssh
Nmap scan report for portable1.lan (192.168.2.221)
Host is up (0.00065s latency).
PORT   STATE  SERVICE
22/tcp closed ssh
Nmap done: 256 IP addresses (7 hosts up) scanned in 2.85 seconds

On peut alors se connecter :

pi@raspberrypi ~ $ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 7392:7811 Edimax Technology Co., Ltd EW-7811Un 802.11n Wireless Adapter [Realtek RTL8188CUS]

C’est bon signe, le module est détecté.

On commence par se renseigner sur ce module. Il existe de nombreux sites sur Internet qui traite de la connexion wifi sur une carte Raspberry Pi, mais malheureusement :

- les extensions wifi sur USB sont très nombreuses et n’ont pas les mêmes capacités
- certains sites référencés sont déjà anciens, ou bien n’ont pas été maintenus (Loïc...)
- les méthodes sont différentes.

Enfin, on peut toujours s’en sortir quand on est patient, mais on perd forcément l’aspect "facile à prendre en main" de la carte Raspberry Pi. Donc si vous êtes complètement débutant... tenez-vous en au câble Ethernet !

 Préalable facultatif

Notamment avec ce petit circuit, on apprend qu’il faut télécharger des pilotes, recompiler des noyaux, bref... c’est un peu la jungle. Mais nous sommes en 2014, alors vérifiez bien la date des articles que vous lisez.

Si votre carte SD a une version récente de la distribution, c’est à dire égale ou supérieure à "2012-09-18-wheezy-raspbian", alors vous n’avez pas besoin de cette étape.

Mais comment savoir si c’est la bonne version ? Plutôt que de vérifier, faites une mise à jour de tout le système :

$ sudo apt-get update
$ sudo apt-get upgrade

Si vraiment vous ne voulez pas mettre à jour votre distribution, alors :

$ wget http://dl.dropbox.com/u/80256631/install-rtl8188cus.sh
$ chmod 755 install-rtl8188cus.sh
$ sudo ./install-rtl8188cus.sh

Et suivez les instructions.

Voici les étapes que nous avons ensuite suivies :

 Installation des logiciels

La mise à jour du bootloader de la carte pour avoir la dernière version :

$ sudo apt-get install raspberrypi-bootloader

Puis la gestion des réseaux sans-fil et de la sécurité :

$ sudo apt-get install wpasupplicant

 Configuration de la connexion

On cherche les interfaces disponibles pour un réseau sans-fil :

$ iwconfig
wlan0     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated
          Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0
lo        no wireless extensions.
eth0      no wireless extensions.

On doit donc modifier le fichier de configuration des interfaces pour définir la connexion de wlan0.

$ sudo nano /etc/network/interfaces

On y place le code suivant :

auto lo
iface lo inet loopback
# Connexion filaire
iface eth0 inet dhcp
# Interface wifi
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa-roam.conf

Ce qui signifie qu’un fichier /etc/wpa_supplicant/wpa-roam.conf doit être utilisé pour lancer automatiquement la connexion du cube avec un des réseaux qu’il référence.

Pour le créer :

$ sudo nano /etc/wpa_supplicant/wpa-roam.conf

Et on y place la définition de chacun de vos réseaux habituels (à adapter selon vos réseaux, ouverts ou protégés) :

update_config=1
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
network={
        ssid="CIV"
        key_mgmt=NONE
        id_str="CIV"
}
network={
        ssid="Box-JH"
        key_mgmt=NONE
        wep_key0=8434FEB
        wep_tx_keyidx=0
        id_str="Maison"
}
network={
       ssid="Box-AR65"
       psk="fekfvit86pmyltk1946832fdf"
       id_str="home"
}

Et on redémarre !

Vos commentaires

  • Le 27 mars à 19:52, par Arrakis En réponse à : Initiation au réseau Wifi sur Raspberry Pi

    Bonjour...
    Il n’y a rien à faire ! ! J’ai beau essayer tout ce qui traine sur le NET, je n’ai jamais d’adresse wlan0...
    Si quelqu’un passe par là...
    Arrakis

    • Le 31 mars à 11:52, par Eric P. En réponse à : Initiation au réseau Wifi sur Raspberry Pi

      Il faut être plus précis.
      Quelles commandes avez-vous utilisé ? Quels sont les éventuels messages d’erreur en retour ?
      De plus, ça veut dire quoi "je n’ai pas d’adresse wlan0" ?
      - wlan0 n’apparait pas en réponse à ifconfig ? Si c’est le cas, ça peut vouloir dire qu’il n’y a pas de dongle Wifi connecté, qu’il n’est pas suppoirté, qu’il ne marche pas,...
      - pas d’adresse IP affectée à wlan0 ? Pb probable de configuration de la connexion au réseau Wifi (mauvais ESSDI, mauvais password,...)
      Dans tous les cas impossible de donner une réponse précise à une question qui se résume à "ça ne marche pas".

    Répondre à ce message

Un message, un commentaire ?

modération a priori

Attention, votre message n’apparaîtra qu’après avoir été relu et approuvé.

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document