Ceci est une ancienne révision du document !



Wifi basé sur le chipset Broadcom Bcm43xx

Ce type de carte WIFI est reconnu d'office par les versions de GNU/Linux Ubuntu supérieure à la 12.04 LTS.

La reconnaissance matérielle de la carte ne permet cependant pas d'utiliser le WIFI "Out of the box" car la carte nécessite un micro-code propriétaire proposé par la société Broadcom. La version CD de GNU/Linux Ubuntu ne propose pas ces micro-codes, en anglais firmware pour une question de droits, ces produits ne sont pas libres et ne peuvent pas être inclus sur le CD d'installation.

Il est possible d'installer via Internet et une procédure simplifiée le micro-code manquant et de configurer automatiquement la carte pour que cette dernière fonctionne normalement.

Cette installation a été validée avec une carte 4311 sous Precise 12.04 LTS i386 et Raring 13.04 i386. Source : http://ubuntuforums.org/showthread.php?t=2011081

En ligne de commande

  • Désintallez les paquets obsolètes
sudo apt-get purge bcmwl-kernel-source broadcom-sta-common broadcom-sta-source
  • Installez le firmware qui marche
sudo apt-get install linux-firmware-nonfree
  • Redémarrez avec
sudo reboot

Votre carte WIFI fonctionne 8-)

Graphiquement avec Synaptic

  • Désinstallez les paquets suivants : bcmwl-kernel-source, broadcom-sta-common, broadcom-sta-source
  • Installez le paquet suivant : linux-firmware-nonfree
  • Redémarrez

Votre carte WIFI fonctionne 8-)

8-O La partie de documentation ci-dessous est complexe et en partie dépassée, un remaniement est à venir, merci de votre patience

Pilote Linux natif de Broadcom (Broadcom STA wireless driver)

Broadcom fournit un pilote propriétaire nommé Broadcom 802.11 Linux STA driver.

Celui-ci supporte les cartes suivantes : BCM4311, BCM4312, MCM4313, BCM4321, BCM4322, BCM4324, MC4325 et BCM4327.

Le module est intégré au noyau linux à partir de la version 2.6.24-21, sous le nom de wl .

Pour l'activer, procédez ainsi :

  • Cliquer sur l'icône Paramètres Système
  • Cliquer maintenant sur l'icône Logiciels et mise à jour
  • Ouvrez l'onglet Pilotes additionnels (gestionnaire des pilotes additionnels pour les versions antérieures à 12.10) et activez "Broadcom STA wireless driver".
  • Vérifiez que les modules "b43", "ssb" et "bcma" soient blacklistés (procédure expliquée ici -> paragraphe 2.6). Cependant attention, si votre carte ethernet utilise b44, ssb est nécessaire, et dans ce cas vous ne pourrez donc pas utiliser ce pilote.)

Bcm43xx

il existe une méthode plus légère et tout aussi efficace avec fwcutter, que nous allons décrire ici. Pour déterminer la version de la carte réseau sur votre portable, utilisez la commande suivante:

lspci | grep Network

elle devrait vous rapporter une ligne comme celle-ci:

01:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)

Vous pouvez également le compiler à partir des sources, disponibles sur le site de Broadcom. La procédure est expliquée (en anglais) dans le fichier readme.txt.

b43-fwcutter

Depuis les dernières versions du kernel, et la version 8.04 (Hardy) de Ubuntu, l'installation de certains modules wifi Broadcom sont simplifiés grâce à b43-fwcutter. SOURCE: linux wireless site web

Version de la carte

Le tableau ci-dessous répertorie le fonctionnement de cette méthode suivant le modèle de carte wifi Broadcom.

Si vous obtenez des résultats différent de ceux décrits ici, ou absents du tableau, merci de les ajouter.

chips infos
# bcm4303 802.11bOK: procédure ci-dessous
# bcm4303 autres Non ?
# bcm4306 rev 1 & 2OK: procédure ci-dessous cf note
# bcm4306 rev 3OK: procédure ci-dessous (la procédure de secours cd note fonctionne aussi)
# bcm4309le mode 802.11a ne fonctionne pas (encore)
# bcm4310 USB rev 01 / NDiswrapper (avec bcmwl5.inf - non livré avec vista), Impossible avec B43+ Firmware ?
# bcm4311 rev 1 / bcm4312OK: procédure ci-dessous
# bcm4311 rev 2 / bcm4312Le noyau 2.6.24 à besoin d'un patch (semble fonctionner par défaut avec la version 2.6.24-19)
# bcm4312 rev 1 OK : fonctionne avec le pilote/firmware installé par le gestionnaire de périphérique ( testé sur Dell Inspiron 1521/noyau 2.6.24-19 ) → idem sur Dell Precision M4400
# bcm4312NON COMPATIBLE ! Fonctionne très mal dans certains cas, et parfois pas du tout !
# bcm4313OK: fonctionne avec ce pilote ( testé sur Dell Inspiron N7010/noyau 2.6.35-22 ), KO: Ubuntu13.04 (testé sur Asus 1225N)
# bcm4313 0x4727OK: fonctionne avec ce pilote installation décrite sur ubuntuforums.org ( testé sur Dell Vostro 3500 - Maverick - noyau 2.6.35-24 ))
# bcm4318OK: procédure pour Hardy Heronici- OK pour 10.10 même procédure. OK pour 11.04 (remplacer aptitude par apt-get)
# bcm4322 Sur DELL E5400 et Ubuntu 12.10 64bits, le pilote (Broadcom Linux STA) ne fonctionne pas, il faut le désinstaller et utiliser (b43-fwcutter + firmware-b43-installer)
# bcm43224 0x4353 devrait fonctionner avec ce pilote installation décrite sur ubuntuforums.org ( non testé mais ce pilote a été installe avec succès sur le chipset 4313 0x4727, voir le lien du pilote pour plus d'info)
# bcm43225 0x4357 devrait fonctionner avec ce pilote installation décrite sur ubuntuforums.org ( non teste mais ce pilote a été installe avec succès sur le chipset 4313 0x4727, voir le lien du pilote pour plus d'info)
# bcm4328Voir la page bcm4328
# bcm4329NON COMPATIBLE (voir forum pour solution)
La version du noyau de Hardy rend impossible l'installation de la carte wifi bcm4311 rev 2. Le prochain kernel devrait résoudre le problème. Il existe un patch pour le noyau permettant l'installation du wifi via b43-fwcutter.
Procédure
  1. Installez le paquet b43-fwcutter via synaptic ou apt-get (voir Notes si vous n'avez pas de connection internet):
    sudo apt-get install b43-fwcutter
  2. L'installation demandera s'il faut extraire le code. Répondre OUI.
  3. Après installation, votre wifi devrait fonctionner.
Notes (en cas de non-fonctionnement lors de la procédure)
  • Le paquet b43-fwcutter est disponible sur le CD d'Ubuntu 8.04 (Hardy)
  1. Insérer le cd de Hardy Heron, aller dans Système → Administration → sources de logiciels
  2. Cocher "CD-ROM"
  3. Puis taper dans un terminal ;
    sudo apt-get update
    sudo apt-get install b43-fwcutter
  • Si vous installez b43-fwcutter via synaptic, il faut cocher "Extraction du firmware pendant l'install".
  • Certaines révisions de la carte bcm4306 n'ont pas l'air de marcher avec le code par défaut. il faut suivre le procédé qui suit.
  • Si la carte bcm4318 pose des problèmes, après avoir installé b43-fwcutter et avoir répondu "non" pour l'extraction du microcode :
  1. Télécharger le firmware ici.
  2. Extraire le fichier wl_apsta.o qui est dans le répertoire kmod de l'archive et l'enregistrer sur le bureau par exemple.
  3. taper les commandes:
    cd /lib/firmware/`uname -r`
    sudo b43-fwcutter /[CHEMIN VERS LE FICHIER]/wl_apsta.o
    sudo rmmod b43
    sudo modprobe b43
  4. désactiver la connexion sans fil en cliquant sur l'applet de connexion, la redémarrer, et ça devrait marcher.

firmware-b43-installer

Depuis la version 12.04 (au moins) une nouvelle version d'installeur est disponible : firmware-b43-installer

Dans le cas ou l'installation de b43-fwcutter a été sans effet, vérifier les messages dans le log système ;

root@Presario:~# dmesg | grep b43
[   30.691195] b43-phy0 ERROR: Firmware file "b43/ucode5.fw" not found
[   30.691202] b43-phy0 ERROR: Firmware file "b43-open/ucode5.fw" not found
[   30.691207] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Drivers/b43#devicefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.

Ceci confirme que b43-fwcutter est inopérant. Le mieux dans ce cas est d'aller vérifier que le lien indiqué dans le message conseille bien d'utiliser firmware-b43-installer. Avant de suivre la procédure ci-dessous

Procédure

Désinstaller le paquet bcmwl-kernel-source

sudo apt-get autoremove bcmwl-kernel-source

désinstaller éventuellement b43-fwcutter si vous l'avez installé précédement.

sudo apt-get remove b43-fwcutter

Puis installer le nouveau paquet :

sudo apt-get install firmware-b43-installer
  1. L'installation va extraire automatiquement le code
  2. Après installation, redémarrez
  3. Votre wifi devrait fonctionner.

Ndiswrapper: bcm4311 et bcm4312 (rev 02) par ndiswrapper

Cette méthode est à utiliser si votre carte wifi reste désespérément inutilisable, il s'agit en gros pour le début de l'utilisation classique de ndiswrapper, donc si certaines choses ne semblent pas très claires, référez vous à cette page, la suite explique comment outrepasser le bug de ssb automatiquement de manière transparente.

Le but de cette installation est d'utiliser le pilote propriétaire pour Windows©.

ici petit script,pour installer facilement le driver windows via Ndiswrapper pour les cartes wifi Broadcom bcm94311mgc, en allant directement telecharger le driver (suivant la revision de votre carte)

Si la commande

lspci | grep Network

Vous renvoie quelque chose comme ça :

03:00.0 Network controller: Broadcom Corporation BCM4312 802.11a/b/g (rev 02)

ou:

03:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01)

ce qui suit peut vous intéresser.

On commence par installer ndiswrapper et blacklister le pilote natif qui ne fonctionne pas, et on crée un répertoire temporaire qui nous servira à installer le pilote fonctionnel.

Pour la BCM4311, utilisez le pilote que le constructeur vous fourni. et remplacez donc les nom de fichiers par ceux correspondant.

Pour cela, exécutez les lignes suivantes:

echo 'blacklist bcm43xx' | sudo tee -a /etc/modprobe.d/blacklist
sudo apt-get install ndiswrapper-utils-1.9
mkdir /tmp/bcm43xx; cd /tmp/bcm43xx

On va ensuite télécharger le pilote windows puis extraire le fichier qui nous intéresse:

sudo apt-get install cabextract
wget ftp://ftp.hp.com/pub/softpaq/sp34001-34500/sp34152.exe
cabextract sp34152.exe

On configure ensuite ndiswrapper et on active le support du WPA :

sudo ndiswrapper -i *.inf
ndiswrapper -l
sudo depmod -a
sudo modprobe ndiswrapper
sudo cp /etc/network/interfaces /etc/network/interfaces.orig
echo -e 'auto lo\niface lo inet loopback\n' | sudo tee /etc/network/interfaces
sudo ndiswrapper -m
echo 'ndiswrapper' | sudo tee -a /etc/modules
echo 'ENABLED=0' | sudo tee -a /etc/default/wpasupplicant

Exécutez ensuite la commande suivante :

sudo lshw -C network | tail -1

Si cette ligne contient quelque chose comme "module=ssb", passez à la suite.
Sinon tout devrait fonctionner dès maintenant, et plus rien à faire n'est nécessaire…

Si vous lisez ceci, c'est que la commande
sudo lshw -C network | tail -1

vous a renvoyé une ligne contenant "module=ssb"

Exécutez les lignes suivantes sans vous soucier des éventuelles erreurs, sauf pour la commande "sudo rmmod ssb" (je n'ai personnellement pas rencontré d'erreur à l'exécution de cette commande, je ne sais donc pas quelle démarche suivre en cas d'erreur).

sudo rmmod b43
sudo rmmod b44
sudo rmmod b43legacy #this step added Apr 27 2008
sudo rmmod ssb
sudo rmmod ndiswrapper
sudo modprobe ndiswrapper
sudo modprobe ssb
sudo modprobe b44 #this step added May 1 2008

Exécutez de nouveau la commande

sudo lshw -C network | tail -1

Cette fois-ci, la ligne devrait contenir quelque chose comme "module=ndiswrapper", et la connexion marcher convenablement.

Pour rendre cette opération "automatique", exécutez la commande suivante :

echo -e '#Hardy ssb/ndiswrapper workaround, added' `date` '\ninstall ndiswrapper modprobe -r b43 b44 b43legacy ssb; modprobe --ignore-install ndiswrapper $CMDLINE_OPTS; modprobe ssb; modprobe b44;' | sudo tee -a /etc/modprobe.d/ndiswrapper

Tout devrait fonctionner maintenant.

Source: https://help.ubuntu.com/community/WifiDocs/Driver/bcm43xx/Feisty_No-Fluff#head-dc4447a654d5a60371368cd14456d035fcd9a42b

Pensez à vérifier l'activation du WIFI

Pour réaliser cette vérification, ouvrez un terminale 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

BCM4311 et Peppermint

Suite à une mise a jour plus de wifi dans /var/log/jockey.log j'avais: WARNING: /sys/module/wl/drivers does not exist, cannot rebind wl driver

solution trouvée ici: http://ubuntuforums.org/showthread.php?t=1390979

 $ sudo apt-get install linux-headers-$(uname -r)

Contributeur(e)s : Ju, nyl, Id2ndR, LinuXp0wer, nlcf, Futal, YoBoY, Tsumugari, Ner0lph, thecraft, anod1, le0n, Jackass059, Ma-Nu, cngz, fabien26, xcxl, Antonin_Morel, GottferDamnt, L'ami René (Mise en page)+(Autres pages en lien avec les sujets), Id2ndR, ArcturusM51, laurentb.

  • wifi_broadcom_bcm43xx.1390424234.txt.gz
  • Dernière modification: Le 22/01/2014, 21:57
  • par laurentb