U03

U03

Vers le Pont arc-en-ciel et au-delà

InformatiqueLinux

Ubuntu disparition du Wi-Fi

J’ai changé d’ordinateur suite au décès de mon pauvre Sony VAIO (RIP) que j’ai remplacé par un Lenovo ideapad 720-15IKB installé en Dual-Boot Ubuntu 22.04 LTS et Windows 10 (celui-ci n’ayant pas la version de TPM requis pour Windows 11).

L’installation de Ubuntu 22.04 LTS s’est bien passée, tous les composants ont bien été reconnus lors de l’installation et le Wi-Fi fonctionnait bien jusqu’à ce matin, pourtant je n’avais pas noté de mise à jour ayant pu casser quoi que ce soit.

Petit diagnostic

Les premiers soupçons se portent sur le mode avion, des appuis sur la touche de fonction correspondante montrent que ce n’est pas ça. La commande rfkill montre aussi que ça ne vient pas de là:
$ rfkill
ID TYPE DEVICE SOFT HARD
0 wlan ideapad_wlan unblocked unblocked
1 bluetooth ideapad_bluetooth unblocked unblocked
2 bluetooth hci0 unblocked unblocked
L’interface est absente dans le widget du network manager, elle n’apparaît pas non plus dans le résultat de la commande ip a, donc ce n’est ni un problème de DHCP, ni un problème de wpa_supplicant (notez que le wlan apparaissait bien dans la commande rfkill):
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 54:ee:75:d7:b3:43 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.155/24 brd 192.168.1.255 scope global dynamic noprefixroute enp3s0
valid_lft 59460sec preferred_lft 59460sec
inet6 fe80::8538:4e40:463d:27c7/64 scope link noprefixroute
valid_lft forever preferred_lft forever
La carte Wi-Fi appraît bien dans la liste du matériel, on note au passage son driver ath10k_pci:
$ sudo lshw -C network
[.../...]
*-network
description: Network controller
product: QCA9377 802.11ac Wireless Network Adapter
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:04:00.0
version: 31
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list
configuration: driver=ath10k_pci latency=0
resources: irq:139 memory:d1000000-d11fffff
Le driver semble bien chargé:
$ lsmod | grep ath10k
ath10k_pci 49152 0
ath10k_core 630784 1 ath10k_pci
ath 36864 1 ath10k_core
mac80211 1314816 1 ath10k_core
cfg80211 1044480 3 ath,mac80211,ath10k_core
Vérifions les messages lors du boot:
$ sudo dmesg | grep ath
[ 7.043016] ath10k_pci 0000:04:00.0: enabling device (0000 -> 0002)
[ 7.043681] ath10k_pci 0000:04:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[ 7.329375] ath10k_pci 0000:04:00.0: qca9377 hw1.1 target 0x05020001 chip_id 0x003821ff sub 17aa:0901
[ 7.329382] ath10k_pci 0000:04:00.0: kconfig debug 0 debugfs 1 tracing 1 dfs 0 testmode 0
[ 7.329916] ath10k_pci 0000:04:00.0: firmware ver WLAN.TF.2.1-00021-QCARMSWP-1 api 6 features wowlan,ignore-otp crc32 42e41877
[ 7.399415] ath10k_pci 0000:04:00.0: board_file api 2 bmi_id N/A crc32 8aedfa4a
[ 12.666708] ath10k_pci 0000:04:00.0: wmi service ready event not received
[ 12.759804] ath10k_pci 0000:04:00.0: could not init core (-110)
[ 12.759832] ath10k_pci 0000:04:00.0: could not probe fw (-110)
Clairement les Qualcom Ath10k c’est pas terriblement bien supporté car les firmwares sont soumis à pas mal de restrictions et pour les compiler soi-même il faut récupérer des fichier firmware dans le package des drivers Windows.
Mais là le driver était fonctionnel donc c’est probablement un petit soucis à l’initialisation de la carte, nous allons décharger et recharger le driver et vérifier si ça fonctionne mieux:
$ sudo modprobe -r ath10k_pci && sudo modprobe ath10k_pci
$ sudo dmesg | grep ath
[ 8443.808736] ath10k_pci 0000:04:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0
[ 8444.124597] ath10k_pci 0000:04:00.0: qca9377 hw1.1 target 0x05020001 chip_id 0x003821ff sub 17aa:0901
[ 8444.124618] ath10k_pci 0000:04:00.0: kconfig debug 0 debugfs 1 tracing 1 dfs 0 testmode 0
[ 8444.126756] ath10k_pci 0000:04:00.0: firmware ver WLAN.TF.2.1-00021-QCARMSWP-1 api 6 features wowlan,ignore-otp crc32 42e41877
[ 8444.195138] ath10k_pci 0000:04:00.0: board_file api 2 bmi_id N/A crc32 8aedfa4a
[ 8444.290580] ath10k_pci 0000:04:00.0: htt-ver 3.56 wmi-op 4 htt-op 3 cal otp max-sta 32 raw 0 hwcrypto 1
[ 8444.380345] ath: EEPROM regdomain: 0x6c
[ 8444.380349] ath: EEPROM indicates we should expect a direct regpair map
[ 8444.380351] ath: Country alpha2 being used: 00
[ 8444.380352] ath: Regpair used: 0x6c
[ 8444.384756] ath10k_pci 0000:04:00.0 wlp4s0: renamed from wlan0
Visiblement il a cette fois créé l’interface et il l’a même renommée en fonction de son emplacement sur le bus PCI.
Vérifions si l’interface est bien montée:
$ ip a show wlp4s0
17: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether f8:28:19:c3:23:0d brd ff:ff:ff:ff:ff:ff
inet 192.168.0.133/24 brd 192.168.0.255 scope global dynamic noprefixroute wlp4s0
valid_lft 86191sec preferred_lft 86191sec
inet6 fe80::4e44:bbdc:e83:9b52/64 scope link noprefixroute
valid_lft forever preferred_lft forever
Nous pouvons écrire un petit script shell à conserver précieusement dans un coin au cas où l’erreur se reproduise un jouor où on est sur le terrain:
sudo modprobe -r ath10k_pci && sudo modprobe ath10k_pci \
&& echo 'Rechargement driver ath10k_pci CORRECT' \
|| echo 'Rechargement driver ath10k_pci ERREUR'
 
 
 

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.