Outils pour utilisateurs

Outils du site


installation_du_wi-fi

Il s'agit ici de la version longue (journal) de mes tests. Pour la version courte (plus orientée WIKI), voir Le Wi-Fi

Là aussi je découvre totalement, puisque je n'avais auparavant jamais eut de matériel de ce type (j'ai eut autrefois un portable sous Linux mais n'utilisais pas sa connexion Wi-Fi). L'idée ici pour moi est de rassembler de l'information pour me l'approprier, d'organiser mes idées et recherches, et de capitaliser du savoir (pour l'éventuelle fois prochaine, que j'espère la plus tardive :).

Dans un premier temps j'ai envie de voir si je peux me connecter directement sur ma Freebox en Wi-Fi (sans passer par le PC Internet, ça pourrait servir en dépannage).

Quelques docs (inutile de ré-inventer la roue) :

  • Celle d'UBUNTU-fr (ce qui se fait de mieux, avec Arch Linux) : Wi-Fi

Les paquets disponibles :(sous synaptic filtrer sur wireless)

Les paquets complémentaires à installer (par rapport à la connexion Bluetooth) : # apt install network-manager-gnome nm-tray

On va utiliser notamment (pour la solution retenue et fonctionnelle) :

  • rfkill (paquet éponyme, déjà installé par les dépendances) : un outil permettant d'activer/désactiver les périphériques sans fil,
  • iw (paquet éponyme, déjà installé par les dépendances) : un outil pour configurer les périphériques sans fil,
  • lspci (fait partie de toutes les distributions) : un outil permettant de lister les périphériques connectés au bus PCI, c'est à dire l'essentiel de votre matériel.
  • network-manager-gnome : un service système pour le réseau qui gère le matériel réseau et les connexions en essayant de garder la connectivité.
  • network-manager-gnome : un outil (utilisant network-manager) qui fournit une entrée dans le Centre de contrôle de MATE (“Configuration réseau avancée”) facilitant le paramétrage Wi-Fi, et un applet pour la zone de notification GNOME (également compatible avec MATE) affichant le débit de connexion,
  • nm-tray : une interface en Qt dans la zone de notification pour NetworkManager, permettant d'activer/désactiver rapidement et facilement la connexion Wi-Fi (et de choisir la box à utiliser).

Identifiez au préalable le matériel :

$ lspci | grep -i net
17:00.0 Network controller: Intel Corporation Wireless-AC 9260 (rev 29)
18:00.0 Ethernet controller: Intel Corporation I211 Gigabit Network Connection (rev 03)

Comme le matériel est commun avec la connexion Bluetooth, une bonne partie du boulot a été fait (l'identification du matériel et l'installation du firmware Intel, voir le paragraphe Bluetooth ci-avant).

Voici à présent ce que me donne la commande rfkill :

# rfkill list
0: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
1: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no

et iw :

# iw dev
phy#0
	Unnamed/non-netdev interface
		wdev 0x2
		addr xy:xx:xx:xx:xx:xx
		type P2P-device
		txpower 0.00 dBm
	Interface wlo1
		ifindex 3
		wdev 0x1
		addr xx:xx:xx:xx:xx:xx
		type managed
		txpower 0.00 dBm

nota : j'ai masqué les adresses (en les remplaçant par “xx:xx:xx:xx:xx:xx” et “xy…), je ne sais pas si ça peux se retourner contre moi, peut-être est-ce idiot - à priori je pense que oui, quelqu'un passant dans ma rue avec un portable et ce même outil les trouvera sans doute :).

Mon interface s'appelle : wlo1

Je reprend une nouvelle fois la doc UBUNTU (pour l'avoir sous la main, je ne sais pas si ça va me servir) :

  • Pour lister les réseaux visibles sur l'interface wlo1 : # iw dev wlo1 scan
  • Pour afficher l'état de la connexion Wi-Fi : # iw dev wlo1 link
# iw dev wlo1 link
Not connected.

J'ai encore une fois choisi de laisser dans ce WIKI mes démarches bonnes et mauvaises à des fins pédagogiques. Je commence par “Mes échecs”, si ça ne vous intéresse pas, vous pouvez passer directement à “La solution”.

Mes échecs

Bien plus formateurs et faciles à mémoriser que les réussites ou la lecture de WIKIs (dont celui-ci :), les échecs sont ce qui se fait de mieux, même si c'est pas agréable.

Pour l'instant je maintien ces échecs dans ce WIKI, une fois encore pour leur aspect pédagogique, et il n'est pas exclu que j'y revienne plus tard - si j'acquière le niveau suffisant pour peut-être les transformer en réussites :).


1ere Mauvaise idée : paramétrer /etc/network/interfaces

Ma première démarche aura été de tenter d'ajouter quelques lignes dans /etc/network/interfaces

Ces paramètres bloquent le démarrage et l'arrêt au boot (le système attend une réponse de l'interface), donc j'ai finalement commenté mes ajouts.

J'imagine que c'est possible et il est vraisemblable que je m'y prenne mal, donc pour mon niveau il vaut mieux oublier pour l'instant :)


Je m'inspire des paramétrages de /etc/network/interfaces du PC internet.
Je reprend le fichier /etc/network/interfaces de goup2net qui contient actuellement :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp24s0
iface enp24s0 inet static
	address 192.168.2.2/24
	gateway 192.168.2.1
	# dns-* options are implemented by the resolvconf package, if installed
	# dns-nameservers 217.27.40.240 217.27.40.241

pour le compléter par (les 4 dernières lignes que j'ai finalement commenté parce que tel quel ça ne marche pas ;) :

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug enp24s0
iface enp24s0 inet static
	address 192.168.2.2/24
	gateway 192.168.2.1
	# dns-* options are implemented by the resolvconf package, if installed
	# dns-nameservers 217.27.40.240 217.27.40.241

# Connection Wi-Fi avec la Freebox
# auto wlo1
# allow-hotplug wlo1
# iface wlo1 inet dhcp

Et je redémarre le PC.
Ca ne marche pas. En plus le démarrage est beaucoup plus long au boot car il attend une réponse réseau visiblement. En y repensant effectivement, il manque l'aspect “transmission de mot de passe Wi-Fi” avec la box que je n'ai pas géré. Je passe à autre chose.


2nde Mauvaise idée : l'utilitaire Wi-Fi Radar

Ma seconde démarche (et la bonne plus tard) aura été de paramétrer network-manager-gnome, mais sur le coup ça m'a semblé un peu trop compliqué, donc j'ai mis de côté et suis passé à l'utilitaire Wi-Fi Radar (en dépôt) que je présente ci-dessous.

Je regarde sur le web. Heureusement les docs font légion.
L'une d'entre elles : Linux.com (How to Configure Wireless on Any Linux Desktop)
me propose d'installer le paquet wifi-radar (en dépôts)

Je le complète d'autres paquets (REX ci-après) : # apt install wifi-radar gnustep-gui-runtime net-tools

Celui-ci met son raccourci dans le menu MATE : Applications ➜ Internet ➜ Icône Wi-Fi Radar (lance : su-to-root -X -c /usr/sbin/wifi-radar, donc il se lance en root).

Il m'a l'air nettement mieux, les champs sont pré-remplis (il trouve mon périphérique wlo1, me propose d'activer la parole (voir ci-après, en paramètre je saisi : /usr/bin/espeak-ng) :

  • Je clique sur “Enregistrer” (je n'ai fais que de cocher “Use speak-up”)
  • Et là il affiche directement les points d'accès et un statut “Not Connected” : (je ne les détaille pas ici, il en trouve 4 dont un avec un signal faible et ma Box que je reconnais)
  • Je sélectionne ma box et clique sur “Connect”
  • Il me répond “This network does not have a profile configured. Would you like to create one now?” Oui
  • J'arrive sur une nouvelle fenêtre, je ne change rien, je clique sur “Enregistrer”.
  • Et là il semble bloquer sur “Acquiring IP Address (DHCP)”. Il fallait vraisemblablement entrer le mot de passe avant dans l'un des menus.

Je l'ai relançé en console pour voir les messages d'erreur :

(...)
2019-07-07 18:43:53,341: connect_to_network: DHCP client not found, please set this in the preferences.
Traceback (most recent call last):
  File "/usr/sbin/wifi-radar", line 1563, in connect_profile
    self.connection.connect_to_network(profile, self.status_window)
  File "/usr/sbin/wifi-radar", line 498, in connect_to_network
    waiting = dhcp_proc.poll()
UnboundLocalError: local variable 'dhcp_proc' referenced before assignment
/bin/sh: 1: /usr/bin/say: not found
/bin/sh: 1: /sbin/ifconfig: not found
(...)

Oui, dans un premier temps (rectifié ci-avant) j'avais laissé /usr/bin/say et ensuite lu dans la doc ci-avant qu'il était bugué et qu'on pouvait le remplacer par espeak ou espeak-ng (mais après test, ça n'a vraiment que peu d'intérêt au stade où je suis parvenu).

Pour trouver à quel paquet il appartient :

# apt-file search /usr/bin/say
gnustep-gui-runtime: /usr/bin/say         
saytime: /usr/bin/saytime
# apt-file search /sbin/ifconfig
net-tools: /sbin/ifconfig  

J'installe donc les paquets correspondants (là encore, ça aurait pu être fait dans les dépendances de wifi-radar) : (liste des paquets mis à jour ci-avant) # apt install espeak-ng net-tools dhcpd5 dhcpcd-gtk wpagui

Mais il reste encore scotché sur la connexion qui ne se fait pas (en plus même en console il est dur à interrompre, il faut passer par le moniteur système gnome pour le tuer).

En console j'ai des messages :

wlo1      Interface doesn't support scanning : Network is down

Et dans /var/log/wifi-radar.log j'ai des messages :

(...)
2019-07-07 19:34:29,998: CRITICAL: connect_to_network: DHCP client not found, please set this in the preferences.
(...)

En cliquant sur le bouton “Préférences”, dans l'onglet “DHCP” je vois qu'il lance la commande : /sbin/dhcpcd
J'installe donc le paquet dhcpd5, j'installe aussi l'utilitaire dhcpcd-gtk (permet d'afficher des changements IPV4 dans la zone de notification, qui installe à son tour dhcpcd-dbus via les dépendances) et wpagui (une interface en Qt permettant de choisir sur quel réseau configuré se connecter).

Ah là ça va nettement plus vite et je n'ai plus le choix que de ma box, et quand je clique sur “Connect” j'ai un message “Could not get IP address!”. Je vais rebooter une nouvelle fois, compte-tenu des nouveaux paquets installés et serveur dhcpd.

Mauvaise idée : l'installation de dhcpd5 me coupe le réseau (le reste de ma configuration réseau est en IP statique, ça doit faire un mic-mac quelque-part). De plus mes paramètres ajoutés dans /etc/network/interfaces bloquent le démarrage et l'arrêt au boot (il attend une réponse de l'interface, donc j'ai finalement commenté mes ajouts.

Je laisse tomber provisoirement WiFi Radar qui s'appuie sur dhcpd (ou il faudra que je trouve moyen de l'installer sans qu'il me perturbe le reste du réseau statique, j'ai déjà lu un truc là-dessus).

Sur le PC internet j'y arrive pourtant (j'utilise à la fois du réseau statique pour les connexions avec mes autres PC, et du DHCP filaire pour la connexion avec la box, le tout paramétré dans mon fichier /etc/network/interfaces tel que ci-dessus).

Autre remarque : contrairement à ce qu'indique WiFi Radar, mon interface supporte le scanning :

$ iwlist wlo1 scan
wlo1      Scan completed :
          Cell 01 - Address: xx:xx:xx:xx:xx:xx
          (...)

Et je vois bien toutes les connexions possibles en console.

Ca sent vraiment le truc mal ficelé (messages erronés, dépendances incomplètes, paramétrage pas claire : où entre-t-on le mot de passe de connexion WIFI ?)


La solution

Nota le 14/07/2019 : il m'aura fallu une 2ème itération pour vraiment comprendre le fonctionnement du couple network-manager-gnome / nm-tray ci-après (la 1ere fois j'y suis arrivé grâce à mes réglages sous nm-tray et non pas ceux de network-manager-gnome). J'ai corrigé mes erreurs ci-dessous.

Des solutions il y en a certainement des tonnes. Mais celle qui m'aura permis moi - débutant, d'y parvenir est celle passant par network-manager-gnome (installé par le paquet éponyme).

Avant de commencer, il vous faut connaître le SSID (=le Nom de votre point d'accès WIFI - autement dit, celui que vous aviez donné à votre box dans ses paramétrages, il est dénommé ci-après ESSID), vous pouvez le trouver en lançant la commande (remplacez wlo1 par le nom de votre interface, voir ci-avant) :

$ iwlist wlo1 scan
wlo1      Scan completed :
          Cell 01 - Address: xx:xx:xx:xx:xx:xx
                    Channel:11
                    Frequency:2.462 GHz (Channel 11)
                    Quality=70/70  Signal level=-40 dBm  
                    Encryption key:on
                    ESSID:"Toto"
                    (...)

Dans l'exemple ci-dessus, le SSID est Toto.

Nota :

  • Le BSSID est l'adresse MAC du point d'accès sans fil (chaque point d'accès a son adresse MAC). Il n'est pas nécessaire de le saisir pour la connexion. Dans le cas présent il s'agit de l'adresse citée après le libellé “Cell 01 - Address: xx:xx:xx:xx:xx:xx” ci-dessus (si vous avez retenu pour point d'accès “Toto”).

Paramétrage de network-manager-gnome :

On accède à network-manager-gnome par le Centre de contrôle de MATE, au paragraphe “Internet et réseau”, il y a un icône “Configuration réseau avancée” (il s'agit de l'application /usr/bin/nm-connection-editor installé par le paquet network-manager-gnome), je clique dessus pour tester :

NB : attention, pour pouvoir enregistrer vos modifications (sinon le bouton “Enregistrer” restera désactivé), il faut saisir le SSID (voir ci-avant) dans l'onglet “Wi-Fi”.

  • Je clique sur ”+“,
  • puis “Sélectionner un type de connexion” : Wi-Fi
  • Je clique sur “Créer”

Onglet “Général”

  • ☑ Se connecter automatiquement avec priorité : 0 (par défaut)
  • ☑ Tous les utilisateurs peuvent se connecter à ce réseau (par défaut)
  • ☐ Se connecter automatiquement au VPN (par défaut)
  • Connexions limitées : Automatique (par défaut)

Onglet “Wi-Fi” :

  • SSID : Toto (exemple factice, voir ci-avant comment le trouver)
  • Mode : Client (par défaut)
  • Bande : Automatique (par défaut)
  • Canal : (par défaut, grisé)
  • BSSID : (laissez vide, pas nécessaire) (si vous souhaitez le saisir, il est de la forme “xx:xx:xx:xx:xx:xx”, voir ci-avant)
  • Périphérique : wlo1 (xx:xx:xx:xx:xx:xx) (facile à trouver car le sélecteur le propose)
  • Adresse MAC clonée : (laissez vide) (par défaut, au choix par sélecteur : “Conserver”, “Permanente”, “Aléatoire”, “Stable”)
  • MTU : automatique (par défaut, je ne l'ai pas changé)

Onglet “Sécurité Wi-Fi”

  • Sécurité : WPA et WPA2 personnel (au choix : “Aucune”, “Clé WEP 40/128-bit (Hex ou ASCII)”, “WEP 128-bit à phrase secrète”, “LEAP”, “WEP dynamique (802.1X)”, “WPA et WPA2 personnel”, “WPA et WPA2 entreprise”)
  • Mot de passe : ……………………….. (la clé WIFI de votre box)

Onglet “Proxy” : (je ne passe pas par un proxy)

  • Méthode : Aucune (par défaut)

Onglet “Paramètres IPv4”

  • Méthode : Automatique (DHCP) (là encore plein de choix, mais celui-ci était le bon car ma box est configurée pour une utilisation en DHCP)

Onglet “Paramètres IPv6”

  • Méthode : Automatique (là encore plein de choix, mais celui-ci me semble bon)

À présent que j'ai saisi mes paramétrages, il me reste à voir comment activer la connexion.

J'installe le paquet nm-tray (une interface en Qt dans la zone de notification pour NetworkManager).
Excellente idée !!!

Je lance nm-tray en console avec la commande (pas besoin de l'ajouter aux applications à lancer au démarrage de MATE, car il s'y est mis tout seul) : $ /usr/bin/nm-tray

Paramétrage de nm-tray :

Une fois lançé, il apparait dans la zone de notification. on y accède via le clic gauche.
Son menu :

  • ☑ Activer le réseau
  • ☑ Activer le Wi-Fi
  • ☑ Activer les notifications
  • Informations de connexion
  • Informations de débogage
  • Wi-Fi - request scan
  • Éditer les connexions…
  • À propos
  • Quitter

Plus en détail :

  • ☑ Activer le réseau : active / désactive toutes les connexions.
  • ☑ Activer le Wi-Fi : active / désactive le Wi-Fi uniquement.
  • ☑ Activer les notifications : je n'ai pas vu la différence pour l'instant.
  • Informations de connexion : fait apparaître une fenêtre vide avant la connexion, puis lorsqu'il y a connexion, affiche les informations correspondantes (interface utilisée, débit de connexion, sécurité, adresse IPv4 avec serveurs DNS utilisés, adresse IPv6).
  • Wi-Fi - request scan : refait un scan Wi-Fi pour mettre à jour les points d'accès Wi-Fi disponibles.
  • Éditer les connexions… : une fenêtre d'accès (pas très jolie mais fonctionnelle, il s'agit en fait de l'interface textuelle de nmtui qui appartient au paquet network-manager, je lui préfère network-manager-gnome) aux fichiers de configuration des réseaux disponibles. Grâce à ce panneau (en mode texte) vous pouvez ajouter / supprimer / éditer le fichier de paramétrages de connexion à utiliser. Ces fichiers de paramétrages peuvent être créés soit depuis ce menu (pas très sexy), soit depuis network-manager-gnome (voir ci-avant, l'avantage c'est une interface conviviale avec un mot de passe affiché en clair pour la saisie), soit depuis nm-tray (via le menu “Informations de débogage” décris ci-après, avantage pour la simplicité, mais pas de mot de passe affichable en clair). Le fichier souhaité pourra ensuite être sélectionné dans le menu “Informations de débogage” ci-après.
  • Informations de débogage (permet aussi la création et le choix d'une connexion) : ouvre une fenêtre séparée en 3 zones. La zone “Sans-fil disponible” affiche les bornes Wi-Fi trouvées (votre box y est affichée, pour actualiser la liste passez par le menu “Wi-Fi - request scan” ci-avant). Si vous double-cliquez sur l'une des bornes, une fenêtre s'ouvre vous proposant de saisir un mot de passe d'accès (mais sans affichage en clair), ce qui créera automatiquement un fichier de connexion portant le nom du point d'accès Wi-Fi (également disponible ensuite sous network-manager-gnome, simple et fonctionnel). La zone “Connexions actives” affiche les connexions en cours. La zone “Toutes les informations” est un menu dépliable (sous “root”) permettant notamment de sélectionner le fichier de paramétrage de connexion à utiliser (au paragraphe “connexions(s)” vous double-cliquez sur le fichier), de voir les connexions actives, et les périphériques actifs (mon interface wlo1 par exemple, mais je vois aussi mon interface réseau filaire enp24s0 inactive).
  • Pour l'anecdote, lors de ma 1ere tentative j'ai effectué un clic droit sur “Informations de déboguage” ce qui m'ouvert la fenêtre (en 3 zones) où j'ai pu sélectionner ma box parmis les autres trouvées, saisir le mot de passe WIFI (à l'aveuglette car il ne permet pas son affichage, ça c'est pas terrible, c'est un coup de bol si j'y suis arrivé du 1er coup :)) et là il s'est connecté. Simple et rapide (même si je n'avais pas tout compris à ce moment là :).
  • Ensuite un autre icône (l'applet nm-applet, installée par network-manager-gnome, démarrée automatiquement sous le nom “Réseau” dans les “Applications au démarrage” dans le Centre de contrôle) dans la zone de notification m'affiche la qualité de la réception (0 à 100%).
  • Gkrellm m'affiche une autre interface réseau avec quelques pics réseaux : wlo1
  • Le test ultime : j’éteins le PC Internet et lance une mise à jour via Synaptic : ça marche, il télécharge les paquets à près de 600KB et je peux continuer à écrire sur ce WIKI : nickel ! Petit bémol sur le coup, les pages internet ne se chargent pas toutes aussi facilement. Google trouve sa page mais pas DuckDuckGo (bizarre que l'un la trouve et pas l'autre). Mais à présent ça fonctionne bien.

Punaise, j'aurai bien ramé là aussi :)) Mais ça marche :)

Pour l'instant ça me suffit (je voudrais passer à autre chose).
J'y reviendrai vraisemblablement pour explorer la connexion à mon “smart”phone (pourrait être utile en cas de perte de ma box).

/data/web/3d/eb/2d/lebottindesjeuxlinux.tuxfamily.org/htdocs/dokuwiki/data/pages/installation_du_wi-fi.txt · Dernière modification: 16/07/2019 20:18 par goupildb