Contenu | Rechercher | Menus

Puces Wi-fi Broadcom® BCM43...

(Cette page traite des matériels avec puces wi-fi Broadcom® sous Ubuntu.)

Broadcom® développe des puces pour les communications filaires et sans fils (wi-fi, bluetooth,…). Présentes dans certains de nos ordinateurs, elles le sont aussi dans d'autres appareils de communication (Certaines box de fournisseurs d'accès Internet par exemple).

Certaines puces wi-fi Broadcom® nécessitent un micrologiciel (appelé aussi firmware) devant être chargé sur la puce wi-fi pour qu'elle puisse fonctionner. Propriétaire et protégé par Broadcom®, ce micrologiciel ne peut pas être disponible depuis le média d'installation ou les dépôts Ubuntu.
Par contre, Ubuntu fournit dans ces dépôts un installateur qui téléchargera le micrologiciel à partir d'un point de distribution légal et l'installera avec le pilote sur votre système. Votre connexion internet wi-fi n'étant pas encore opérationnelle, vous aurez donc besoin d'une autre connexion active pour l'installer (par câble Ethernet, par exemple).
(Si vous n'avez aucune possibilité de vous connecter, voir comment installer le micrologiciel sans internet au chapitre problèmes connus.)

Pour les autres puces ne nécessitant pas de frimware (les plus récentes), Broadcom® fournit un pilote propriétaire nommé "Broadcom 802.11 Linux STA driver" pour GNU/Linux. Ce pilote est disponible depuis les dépôts et le support d'installation. Au cours de l'installation d'Ubuntu, l'installateur détectera votre puce wifi Broadcom® et si nécessaire, installera ce pilote.

La suite ne vous concerne donc que si la détection automatique à l'installation a échoué ou si votre puce Broadcom® est mal prise en charge voire pas du tout. (Les cas par exemple pour une puce nécessitant un micrologiciel propriétaire protégé par Broadcom® ou encore une puce trop récente ayant besoin d'une version supérieure du pilote "Broadcom 802.11 Linux STA driver" pour être correctement fonctionnelle).

Pré-requis

Identifier correctement sa puce

Avant de commencer, il est nécessaire d'identifier correctement sa puce pour savoir si elle nécessite un micrologiciel et lequel. Dans un terminal, saisir la commande suivante:

lspci -vvnn | grep 14e4

Le terminal vous répondra quelque chose comme ça :

02:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)

BCM43142 est le nom de la puce, et [14e4:4365] son ID-PCI. Vous aurez besoin de ces deux identifiants pour bien cibler le bon pilote.

Quel pilote utiliser ?

Puce Pilote (paquet à installer) Commentaires
BCM4301 firmware-b43legacy-installer
BCM4306 firmware-b43legacy-installer
BCM4306/2 firmware-b43legacy-installer
BCM4306/3 firmware-b43-installer
BCM4311 (sauf ID-PCI 14e4:4313) firmware-b43-installer La puce BCM4311 avec l' ID-PCI 14e4:4313 est normalement prise en charge par le pilote "Broadcom 802.11 Linux STA driver".
BCM4312 (avec basse-consommation c'est à dire LP-PHY) firmware-b43-installer :!: Precise 12.04, utiliser l'installateur firmware-b43-lpphy-installer.
BCM4318 firmware-b43-installer
BCM4321 firmware-b43-installer Prise en charge partielle.
BCM4322 (Uniquement ID-PCI 14e4:432b) firmware-b43-installer La puce BCM4322 avec d'autres ID-PCI est normalement prise en charge par le pilote "Broadcom 802.11 Linux STA driver".
Autres puces ne nécessitant pas de firmware Broadcom 802.11 Linux STA driver Exemple d'une puce récente nécessitant une version supérieure du pilote "Broadcom 802.11 Linux STA driver" disponible dans les dépôts. Plusieurs solutions sont possibles:
- Si elle est disponible, utiliser la version à jour depuis le dépôt proposed ( :-) Avantage d'un dépôt, pas de recompilation à chaque changement de noyau).
ou:
- Faire la mise à jour de ce pilote via le site officiel.

Sources:

Autres puces

Pour résoudre les problèmes des autres puces wi-fi Broadcom®, (Cas par exemple d'une puce très récente qui n'est pas encore prise en compte), une solution consiste à mettre à jour pilote propriétaire "Broadcom 802.11 Linux STA driver" des dépôts Ubuntu soit:

Via le dépôt Proposed

Pour Trusty 14.04 et Precise 12.04, la version disponible du pilote "Broadcom 802.11 Linux STA driver" ne couvre pas encore les récentes puces wi-fi Broadcom®. La solution consiste à utiliser une version plus récente du pilote à disposition dans les dépôts Proposed (appelés aussi "préversion").

Les dépôts Proposed ne sont pas activés par défaut. Les paquets disponibles dans ceux-ci sont normalement proposés à des fins de test, ils peuvent donc être à l'origine d'une instabilité de votre système. Une fois le paquet installé, pensez à désactiver l'accès à ce dépôt au risque d'avoir lors de la prochaine mise à jour, de nombreux paquets en versions supérieures et mal supportées.
Dans le cas où par erreur vous auriez provoqué une mise à jour d'autres paquets présents dans les dépôts "Proposed", voir ici pour revenir à une situation stable.

Pour plus de sécurité nous utiliserons le gestionnaire de paquet Synaptic mais vous pouvez aussi bien utiliser le gestionnaire de mises à jour ou la Logithèque.

  1. Installer le paquet synaptic et lancer l'application;
  2. Activer les dépôts Proposed: (Menu "Configuration" → "dépôts" → onglet "Mises à jour", cocher la case Mises à jour en préversion (*-proposed)) Logiciels & mises à jour
  3. Recharger;
  4. Rechercher la paquet bcmwl-kernel-source, un clic dessus et dans le menu choisir "Sélectionner pour mise à jour"
  5. Appliquer;
  6. Désactiver le dépôt Proposed: (Menu "Configuration" → "dépôts" → onglet "Mises à jour", cocher la case Mises à jour en préversion (*-proposed))
  7. Recharger et fermer Synaptic;
  8. Redémarrer votre ordinateur pour prendre en compte la nouvelle version du pilote.

Si vous n'obtenez toujours pas satisfaction, vous pouvez utiliser la toute dernière version du pilote via le site officiel.

Via le site officiel

La procédure pour le mettre à jour se déroule en 2 temps: La construction et l'installation.
(Source: Fichier d'installation README.txt (en) du site officiel)

Mais avant de commencer, nous avons besoin des outils de compilation du noyau. Normalement, ces outils sont installés par défaut dans Ubuntu. Si ce n'était pas le cas, installer les paquets build-essential et linux-headers-generic

L'installation de paquets hors des dépôts officiels peut présenter un risque d'instabilité de votre système

  1. À l'aide du gestionnaire de pilotes additionnel, vérifier l'installation du pilote "Broadcom 802.11 Linux STA driver". (Si ce n'est pas le cas, voir ce chapitre).
  2. Récupérer et déposer dans votre dossier personnel l'archive de la toute dernière version du pilote depuis le site officiel, ici)
  3. Extraire l'archive récupéré.

(La suite se fera depuis un terminal en lignes de commandes)

Construction du pilote

  1. Se rendre dans le dossier extrait
    cd hybrid*
  2. Construire le pilote pour être chargé comme un module du noyau Linux (LKM)
    sudo make

    La construction terminée produira dans le dossier un fichier wl.ko utile pour la mise à jour du pilote.

  3. Ce pilote utilise API cfg80211. Il faut pour cela exécuter la commande
    sudo make API=CFG80211

Ne quittez pas le terminal et restez dans le dossier extrait car ce n'est pas fini, nous allons passer à l'installation du pilote.

Installation

Sous Ubuntu, les modules des pilotes se trouvent dans le dossier /lib/modules/<nom_du_noyau>/updates/dkms/ Remplacer <nom_du_noyau> par le nom complet du noyau en cours d'utilisation. Pour connaître le <nom_du_noyau> en cours, saisir la commande

uname -r

  1. Désactiver le pilote en cours d'utilisation
    sudo rmmod wl
  2. Sauvegarder l'ancienne version du fichier wl.ko en le renommant wl.ko.orig (on ne sais jamais !)
    sudo mv /lib/modules/<nom_du_noyau>/updates/dkms/wl.ko /lib/modules/<nom_du_noyau>/updates/dkms/wl.ko.orig
  3. Copier le fichier wl.ko construit précédemment dans le dossier des modules des pilotes
    sudo cp wl.ko /lib/modules/<nom_du_noyau/updates/dkms/wl.ko
  4. Et pour générer le module
    sudo depmod
  5. Pour terminer, activer le pilote
    sudo modprobe wl

Le pilote est maintenant à jour et opérationnel. Le redémarrage n'est pas nécessaire.

:?: Ne supprimez pas le dossier extrait et son contenu, vous en aurez besoin pour recréer de nouveau ce module après chaque mise à jour du noyau Linux car le module du pilote wl.ko ainsi créé ne sera pas chargé dynamiquement. C'est à dire qu'à à chaque mise à jour du noyau Linux, vous reviendrez à l'ancienne version.
Recommencer toute la procédure de mise à jour, la construction puis l'installation pour retrouver à nouveau votre wi-fi opérationnel.

Problèmes connus

Pensez à vérifier l'activation du WIFI

Pour réaliser cette vérification, ouvrez un terminal et saisissez les commandes suivantes :

  • Vérifiez que la carte wifi n'est pas désactivée:
    sudo rfkill list
  • Pour activer les cartes wifi:
    sudo rfkill unblock wifi

Installer le micrologiciel sans internet

L'installation de paquets hors des dépôts officiels peut présenter un risque d'instabilité de votre système

Il peut arriver que vous aillez des difficultés à accéder à internet, et donc à installer correctement le micrologiciel Broadcom ®
Dans ce cas:

  1. Téléchargez le pilote ici et sauvegardez-le sur un support externe,
  2. Copiez l'archive dans votre dossier personnel,
  3. Puis dans le dossier /lib/firmware/ avec la commande suivante que vous entrez dans un terminal:
    sudo cp b43-all-fw.tar_.gz /lib/firmware/
  4. Déplacez-vous dans le dossier /lib/firmware/ :
    cd /lib/firmware
  5. Décompressez-y votre archive avec les droits d'administration:
    sudo tar xvf b43-all-fw.tar_.gz
  6. Nettoyer votre dossier:
    sudo rm *.gz

Redémarrez votre ordinateur.

Autre méthode (en)

Le pilote "Broadcom 802.11 Linux STA driver" ne s'est pas installé par défaut

Bien que votre ordinateur possède une puce wi-fi Broadcom®, le pilote "Broadcom 802.11 Linux STA driver" des dépôts officiels n'est pas installé. Vérifier depuis le tableau que votre puce ne nécessite pas l'installation du micrologiciel. Si non, vous pouvez tenter de forcer son l'installation en installant le paquet bcmwl-kernel-source puis essayer la mise à jour via le site officiel.
Peut-être trouverez-vous la solution en consultant les pages des liens du chapitre voir aussi.

Voir aussi



Le contenu de ce wiki est sous licence : CC BY-SA v3.0