Ceci est une ancienne révision du document !



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).

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.

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. Faire la mise à jour de ce pilote via le site officiel
:!: Precise 12.04, un pilote de version supérieure est disponible depuis le dépôt proposed.

Sources:

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 à l'aide de celui proposé sur 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.

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.

  • wifi_broadcom_bcm43xx.1432219719.txt.gz
  • Dernière modification: Le 21/05/2015, 16:48
  • par cafecho