Il n'y a pas si longtemps, j'ai pris AlmaLinux pour un deuxième tour, cette fois pour un examen plus détaillé de la distribution sur ma toute nouvelle machine IdeaPad 3. Les choses se sont relativement bien passées, à l'exception d'un gros problème flagrant. Je n'avais pas de connectivité sans fil, juste après l'installation. C'est majeur, car vous ne pouvez pas vraiment utiliser un système moderne sans (un peu) réseau, surtout si tôt.
Bientôt, j'ai passé quelques heures à essayer de résoudre ce problème. Le problème s'est avéré plutôt bizarre. Soi-disant, j'avais tous les bons pilotes et ainsi de suite, mais le système ne pouvait pas vraiment utiliser le matériel. Une combinaison de deux facteurs a contribué au problème, que nous allons résoudre dans ce didacticiel. Suivez-moi.
Problème plus en détail
Le problème qui se produit est donc le suivant. L'applet système indique Sans fil non connecté. Lorsque vous essayez de vous connecter, il vous demande d'activer le Wi-Fi. Lorsque vous entrez dans le menu Système, il vous indique qu'aucun adaptateur n'a été trouvé. Cependant, sur la ligne de commande, vous pouvez voir les modules Atheros chargés en mémoire (ath10k). Cela signifie qu'il y a quelque chose qui ne va pas avec l'initiation de la carte sans fil, même si, soi-disant, la fonctionnalité est là.
lsmod |grep ath
ath10k_pci 49152 0
ath10k_core 471040 1 ath10k_pci
ath 36864 1 ath10k_core
mac80211 929792 1 ath10k_core
cfg80211 835584 3 ath,mac8021>
Solution 1 :liste noire du module de commande radio spécifique à un ordinateur portable
La manifestation du problème indique que quelque chose bloque et/ou empêche le périphérique sans fil de démarrer correctement. Si vous allez sur le Web, vous trouverez un million de raisons et de rapports de bugs spécifiques aux cartes Atheros, mais pas seulement. Cependant, le problème se résume toujours à deux possibilités :les antennes radio étant désactivées sur votre ordinateur portable (via un commutateur matériel ou logiciel) ou un micrologiciel incompatible.
Sur mon IdeaPad 3 (et de nombreux autres ordinateurs portables Lenovo, en particulier la famille IdeaPad), sous Linux, le contrôle de la radio, des raccourcis clavier, des ventilateurs et du rétroéclairage est régi par le module du noyau ideapad. Il est référencé comme ideapad ou ideapad-laptop ou similaire. Il est possible que ce module soit configuré d'une manière qui entre en conflit avec la fonctionnalité de l'appareil sans fil, c'est-à-dire que l'antenne sans fil est désactivée par défaut.
La première chose à essayer est d'exécuter la commande rfkill pour essayer de débloquer ceci :
sudo rkfill débloque le wifi
Si cela ne fonctionne pas, vous pouvez mettre le module ideapad sur liste noire - cela empêchera son chargement au démarrage du système et, espérons-le, permettra l'initialisation correcte du périphérique sans fil. Cela se fait en créant un fichier texte sous :
/etc/modprobe.conf/
Nommez le fichier quelque chose comme :
ideapad.conf
Dans ce fichier, ajoutez la ligne suivante :
bloc-notes liste noire
Si vous avez d'autres modèles d'ordinateurs portables, veuillez vérifier les spécifications de votre fournisseur pour connaître le nom du module.
Redémarrez votre ordinateur et, idéalement, votre problème sera résolu.
Solution 2 :Firmware différent pour votre carte sans fil
Il est possible que le micrologiciel que vous obtenez avec l'image de distribution ne soit pas assez moderne pour votre carte sans fil particulière. Dans ce cas, vous pouvez remplacer manuellement les images du micrologiciel et recharger les modules du noyau, ce qui devrait vous donner les bonnes fonctionnalités.
Le firmware des cartes Atheros est disponible sur la page GitHub de Kalle Valo. À ma connaissance, Kalle est un ingénieur Atheros et il gère le référentiel avec le micrologiciel officiel pour une variété d'appareils. Tout d'abord, vous devez vérifier quel appareil vous avez. Vous pouvez le faire avec la commande lscpi -v :
...
02:00.0 Contrôleur réseau :adaptateur réseau sans fil Qualcomm Atheros QCA6174 802.11ac (rév. 32)
Sous-système :appareil Lenovo 0827
Indicateurs :maître de bus, développement rapide, latence 0, IRQ 64, IOMMU groupe 8
Mémoire à d0200000 (64 bits, non prérécupérable) [taille=2M]
Capacités :[40] Gestion de l'alimentation version 3
Capacités :[50] MSI :Enable+ Count=1/8 Maskable+ 64bit-
Capacités :[70] Express Endpoint, MSI 00
Capacités :[100] Rapport d'erreur avancé
Capacités :[148] Canal virtuel
Capacités :[168] Numéro de série de l'appareil 00-00-00-00-00-00-00-00
Capacités :[178] Rapport de tolérance de latence
Capacités :[180] Sous-états PM L1
Pilote du noyau utilisé :ath10k_pci
Modules du noyau :ath10k_pci
...
Sur mon ordinateur portable, c'est QCA6174. Dans le référentiel GitHub, vous pouvez ensuite récupérer les fichiers nécessaires. Il y a cinq fichiers au total, dont :
carte.bin
carte-2.bin
firmware-4.bin
firmware-6.bin
firmware-sdio-6.bin
Le référentiel dispose de plusieurs révisions de ces images, vous devrez donc peut-être effectuer plusieurs téléchargements pour obtenir la bonne image de micrologiciel pour votre carte. Le moyen le plus simple consiste à récupérer un zip de l'intégralité du dépôt ou à le cloner, puis à choisir sélectivement les fichiers nécessaires. Bien sûr, vous devez le faire sur un système disposant d'une connectivité réseau, puis copier les fichiers sur votre ordinateur portable concerné.
Les fichiers auront des noms différents - vous devrez les renommer au format ci-dessus, par exemple :
mv firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 firmware-4.bin
Le firmware est stocké sous :
/lib/firmware/ath10k/QCA6174/hw3.0/
Copiez les fichiers à l'intérieur de ce répertoire dans un endroit sûr. Ce sera la sauvegarde de votre firmware de distribution d'origine, au cas où vous auriez besoin de le restaurer. Ensuite, remplacez les fichiers existants par les nouveaux téléchargements du référentiel GitHub.
Vous pouvez remplacer les fichiers un par un ou en masse. Pour le dépannage, il est préférable de procéder un par un et de voir si une révision particulière vous aide. Le moyen le plus simple d'y parvenir, sans redémarrage, consiste à décharger d'abord les modules ath10k existants de la mémoire, à copier les fichiers, puis à recharger les modules.
sudo modprobe -r ath10k_pci
sudo modprobe -r ath10k_core
sudo modprobe -r ath
sudo cp "fichier du micrologiciel au bon format de nom" /lib/firmware/ath10k/QCA6174/hw3.0 /
sudo modprobe ath10k_pci
sudo modprobe ath10k_core
sudo modprobe ath
Si vous chargez la mauvaise image pour votre appareil, vous verrez l'erreur "invalid board magic" dans le journal du noyau. Vous pouvez vérifier cela avec la commande dmesg :
...
[ 269.339694] ath10k_pci 0000:02:00.0 :firmware ver WLAN.RM.4.4.1-00157-QCARMSWPZ-1 api 6 fonctionnalités wowlan,ignore-otp,mfp crc32 90eebefb
[ 269.404243 ] ath10k_pci 0000:02:00.0 :magique de carte non valide détectée
[ 269.411730] ath10k_pci 0000:02:00.0 :fichier_carte api 1 bmi_id N/A crc32 ed5f849a
[ 272.543623] ath10k_pci 0000:02:02:htt la demande de version a expiré
[ 272.543629] ath10k_pci 0000:02:00.0 :échec de la configuration de htt :-110
[ 272.601433] ath10k_pci 0000:02:00.0 :impossible d'initialiser le noyau (-110)
[ 272.601505] ath10k_pci 0000:02:00.0 :impossible de sonder fw (-110)
Si la liste noire du module ne fonctionne pas, cela devrait le faire.
Conclusion
Je suis toujours consterné par les problèmes matériels de Linux, principalement parce qu'ils renforcent ma perception de la fragilité de l'ensemble de l'écosystème, et aussi parce qu'ils me rappellent (ma) dépendance douloureuse aux systèmes propriétaires, à la fois en conséquence de cela, et aussi en tant que la réalité simple et cruelle de l'espace de bureau. Mais ensuite, trouver des solutions à des problèmes importants et complexes est toujours amusant.
Je n'ai pas rencontré ce problème avec Ubuntu, Manjaro ou Fedora, d'ailleurs, sur l'IdeaPad 3. Je suppose que le problème est unique à la récolte de serveurs, principalement parce qu'ils ne sont pas vraiment destinés à être utilisés comme systèmes de bureau. Cependant, si vous avez envie d'exécuter l'une des distributions de la communauté RHEL8 sur votre machine et que vous possédez une carte Atheros Wireless, toutes discussions sur l'idéologie et les systèmes propriétaires mises à part, ce guide devrait vous aider à démarrer. Et nous avons terminé.