0. Introduction et contexte
Cette réponse est basée sur une recherche approfondie effectuée par divers utilisateurs d'Ubuntu qui ont travaillé ensemble sur presque tous les problèmes liés à Broadcom. Remerciements particuliers à chili555 qui ont aidé dans les forums Ubuntu et sur ce site avec de nombreuses questions liées aux périphériques sans fil et à d'autres qui ont contribué par e-mail, chats, IRC et plus dans le test de divers pilotes avec plusieurs des cartes sans fil Broadcom les plus populaires (Merci énorme à Chili555 vraiment. Ce gars connaît son travail).
Au total, nous avons voulu offrir une réponse qui soit facile à suivre et qui couvre la plupart des cartes / pilotes Broadcom. Après avoir suivi ce guide, vous pourrez BESOIN DE pour tester votre connexion sans fil pendant au moins 2 heures (je recommande en fait 8 heures) avec un autre appareil en mode Ad-Hoc, en mode Infrastructure ou les deux. Les problèmes courants qui seront résolus (en dehors des pilotes qui ne s'installent pas) sont les suivants :
- Les connexions expirent après plusieurs minutes ou heures
- Arrête de chercher d'autres appareils (ne voit pas d'autres appareils)
- Continue à demander le mot de passe même dans les cas où l'AP n'en a pas.
- Stoppe tout trafic de réception/transmission (Nécessite un redémarrage pour réparer temporairement)
- Crash du système avec des erreurs dmesg dans le journal (Lien 1 ci-dessous)
- Le système se fige complètement (vous ne pouvez qu'appuyer sur le bouton Reboot/Power) (Lien 1 ci-dessous)
- Crée d'énormes rapports de logs en essayant de configurer ou de se connecter correctement.
- Échec lors de l'installation via Pilotes supplémentaires / Matériel supplémentaire (Lien 3 ci-dessous)
- Se connecte et se déconnecte en continu toutes les X secondes.
- Semble connecté sur Network Manager mais ne reçoit pas l'Internet
- Tente de se connecter plusieurs fois sans terminer correctement la connexion
- La connexion prend trop de temps
- Après la mise à niveau d'une version précédente (par exemple, 12.04 à 12.10), le système ne fonctionne plus.
- La carte sans fil ne s'allume pas, ne s'active pas ou ne se désactive pas (Lien 2 ci-dessous)
- Carte sans fil bloquée par le matériel
- D'autres problèmes trouvés dans Launchpad, Ubuntu Forum et Askubuntu
Lien 1 - https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1060268
Lien 2 - https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/732677
Lien 3 - Donne une erreur similaire à "Sorry, installation of this driver failed".
Dans cet esprit, voici ce que nous avons actuellement, qui est simplifié en 3 étapes seulement :
1. Savoir quelle carte sans fil Broadcom vous avez
Il existe des dizaines de cartes sans fil Broadcom et d'autres semblent apparaître chaque jour. La clé pour trouver le pilote correct pour toute carte réseau est ce que l'on appelle le "driver". ID PCI (PCI.ID). Pour savoir quel PCI.ID vous avez, nous procédons à l'ouverture du terminal en appuyant sur CTRL + ALT + T (Cela devrait ouvrir une fenêtre avec un fond vide) et dans ce terminal nous exécutons la commande suivante :
lspci -nn -d 14e4:
Vous obtiendrez quelque chose comme ce qui suit si vous avez un adaptateur sans fil Broadcom (l'ID 14e4 utilisé dans l'exemple ci-dessus est dans la plupart des cas une carte sans fil Broadcom) :
Broadcom Corporation BCM4306 802.11bgn Wireless Network Adapter [14e4:4320] (rev 03)
Le PCI.ID dans cet exemple est 14e4:4320 comme indiqué entre les crochets [...]. Dans certains cas, vous aurez également besoin de la version de révision (si elle apparaît) pour certains cas particuliers. Dans ce cas, la version de révision est rev 03 comme indiqué à l'intérieur des parenthèses (...) à la fin. Donc ce dont vous aurez besoin après cette recherche est :
[14e4:4320] (rev 03)
Avec ces nouvelles informations, vous pouvez regarder dans le tableau ci-dessous et sélectionner la méthode appropriée pour installer votre pilote. Par exemple, dans ce cas, étant donné que vous avez le 14e4:4320 rev 03 Si nous descendons dans la liste jusqu'à celui qui affiche exactement le même PCI.ID, vous verrez que dans les colonnes pour Ubuntu 18.04 ou 20.04, il affiche le firmware-b43-installer
conducteur du paquet. Cela signifie que vous n'aurez à installer que ce paquet particulier puisqu'il apparaît dans toutes les colonnes de la version Ubuntu.
NOTE - Avant de poursuivre, si vous avez déjà installé des pilotes, si vous avez mis en liste noire ou décommenté des fichiers de pilotes ou des fichiers de configuration ou si vous avez apporté des modifications au système pour faire fonctionner les pilotes lors de tentatives précédentes, vous devrez les annuler pour pouvoir suivre ce guide. Nous supposons que vous effectuez cette opération à partir de zéro et que vous n'avez pas modifié les fichiers de configuration, les modules ou les pilotes du système de quelque manière que ce soit (à l'exception de la mise à jour du système). Cela inclut toute installation utilisant apt-get, aptitude, synaptic, dpkg, software center ou la compilation et l'installation manuelle des paquets. Le système doit repartir de zéro pour que cela fonctionne et pour éviter tout conflit qui pourrait apparaître si des travaux antérieurs ont été effectués.
Par exemple, si vous avez précédemment installé le bcmwl-kernel-source
vous devrez le supprimer en utilisant la méthode de purge :
sudo apt-get purge bcmwl-kernel-source
2. Préparation du système
Si vous venez d'installer Ubuntu, vous devrez construire un index des paquets disponibles avant que nous puissions installer votre pilote si vous ne l'avez pas déjà fait :
sudo apt update
J'irais même jusqu'à mettre à jour la liste des PCI.ID d'Ubuntu :
sudo update-pciids
Juste au cas où l'ID d'un nouveau dispositif Broadcom particulier que vous utilisez vient d'apparaître.
Maintenant, en utilisant le PCI.ID que vous avez trouvé dans les étapes ci-dessus, nous cherchons dans la liste ci-dessous le PCI.ID correspondant et la méthode pour installer le pilote qui lui est associé de manière simple et correcte. Le terminal sera utilisé pour éviter tout problème lié à l'interface graphique. Ceci s'applique à tous les cas, sauf ceux mentionnés. La procédure d'installation se fait uniquement via le terminal et également en étant connecté à l'internet avec une connexion ethernet câblée temporaire ou un modem USB ou tout autre moyen possible qui peut donner à votre PC, pour le moment, un accès à l'internet. Après avoir trouvé dans la liste ci-dessous le paquet correct, nous procédons à l'installation.
3. Installation du paquet (en ligne)
En supposant que vous avez utilisé le PCI.ID 14e4:4320 rev 03 tel qu'il a été trouvé dans votre recherche ci-dessus, et a ensuite regardé le tableau ci-dessous et a trouvé que le paquet correct pour installer est le firmware-b43-installer
(Spécifique à Broadcom) et le linux-firmware
(transporte les pilotes liés à Broadcom ainsi que d'autres types de pilotes), nous procédons ensuite à l'installation simple de ce paquet dans le terminal :
sudo apt install firmware-b43-installer
sudo apt install linux-firmware
et ensuite redémarrer
sudo reboot
Le format à installer est assez simple, c'est juste :
sudo apt install <PACKAGE_NAME>
Dans l'exemple ci-dessus, le PACKAGE_NAME es firmware-b43-installer
.
TABLEAU DES FILS BROADCOM (Mis à jour le 29 octobre 2020)
PCI.ID 18.04 LTS 20.04+
------------------------------------------------------------------------------------
14e4:0576 Special Case #1 UNKNOWN
14e4:165f UNKNOWN UNKNOWN
14e4:1713 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4301 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4306 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4306 rev 02 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4306 rev 03 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4307 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4311 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4311 rev 01 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4312 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4313 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4315 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4315 rev 01 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4318 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4318 rev 02 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4319 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4320 rev 02 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4320 rev 03 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4321 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4324 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4325 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4328 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4328 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:4329 bcmwl-kernel-source bcmwl-kernel-source
14e4:432a bcmwl-kernel-source bcmwl-kernel-source
14e4:432b bcmwl-kernel-source bcmwl-kernel-source
14e4:432c bcmwl-kernel-source bcmwl-kernel-source
14e4:432d bcmwl-kernel-source bcmwl-kernel-source
14e4:4331 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4335 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4350 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4353 Special Case #1 UNKNOWN
14e4:4353 rev 01 Special Case #1 UNKNOWN
14e4:4357 Special Case #1 UNKNOWN
14e4:4358 bcmwl-kernel-source bcmwl-kernel-source
14e4:4359 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4360 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4365 firmware-b43-installer firmware-b43-installer / linux-firmware
14e4:4365 rev 01 bcmwl-kernel-source bcmwl-kernel-source
14e4:43a0 bcmwl-kernel-source bcmwl-kernel-source
14e4:43a3 UNKNOWN firmware-b43-installer / linux-firmware
14e4:43ae rev 02 UNKNOWN UNKNOWN
14e4:43ba rev 01 UNKNOWN firmware-b43-installer / linux-firmware
14e4:43b1 bcmwl-kernel-source bcmwl-kernel-source
14e4:43b1 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:43c3 rev 04 UNKNOWN firmware-b43-installer / linux-firmware / Special Case #2
14e4:4727 bcmwl-kernel-source bcmwl-kernel-source
14e4:4727 rev 01 Special Case #1 Special Case #1
14e4:a962 firmware-b43-installer firmware-b43-installer / linux-firmware
------------------------------------------------------------------------------------
Dans tous les cas, installez toujours le linux-firmware
paquet. Il sera toujours à jour avec les derniers pilotes Broadcom ainsi que d'autres fichiers binaires qui pourraient être nécessaires en fonction du PCIID du pilote.
Affaire spéciale n° 1 - Usages bcma
y brcmsmac
combinaison de conducteurs. Le micrologiciel requis est installé par défaut dans l'emballage. linux-firmware
.
Cas spécial n°2 - Pour le ASUS PCE-AC88 AC3100 les étapes sont :
-
Télécharger ce fichier et après l'avoir extrait, mettez-le dans /lib/firmware/brcm
sudo cp brcmfmac4366c-pcie.bin /lib/firmware/brcm/brcmfmac4366c-pcie.bin
- Entonces
sudo nano /etc/rc.local
ajouter modprobe brcmfmac et sauver
sudo reboot
Dans un matériel comme le Lenovo S10-2, si votre carte sans fil reste bloquée en essayant de se connecter à un SSID (elle n'arrête pas d'essayer de se connecter), l'alternative pour la faire fonctionner serait d'installer le programme d'installation de la carte sans fil. bcmwl-kernel-source
(supprimez tous les autres paquets installés qui lui sont liés). Lisez la section Débogage ci-dessous pour plus d'informations concernant ce dispositif sans fil.
NOTE IMPORTANTE - Après septembre 2014, si vous suivez cette réponse et que vous rencontrez toujours des problèmes pour installer le bon pilote, veuillez essayer l'adresse suivante firmware-b43-installer
et le linux-firmware
et nous en informer via les commentaires. Il y a eu quelques changements et certains pilotes ne fonctionneront qu'avec ce paquet. N'oubliez pas d'avoir un système propre avant de l'installer :
sudo apt install firmware-b43-installer
sudo apt install linux-firmware
Dans certains cas particuliers, après avoir installé le firmware-b43-installer
vous devez enlever le module b43, le réactiver et même procéder au déblocage avec rfkill :
sudo modprobe -r b43
sudo modprobe b43
sudo rfkill unblock all
Si vous avez une carte Broadcom qui a un pci.id différent, veuillez poser une nouvelle question. Une fois résolue, la solution sera ajoutée à ce howto.
4. Installation du paquet (hors ligne)
4.1 Installation firmware-b43-installer
Pour installer firmware-b43-installer
voir hors ligne cette réponse .
4.2 Installation bcmwl-kernel-source
Pour les cas où vous devez installer bcmwl-kernel-source
mais vous êtes hors ligne, aquí est une excellente réponse à ce sujet. Mais en gros, suivez ces étapes :
- Recherchez le paquet dans le Dépôts de paquets Ubuntu
- Assurez-vous de sélectionner la bonne architecture (32-Bit, 64-Bit, etc..)
- Téléchargez le paquet et les paquets de dépendance qui lui sont liés dans le même dossier.
- Lorsque vous avez tous les paquets nécessaires (et leurs dépendances), allez dans le dossier qui contient tous les paquets et exécutez
sudo dpkg -i *.deb
. Cela installera tous les paquets dans ce dossier. S'il y a des erreurs, lisez-les et suivez les étapes qu'elles mentionnent.
Pour donner un exemple, après avoir consulté le point 1 mentionné plus haut, si vous aviez l'option Broadcom 14e4:43a0
vous recherchez le bcmwl-kernel-source
et après avoir sélectionné la version correspondante d'Ubuntu (dans mon cas 16.04 ou Xenial), j'arriverais sur la page suivante :
http://packages.ubuntu.com/xenial/bcmwl-kernel-source
Sur cette page, je sélectionnerais l'architecture correspondante (32 ou 64) mais je devrais également télécharger les 3 dépendances de paquetage mentionnées sur cette page comme on le voit dans l'image suivante :
Après avoir téléchargé tous les paquets et les dépendances, vous pouvez procéder à la copie de tous les paquets dans un seul dossier et exécuter la commande dpkg
comme indiqué à l'étape 4 ci-dessus.
NOTE
Sur certains ordinateurs, avant d'exécuter les commandes, vous devrez désactiver les options de démarrage sécurisé dans votre BIOS. Cela s'applique aux cas, par exemple, où le bcmwl-kernel-source est déjà installé mais où le pilote ne fonctionne pas encore. Vous pouvez effectuer une réinstallation de la sorte, ou désactiver Secure Boot en allant dans votre BIOS Setup :
sudo apt-get install --reinstall bcmwl-kernel-source
DEBUGGING
Les informations suivantes sont des documents supplémentaires à lire pour résoudre divers problèmes liés à la gestion des réseaux sans fil et aux conflits avec d'autres périphériques réseau. Sachez que dans certains cas, vous devez disposer d'une version actualisée du noyau, car chaque nouvelle version du noyau introduit soit de nouveaux pilotes réseau, soit des améliorations des pilotes existants, soit la résolution de bogues les concernant.
Avant de lire les points mentionnés ci-dessous, assurez-vous d'avoir activé tous les dépôts sur votre système Ubuntu. Pour vérifier, exécutez dans le terminal software-properties-gtk
et assurez-vous que toutes les options de l'onglet Logiciel Ubuntu sont activées.
-
Vérifiez que la carte sans fil n'est pas désactivée. Par exemple, sur certains ordinateurs portables, vous devez appuyer sur Fn + F2
-
Pour configurer vos appareils sans fil par le biais du terminal, je recommande Comment se connecter et se déconnecter manuellement à un réseau dans le terminal ?
-
Si votre connexion tombe de temps en temps, certains utilisateurs ont suggéré de régler IPv6 sur Ignorer . Il suffit d'aller dans le Gestionnaire de réseau (l'icône réseau sur le panneau supérieur). Cliquez dessus puis sélectionnez Modifier les paramètres . Ensuite, allez à la connexion sans fil que vous utilisez, sélectionnez-la. Maintenant, allez dans le dernier onglet qui mentionne Paramètres IPv6 . Dans le champ Méthode, sélectionnez Ignorer .
-
Si votre ordinateur portable ne détecte pas votre carte sans fil, certains utilisateurs ont mentionné que l'utilisation de la fonction rfkill unblock all
résoudra le problème. D'autres ont simplement éteint puis rallumé l'interrupteur WiFi de leur ordinateur portable (interrupteur physique disponible sur cet ordinateur). Pour plus d'informations sur rfkill
veuillez lire rf kill unblock all NE FONCTIONNE PAS !
-
Si vous obtenez b43-phy0 ERREUR : Erreur fatale de DMA / b43-phy0 warning : PIO forcé faites ce qui suit :
sudo rmmod b43
sudo modprobe b43 pio=0 qos=0
Si cela fonctionne, ajoutez-le à vos fichiers RC pour qu'il soit exécuté à chaque démarrage. Vous pouvez changer PIO à 1 si vous en avez besoin.
-
Si vous avez un Clé requise non disponible lors de l'installation d'un module DKMS (comme Nvidia, Broadcom ou autres), vous pouvez vous rendre à l'adresse suivante Réponse du pilote ici
-
Si votre carte sans fil voit ou ne voit pas le routeur et reste bloquée dans une boucle sans fin "Trying to connect (Try 1/3)", la solution pourrait être une configuration correcte de votre routeur ou du dispositif SSID sans fil.
Pour toutes les cartes sans fil en général, il est très important de prendre en considération les périphériques réseau que vous utilisez (routeurs, commutateurs, canaux et bandes sans fil, etc.). Avec ces informations, vous serez en mesure de mieux évaluer quelle pourrait être la source du problème lorsque vous arrivez à une impasse. Un exemple serait le Lenovo S10-2 qui utilise la technologie 14e4:4315 rev 01 PCIID. Même après avoir installé le pilote correct, l'utilisateur se retrouvait dans une boucle de "tentative de connexion". Il voit le SSID sans fil, mais lorsqu'il essaie de s'y connecter, il entre dans une boucle de reconnexion.
La solution était que ce dispositif sans fil particulier ne prenait pas en charge les canaux de 40 Mhz ni le 802.11N. Le routeur dans ce cas diffusait en fait avec un 40 Mhz forcé et sur WiFi-N uniquement. Lorsque le routeur était réglé sur le mode Auto et le canal 20/40 Mhz, la carte sans fil fonctionnait correctement. C'est un scénario qui se répète dans d'autres cas, donc une évaluation correcte de l'équipement réseau serait d'une grande aide.
Pour les cas où vous êtes répétés :
ERROR @wl_cfg80211_get_station : Mauvaise adresse Mac...
lors de l'exécution d'un dmesg
et que votre connexion sans fil chute souvent (plusieurs fois par heure ou par jour), il se peut que vous vous trouviez à l'intérieur d'un signal sans fil utilisé comme pont sans fil (2 routeurs partageant le même SSID et la même connexion). Cela peut se produire avec les routeurs modernes qui ont la capacité d'étendre la connexion sans fil en offrant le même SSID. Votre connexion sans fil peut tomber parce que vous vous trouvez entre les deux routeurs et que la force du signal entre les deux est presque la même.
Si votre connexion chute très souvent, cela signifie que vous vous trouvez presque au milieu des deux routeurs. Pour réduire ou éliminer le taux d'interruption de votre dispositif sans fil, essayez de vous placer de telle sorte que votre carte sans fil ne puisse voir qu'un seul routeur ou qu'au moins un des routeurs ait une puissance de signal plus élevée que l'autre.
Il existe également des techniques permettant de forcer le périphérique sans fil à se connecter uniquement à un routeur spécifique en définissant le BSSID sur l'adresse MAC du routeur auquel vous souhaitez vous connecter. Cela obligera votre périphérique sans fil à se connecter UNIQUEMENT à ce routeur.
Problèmes de démarrage sécurisé
Dans certains scénarios spécifiques, l'installation des pilotes, que ce soit en mode hors ligne via divers paquets DEB ou via apt-get avec un accès à Internet, ne fonctionnera pas si Secure Boot n'est pas désactivé.
En effet, l'accès nécessaire est refusé par Secure Boot, de sorte que les pilotes semblent avoir été installés correctement alors qu'ils ne l'ont pas été. Ainsi, dans des cas TRÈS spécifiques, vous devrez désactiver temporairement Secure Boot pour que les pilotes fonctionnent.
Mise à jour du firmware Linux
Dans d'autres cas, la recherche et l'installation du Dernier firmware Linux résoudrait le problème. Il s'agit soit de résoudre des problèmes mineurs survenus avec une carte qui fonctionne, soit de faire fonctionner la carte pour la première fois.