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.
Installation simplifiée du micro-code (Firmware) Bcm 43xxx
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
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
La partie de documentation ci-dessous est complexe et en partie dépassée, un remaniement est à venir, merci de votre patience
Autres méthodes d'installations (Anciennes et non recommandées )
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.11b | OK: procédure ci-dessous |
# bcm4303 autres | Non ? |
# bcm4306 rev 1 & 2 | OK: procédure ci-dessous cf note |
# bcm4306 rev 3 | OK: procédure ci-dessous (la procédure de secours cd note fonctionne aussi) |
# bcm4309 | le 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 / bcm4312 | OK: procédure ci-dessous |
# bcm4311 rev 2 / bcm4312 | Le 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 |
# bcm4312 | NON COMPATIBLE ! Fonctionne très mal dans certains cas, et parfois pas du tout ! |
# bcm4313 | OK: fonctionne avec ce pilote ( testé sur Dell Inspiron N7010/noyau 2.6.35-22 ), KO: Ubuntu13.04 (testé sur Asus 1225N) |
# bcm4313 0x4727 | OK: fonctionne avec ce pilote installation décrite sur ubuntuforums.org ( testé sur Dell Vostro 3500 - Maverick - noyau 2.6.35-24 )) |
# bcm4318 | OK: 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) |
# bcm4328 | Voir la page bcm4328 |
# bcm4329 | NON COMPATIBLE (voir forum pour solution) |
Procédure
- 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
- L'installation demandera s'il faut extraire le code. Répondre OUI.
- 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)
- Insérer le cd de Hardy Heron, aller dans Système → Administration → sources de logiciels
- Cocher "CD-ROM"
- 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 :
- Télécharger le firmware ici.
- Extraire le fichier wl_apsta.o qui est dans le répertoire kmod de l'archive et l'enregistrer sur le bureau par exemple.
- taper les commandes:
cd /lib/firmware/`uname -r` sudo b43-fwcutter /[CHEMIN VERS LE FICHIER]/wl_apsta.o sudo rmmod b43 sudo modprobe b43
- 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
- L'installation va extraire automatiquement le code
- Après installation, redémarrez
- 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©.
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 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…
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.
Problèmes connus
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)
Voir aussi
- 2020Linux ce script vise a installer facilement le driver windows via Ndiswrapper pour les cartes wifi Broadcom (suivant la revision de votre carte)
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.