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) :
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) :
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) :
# 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”.
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 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 ?)
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 :
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”.
Onglet “Général”
Onglet “Wi-Fi” :
Onglet “Sécurité Wi-Fi”
Onglet “Proxy” : (je ne passe pas par un proxy)
Onglet “Paramètres IPv4”
Onglet “Paramètres IPv6”
À 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 :
Plus en détail :
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).