Ubuntu 19.04 problème de connexion wifi

Signaler
Messages postés
1
Date d'inscription
mercredi 26 janvier 2011
Statut
Membre
Dernière intervention
13 septembre 2019
-
mamiemando
Messages postés
29125
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 janvier 2020
-
Je désespère!
J'ai un portable Lenovo Ideapad 330ARR; processeur: AMD Ryzen 5 2500U; carte graphique: AMD Radeon Vega Realtek 8821CE. Je suis en Belgique.
J'avais installé Ubuntu 18.10 en dual boot avec Windows 10 en janvier 2019. Grâce aux renseignements trouvés sur le Forum, j'ai réussi à "installer" le WiFi absent après l'installation. J'étais soulagé car mes compétences sont limitées en ce domaine. Mais toujours pas de pavé numérique (pas nécessaire car emploi d'une souris).
Voilà maintenant que la version 19.04 s'est installée … et de nouveau plus de WiFi (mais le pavé numérique fonctionne maintenant, merci). J'ai essayé toutes les solutions proposées antérieurement pour la version 18.10 … cela ne fonctionne pas!
Je suis très très novice en Linux, donc si vous pouvez m'aider, merci de vos explications vocabulaire simple…
Merci par avance aux membres du forum

5 réponses

Messages postés
29125
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 janvier 2020
6732
Bonjour,

Quelques petits conseils préalable : un fil de discussion par problème (donc par exemple, un pour le pavé numérique, un pour le wifi). Le pavé numérique n'ayant rien à voir avec le wifi, inutile d'en parler ici, d'autant que tu sembles avoir résolu le problème :-)

Ici on va se focaliser sur le wifi. Ouvre un terminal et indique-nous si la commande
/sbin/iwlist scan
détecte les réseaux alentours (le tien en particulier).
  • Si un erreur survient, reporte-la. C'est peut être ton pilote de carte wifi qui est mal installé. Auquel cas, retourne nous son modèle exact (soit avec la commande
    lspci
    s'il s'agit d'une carte interne, soit avec la commande
    lsusb
    s'il s'agit d'un dongle USB).
  • Si ton réseau est bien détecté, tente de t'y connecter à l'aide de ton interface graphique, puis tape dans un terminal les commandes suivantes. Puis copie-colle nous les résultats obtenus


/sbin/iwconfig
ip route
cat /etc/resolv.conf
ping -c2 8.8.8.8
nslookup www.google.fr


Bonne chance
Voici une copie des deux premières commandes proposées:
jenny@jenny-Lenovo-ideapad-330-15ARR:~/Bureau$ /sbin/iwlist scan
lo Interface doesn't support scanning.

enp2s0 Interface doesn't support scanning.


jenny@jenny-Lenovo-ideapad-330-15ARR:~/Bureau$ lspci
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15d0
00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Device 15d1
00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
00:01.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 15d3
00:01.3 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 15d3
00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 00h-0fh) PCIe Dummy Host Bridge
00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 15db
00:08.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 15dc
00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 61)
00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51)
00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15e8
00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15e9
00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15ea
00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15eb
00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15ec
00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15ed
00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15ee
00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Device 15ef
01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10)
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series] (rev c5)
03:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Device 15de
03:00.2 Encryption controller: Advanced Micro Devices, Inc. [AMD] Device 15df
03:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Device 15e0
03:00.4 USB controller: Advanced Micro Devices, Inc. [AMD] Device 15e1
03:00.6 Audio device: Advanced Micro Devices, Inc. [AMD] Device 15e3
04:00.0 SATA controller: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] (rev 61)


J'espère que cela aidera à la résolution de mon problème. D'avance Merci.
Messages postés
29125
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 janvier 2020
6732
Bonjour,

Pardon pour la réponse tardive. Actuellement ta carte wifi n'est pas détectée, voici à quoi ça ressemblerait sinon :

(mando@silk) (~) $ /sbin/iwconfig 
lo no wireless extensions.

wlp2s0 IEEE 802.11 ESSID:"xxxxxxxx"
Mode:Managed Frequency:5.18 GHz Access Point: xxxxxxxxxxx
Bit Rate=585.1 Mb/s Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=39/70 Signal level=-71 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:1 Missed beacon:0
...


C'est probablement parce que ta carte n'est pas bien reconnue pour le moment. Dans le résultat de
lspci
, ta carte wifi apparaît ici :

01:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter


La procédure d'installation est documentée sur cette page. Sous debian on installerait le paquet
firmware-realtek
(e.g. via la commande
sudo apt install firmware-realtek
après avoir activé les dépôts appropriés), car celui-ci semble reconnaître ce modèle de carte :

(mando@silk) (~) $ apt show firmware-realtek | grep 8821
Realtek RTL8821A Bluetooth firmware (rtl_bt/rtl8821a_fw.bin)
Realtek RTL8821C Bluetooth config (rtl_bt/rtl8821c_config.bin)
Realtek RTL8821C Bluetooth firmware (rtl_bt/rtl8821c_fw.bin)
Realtek RTL8821AE firmware, version 29 (rtlwifi/rtl8821aefw_29.bin)
Realtek RTL8821AE firmware (rtlwifi/rtl8821aefw_wowlan.bin)
Realtek RTL8821AE firmware (rtlwifi/rtl8821aefw.bin)


Une fois le pilote installé, il ne reste plus qu'à redémarrer, et contrôler qu'elle apparaît quand tu utilises
iwconfig
. Ceci fait, il est très probable que tout marchera normalement au niveau de ton interface graphique (network manager).

Bonne chance
Bonjour, pas de problème pour "retard" car le filaire fonctionne bien. Ce qui me perturbe c'est que j'avais réussi à l'installer à la version précédente. Je vais faire ce qui indiqué ci-dessus et vous dirai ce qu'il en est. Merci pour le temps passé.
Voilà
J'ai inscrit sudo apt install firmware-realtek dans l'écran Terminal; la réaction a été négative. Mais je ne comprends pas la suite de votre phrase: "après avoir activé les dépôts appropriés": comment, où, comment? Comme indiqué précédemment, mes compétences sont fort limitées. Que dois-je faire maintenant?
Messages postés
29125
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 janvier 2020
6732
Hello,

Bon le message est un peu long, mais c'est juste parce que je détaille tout donc pas d'affolement :-)

Je vais commencer par t'expliquer la logique sous debian (cas qui a priori se passe bien). Ça te permettra de comprendre comment marche apt, ce qui te servira probablement un jour sous ubuntu aussi. Dans un second temps, on verra la procédure pour ubuntu, et je te préviens tout de suite, ça n'est pas évident. J'ai essayé de te débroussailler le terrain le plus possible mais n'étant pas sous ubuntu et n'ayant pas la même carte wifi que toi, je n'ai pas pu tout tester.

A) Installer le pilote

A.1) Debian

Pour chercher des paquets (des archives qui permettent d'installer des logiciel), le gestionnaire de paquet debian
apt
s'appuie sur plusieurs fichiers de configurations, donc
/etc/apt/sources.list
qui liste les dépôts officiels.

Ces dépôts sont régulièrement mis à jour. Installer (resp. mettre à jour, resp. désinstaller un paquet) revient à installer (resp. mettre à jour, resp. désinstaller un paquet) le logiciel correspondant.


1) On réindexe les dépôts listés dans
/etc/apt/sources.list
et
/etc/apt/sources.list.d
avec la commande
sudo apt update
ou
sudo apt-get update
(ou avec la logithèque).

sudo apt update


Puis on lance une recherche avec
apt-cache search
ou
apt search
pour trouver le paquet qui nous intéresse.


Exemple : Ici je cherche les firmwares qui contiennent "realtek" dans leur nom ou leur description.

(mando@silk) (~) $ apt search firmware | grep -i realtek
firmware-realtek/testing 20190717-2 all
Binary firmware for Realtek wired/wifi/BT adapters


Ici on a trouvé le paquet :
firmware-realtek
. On peut en outre vérifier dans la description détaillée que le modèle de la carte y figure bien :

apt show firmware-realtek


Comme le paquet est trouvé, on passe directement à l'étape 3. Sinon, on part à la recherche d'un éventuel dépôt qui pourrait nous le fournir (étape 2).

2) On lance la recherche (disons "realtek") depuis le site officiel : packages.debian.org (son équivalent ubuntu : packages.ubuntu.com).

Cette recherche mène à ce résultat. On retrouver le nom du paquet :
firmware-realtek
. Sur la page correspondante, on voit alors écrit entre crochets (et ici en rouge) le nom du dépôt qui le fournit :
non-free
. C'est ce dépôt qui manque à
/etc/apt/sources.list
.

On ajoute dans
/etc/apt/sources.list
(ou éventuellement dans un fichier à part, disons
/etc/apt/sources.list.d/toto.list
) le dépôts
non-free
conformément à ce tutoriel.

Voici à quoi ressemble
/etc/apt/sources.list
chez moi (à ne pas recopier sous ubuntu !). Note la présence du dépôt
non-free
à chaque ligne :

deb http://ftp.fr.debian.org/debian/ testing main contrib non-free
deb http://security.debian.org testing-security main contrib non-free
deb http://ftp.fr.debian.org/debian/ testing-updates main contrib non-free


Une fois les dépôts
non-free
référencés, on lance :

sudo apt update


Puis on reprend l'étape 1, qui devrait à présent trouver le paquet.

3) On met éventuellement à jour le système, depuis la logithèque ou avec la commande :

sudo apt upgrade


4) On installe le paquet, la logithèque ou avec la commande :

sudo apt install firmware-realtek wireless-tools


Note : le paquet
wireless-tools
permet d'avoir la commande iwconfig qu'on va utiliser juste après.

Ceci fait, on peut à present observé que les fichiers contenus dans le paquets (voir liste) apparaissent désormais bien sur ton disque dur.

5) Généralement on s'arrête là, le logiciel est prêt à l'emploi. Mais ici il s'agit d'un pilote, il faut redémarrer (ubuntu te préviendrait probablement). Les paquets liés aux pilotes ont sous debian/ubuntu, un nom qui commence par
firmware
. Il y également le noyau linux (dont le nom commence par
linux-image
) qui est soumis à cette règle. Après avoir redémarré, les informations sur la carte wifi devrait alors apparaître si tu tapes la commande :

/sbin/iwconfig


Si une carte wifi est supportée, tu verras alors tous les détails. Les autres interfaces réseaux sont suivies du message "no wireless extensions". Cela concerne ta carte ethernet, l'interface de loopback, les interfaces VPN, etc.

Exemple :

(mando@silk) (~) $ /sbin/iwconfig
lo no wireless extensions.

wlp2s0 IEEE 802.11 ESSID: xxxxxxxxxxxxxxxxxxx
Mode:Managed Frequency:2.432 GHz Access Point: xxxxxxxxxxxxxxx
Bit Rate=65 Mb/s Tx-Power=22 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=51/70 Signal level=-59 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:137 Missed beacon:0


Si ça ne marche pas, on peut désintaller ce firmware (il ne sert à rien) et procéder à l'installation générique (voir A.3).

A.2) Ubuntu

Pas de chance ici, une recherche de "realtek" ne donne rien packages.ubuntu.com. C'est potentiellement parce que le firmware est supposé être installé de base.

Si c'est comme sous debian, tu devrais avoir un dossier
/lib/firmware/rtlwifi
,
/lib/firmware/rtl_bt/
et
/lib/firmware/RTL8192E/
. Est-ce le cas ?
  • Si oui cela signifie que le firmware est installé. Normalement si tu as redémarré, tu devrais alors voir apparaître ta carte avec la commande
    /sbin/iwconfig
    .
  • Sinon, vérifie dans le gestionnaire de pilotes proprietaires, spécifique à ubuntu, si tu peux installer le pilote manquant. Si oui, installe-le et redémarre.


Si on ne trouve rien, on regarde ce que raconte la documentation. On passe alors à la méthode générique.

A.3) Méthode générique

Quand on en est là, c'est que ça commence à sentir le roussi, car l'installation sera plus fastidieuse et les mises à jour ne seront pas faites avec le reste du système. C'est pour ça qu'on la garde en dernier recours.
  • On commence par regarder si le constructeur fournit des pilotes linux. On arrive rapidement sur cette page. Déception, rien n'est prévu pour linux (sinon, on simplement suivi la procédure d'installation décrite sur le site).
  • Pour les cas plus désespérés (comme pour cette carte), une recherche google s'impose, en priant pour que d'autres ait résolu le problème.


Et cette fois la chance nous sourit enfin.

1) Les sources du pilote sont disponibles sur un dépôt github. Si tu ne sait pas, vois ça comme un endroit où tout un chacun peut partager des fichiers. Mais contrairement à des outils comme dropbox, cela s'adresse à des développeurs. Donc il va falloir récupérer ces sources (étape 2). Mais en l'état, ces sources ne sont pas compréhensibles de la machine, il faut les compiler pour en faire un driver (étape 3).

Pour exploiter un dépôt git, on utilise un client git. Sous linux, il s'appelle tout simplement
git
. Pour l'installer :

sudo apt update
sudo apt install git


On installe aussi tout les outils nécessaires (
gcc
,
make
) pour compiler le driver, comme expliqué ici :

sudo apt install linux-headers-amd64 build-essential bc cpio flex kmod libncurses5-dev


2) On cherche le nom du dépôt. Pour ça, il faut trouver son adresse (qui généralement finit par
.git
). On la retrouve en remontant en haut de l'arborescence, en cliquant sur le bouton vert :
https://github.com/endlessm/linux
.


3) On récupère (=
clone
) le dépôt. Peu importe où mais pourquoi pas dans un répertoire git dans ton dossier personnel :

mkdir ~/git
cd ~/git
git clone https://github.com/endlessm/linux.git


(par la suite, on pourra récupérer les éventuelles mises à jour de ce dépôt en lançant à l'intérieur du dossier cloné la commande
git pull
).

4) On va dans le répertoire du driver :

cd ~/git/linux/drivers/net/wireless/rtl8821ce


5) Enfin, on reprend le tutoriel. Bon et maintenant c'est parti, on va compiler le noyau. Et pour ça il faut dire qu'est ce qu'on veut compiler.

Les grandes lignes de la procédures sont expliquées dans cette page de documentation.

Ce qu'il faut s'avoir, c'est que tout ce qui doit être supporté dans ton noyau est référencé dans un fichier
.config
, à la racine des sources du noyau. On peut créer ce fichier à partir de rien (avec la commande
make menuconfig
) mais c'est très long, très fastidieux, et si tu ne t'y connais pas, il y a de forte chance pour que le noyau construit ne fonctionne pas.

Donc comme expliqué ici, on va plutôt repartir d'un
.config
existant. Pour cela on repart d'un des fichiers
/boot/config-*-amd64
(tant qu'à faire, celui avec le numéro de version le plus élevé) et on le copie dans le répertoire de sources.

Exemple :

cp /boot/config-5.2.0-3-amd64 ~/git/linux


6) Comme le fichier qu'on a récupéré n'est pas conforme au noyau récupérer, on doit lancer :

make oldconfig


Si tu as des erreurs (genre /bin/sh: 1: flex: not found ou /bin/sh: 1: bison: not found), installe les paquets correspondants (cf étape 1).

7) On répond aux questions. Voici à quoi ça va ressembler :

(mando@silk) (~/git/linux) $ make oldconfig
YACC scripts/kconfig/parser.tab.h
HOSTCC scripts/kconfig/lexer.lex.o
YACC scripts/kconfig/parser.tab.c
HOSTCC scripts/kconfig/parser.tab.o
HOSTCC scripts/kconfig/preprocess.o
HOSTCC scripts/kconfig/symbol.o
HOSTLD scripts/kconfig/conf
scripts/kconfig/conf --oldconfig Kconfig
#
# using defaults found in /boot/config-5.2.0-3-amd64
#

Restart config...
General setup
Compile also drivers which will not load (COMPILE_TEST) [N/y/?] n
Compile test headers that should be standalone compilable (HEADER_TEST) [N/y/?] (NEW)


Ici, le choix par défaut est en capitale (ici N pour no). Généralement c'est le bon choix, et il suffit d'appuyer sur entrée pour l'appliquer. Donc à moins que tu veuilles entrer dans le détail, tu te contente de maintenir la touche entrée enfoncée jusqu'à que ça se termine :-)

8) On peut compiler. Prévois un thé, des gâteaux, etc. car ça va durer un moment.

make


Si tu as des erreurs du genre :

scripts/sign-file.c:25:10: fatal error: openssl/opensslv.h: Aucun fichier ou dossier de ce type
25 | #include <openssl/opensslv.h>
| ^~~~~~~~~~~~~~~~~~~~
compilation terminated.


... il faut installer le paquet adéquat. Ici on utilisera typiquement
apt-file
pour le retrouver ou packages.ubuntu.com avec une recherche à l'intérieur des fichiers :

sudo apt install apt-file
sudo apt-file update
apt-file search opensslv.h | grep openssl/opensslv.h


Généralement le paquet qui nous intéresse a un nom qui commence par
lib
et qui finit par
-dev
. Ici la recherche donne :

(mando@silk) (~/git/linux) $ apt-file search opensslv.h | grep openssl/opensslv.h
android-libboringssl-dev: /usr/include/android/openssl/opensslv.h
libssl-dev: /usr/include/openssl/opensslv.h
libwolfssl-dev: /usr/include/cyassl/openssl/opensslv.h
libwolfssl-dev: /usr/include/wolfssl/openssl/opensslv.h


... et c'est donc
libssl-dev
qu'il faut installer :

sudo apt install libssl-dev


... puis relancer
make
. Ainsi de suite jusqu'à arriver au bout :-) Dans la même veine, il faudra installer
libelf-dev
. Félicitations tu es maintenant un pro de la compilation :-)

Tu auras peut-être aussi droit à cette erreur :

make[1]: ***  Aucune règle pour fabriquer la cible « debian/certs/debian-uefi-certs.pem », nécessaire pour « certs/x509_certificate_list ». Arrêt.


... et dans ce cas, après une petite recherche google on tombe sur cette discussion qui explique que dans le fichier
.config
, les trois lignes contenant
CONFIG_MODULE_SIG_ALL
,
CONFIG_MODULE_SIG_KEY
and
CONFIG_SYSTEM_TRUSTED_KEYS
doivent être commentées (en rajoutant un # en début de ligne). C'était pourtant évident, il en est même vaguement question dans la documentation :-)


J'ai stoppé mes tests ici, la compilation étant longue, mais voici en gros ce qui reste à faire.

9) Bien, à présent il ne reste plus qu'à installer le noyau. La manière "standard" consiste à lancer
make modules_install && make install
(comme expliqué ici) mais ce n'est pas dans l'esprit debian/ubuntu. Normalement, on empaquete le tout dans un paquet debian, ce qui permet de l'installer (
sudo dpkg -i ...
) ou le désinstaller (
sudo apt purge ...
ou via la logithèque) facilement. De nos jours, un noyau semble se construire comme n'importe quel autre paquet, et le tout est expliqué en détail dans cette présentation (slide 10, étape 4).

10) On redémarre en veillant dans grub à bien démarrer sur le noyau fraichement compilé. On n'oublie pas la fin du tutoriel, et on croise les doigts pour que ça marche :

/sbin/iwconfig


B) Network manager

C'est l'outil qu'on utilise traditionnellement pour configurer des points d'accès wifi. Il existe en plusieurs versions (pour les lignes de commande, et avec interface graphique). On va bien entendu installer la version graphique, plus pratique.

1) Sous (k)ubuntu, network manager est installé de base. Sous Debian il faudrait installer
plasma-nm
(sous KDE) ou
network-manager-gnome
(sinon).

Exemple :

sudo apt install network-manager-gnome


2) Ensuite on configure son point d'accès comme expliqué ici. Normalement c'est assez simple donc je ne détaille pas.

Bonne chance
Un immense merci pour cette réponse détaillée. Je ne réagis que maintenant car depuis la dernière fois, j'ai changé de PC, et passé de Windows7 à la version 10. Il y a beaucoup d'ajustements à faire et trouver une solution à des problèmes d'installation et autres. Cela avance bien, j'y suis presque (et jusqu'à maintenant sans aide extérieure!). Comme mon épouse va sur Internet avec un câble, j'ai un peu le temps pour résoudre son problème ... je m'y mettrai dès que possible évidemment et vous tiendrez au courant. Encore MERCI pour votre aide.
mamiemando
Messages postés
29125
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
10 janvier 2020
6732
Pas de problème, bon courage :-)