[[wifi_broadcom_bcm43xx]]
Piste: » wifi_broadcom_bcm43xx
Wifi basé sur le chipset Broadcom Bcm43xx
Pour Ubuntu Hardy (8.04) Il devrait suffire d'installer le paquet b43-fwcutter (explication).
Mais attention : l'installation automatique n'est pas systématique!
(voir tableau de compatibilité plus bas). Cette page référence différentes méthodes pour les divers cas particuliers.
Il existe aussi un How to dans la langue de Shakespare pour la méthode générale, applicable à n'importe quel distribution (Voirici)
Pour Ubuntu Gutsy (7.10) Il existe une méthode simple expliqué ici.
Bcm43xx
Cette famille de chipset équipe pas mal de cartes de portables ou cartes wifi comme la WMP54GS et WPC54GS. Il est possible de passer par ndiswrapper pour pouvoir les utiliser mais c'est un peu lourd. Heureusement 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 01:03.0 Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
Remarques (Peuvent être fausses depuis HARDY)
Pour les cartes Broadcom 4318, si la méthode avec fwcutter ne marche pas, il vous faudra utiliser NdisWrapper. La procédure à suivre est disponible ici (en anglais) ou la méthode généraliste décrite ici: ndiswrapper
Les cartes Broadcom 4318 fonctionnent sous Edgy (64) avec le driver bcm43xx et le firmware wl_apsta.o configuré en WPA2 (testé sur HP dv5053ea) mais avec un ssid masqué, il faut ajouter wpa-ap-scan 2 à /etc/network/interfaces
Pour les cartes Broadcom 4328 sous hardy heron amd64 il faut visiter ce lien : bcm4328
Les cartes PCMCIA 16 bits à base de chip Broadcom ne fonctionnent pas avec le driver bcm43xx. (par exemple les carte Wifi WPCB-104B et WPCB-152G Freebox) Pour ces cartes, il faut attendre la finalisation du driver b43 disponible à partir du noyau 2.6.24 http://linuxwireless.org/en/users/Drivers/b43
Pour les cartes Broadcom BCM94311MCG Rev01 la connexion fonctionne avec le paquet b43-fwcutter, seulement le débit est limité a 6 Mbit/s, il faut donc utiliser Ndiswrapper pour profiter du débit théorique 54 Mbit/s
Pour les cartes Broadcom BCM94311 Rev02, et Broadcom BCM94312 il faut utiliser Ndiswrapper avec le fichier suivant :
sp34152.exe
Source : http://forum.ubuntu-fr.org/viewtopic.php?pid=1362550#p1362550
3 différentes méthodes d'installations
Hardy et 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 |
| # bcm4309 | le mode 802.11a ne fonctionne pas (encore) |
| # bcm4310 USB rev 01 / | NDiswrapper, 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 driver/firmware installé par le gestionnaire de périphérique ( testé sur Dell Inspiron 1521/noyau 2.6.24-19 ) |
| # bcm4312 | NON COMPATIBLE |
| # bcm4318 | OK: procédure pour Hardy Heronici |
| # bcm4328 | NON COMPATIBLE |
| # bcm4329 | NON COMPATIBLE |
Procédure
- Installez le paquet b43-fwcutter via synaptic ou apt-get:
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
- Le paquet b43-fwcutter est disponible sur le CD d'Ubuntu 8.04 (Hardy)
- Si vous installez b43-fwcutter via synaptic, il faut cocher "Extraction du firmwmare 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é suivant:
- 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.
Hardy et bcm4312 (rev 02)
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)
ce qui suit peut vous intéresser.
On commence par installer ndiswrapper et blacklister le driver natif qui ne fonctionne pas, et on crée un répertoire temporaire qui nous servira à installer le driver 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 driver windows puis extraire le fichier qui nous interesse :
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 bcmwl5.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.
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".
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.
Installation du firmware
Installez le paquet bcm43xx-fwcutter.
Avec feisty, lors du paramétrage du paquet, il est proposé de "cutter" un firmware automatiquement (le wl_apsta.o qui fonctionnait avec bcm4306 et bcm4318 mais dont la version 4 n'est pas encore supportée). refusez en tapant "n" !
Le paquet bcm43xx-fwcutter va nous permettre d'installer le firmware (cette opération est à renouveler à chaque mise à jour du noyau).
Il nous faut maintenant un fichier bcmwl5.sys (le plus récent possible en version 3 et non 4 - non supportée pour l'instant - ), tapez par exemple (recommandé) :
wget http://ubuntuondell.tuxfamily.org/download/bcmwl5/bcmwl5.sys
Autrement une liste de liens est disponible en tapant dans une console:
zless /usr/share/doc/bcm43xx-fwcutter/README.gz
On crée un répertoire bcmwl5.sys
sudo mkdir /lib/firmware/`uname -r`/bcmwl5.sys
Maintenant on extrait le firmware du fichier en tapant :
sudo bcm43xx-fwcutter -w /lib/firmware/`uname -r`/bcmwl5.sys bcmwl5.sys
Vous pouvez aussi extraire le firmware dans /lib/firmware afin qu'il soit chargé par le module bcm43xx quel que soit le kernel utilisé.
Relancez le module bcm43xx :
sudo rmmod bcm43xx sudo modprobe bcm43xx
Sous Ubuntu (Gnome) ou Xubuntu (XFCE), installez le paquet network-manager-gnome.
Éditez le fichier /etc/network/interfaces et n'y laissez que ceci:
auto lo iface lo inet loopback
Puis, ajoutez dans la liste des applications démarrées automatiquement au démarrage l'applet nm-applet :
nm-applet --sm-disable
Lancez cette applet enfin pour cette session en tapant Alt–F2 :
nm-applet --sm-disable
Une nouvelle icône dans votre zone de notification apparaitra. Un clic permet de choisir votre réseau wifi. Entrez-y votre clé wep et l'essid de votre réseau (pour une connexion WPA - faites une recherche sur le wiki).
Si jamais vous n'arriviez pas à vous connecter à un reseau WPA editez votre fichier /etc/network/interfaces et ajoutez "wpa-ap-scan 2" à la fin de la ligne de votre carte wifi
Par exemple si vous avez ça :
iface wlan0 inet dhcp
Transformez-le en :
iface wlan0 inet dhcp wpa-ap-scan 2
Alternative au script
Remarque : sur un modèle HP Pavillon zd7000 avec une carte BCM4306 (c'est aussi valable pour les portables Aspire 7000), sous Dapper, il est nécessaire de placer le firmware dans /lib/firmware. La méthode suivante réalise ceci par l'installation d'un paquet.
Remarque 2 : sur un portable modèle Hp pavillon dv6000 series (avec une carte BCM4311 ou Dell 1390), sous feisty, seule cette méthode fonctionne directement. Elle a aussi l'avantage d'être la plus légère pour le système.
soit vous téléchargez directement le paquet ici http://ubuntu.cafuego.net/pool/feisty-cafuego/bcm43xx/bcm43xx-firmware_1.3-1ubuntu2_all.deb (il ne sera donc pas mis à jour en cas de besoin (ce qui ici peut être positif, une mise à jour pouvant rendre le système dysfonctionnel)
Editez /etc/apt/sources.list:
deb http://ubuntu.cafuego.net dapper-cafuego bcm43xx
ajoutez la clé :
wget http://ubuntu.cafuego.net/969F3F57.gpg -O- | sudo apt-key add -
rechargez apt-get :
sudo apt-get update
Puis :
sudo apt-get install bcm43xx-firmware
ou téléchargez directement le paquet :
wget -c http://ubuntu.cafuego.net/pool/dapper-cafuego/bcm43xx/bcm43xx-firmware_1.3-1ubuntu1_all.deb
et installez-le :
sudo dpkg -i bcm43xx-firmware_1.3-1ubuntu1_all.deb
Configuration :
sudo modprobe bcm43xx
Attention le firmware ne fonctionne pas avec la carte wifi BCM4318
Sur ce meme principe avec la BCM4318 : http://liaudetgael.free.fr/spip.php?article5
Pour Ubuntu Gusby c'est plus simple: Methode simple
Remarques
L'utilisation du firmware téléchargé plutôt que celle du script peut provoquer des gels réguliers identifiés dans le journal du noyau : "kernel : bcm43xx: Controller restarted". Avec le script, le firmware extrait peut ne pas contenir les mêmes fichiers (exemple pour le HP ZV6000, absence du fichier bcm43xx_microcode3.fw). Donc, la méthode consistant à extraire soi-même le firmware semble préférable.
Assurez vous que votre carte wifi n'ai pas été désactivée manuellement par un raccourci clavier (Fn→F2) ou par bouton wifi dédié sur le portable.
Vous pouvez aussi utiliser le fichier http://boredklink.googlepages.com/wl_apsta.o pour générer vos .fw .
L'injection de paquet en mode monitor ne fonctionnera qu'avec un patch encore très expérimental ( http://tinyshell.be/aircrackng/forum/index.php?topic=281.0 ). Cela nécessite aussi pour le moment de patcher les outils d'injection et/ou de monitoring.
Attention: extraire le firmware dans /lib/firmware afin qu'il soit chargé par le module bcm43xx quel que soit le kernel utilisé.
Problème " dpkg : erreur de traitement de bcm43xx-fwcutter "
Si lors de l'installation d'un paquet s'affiche une erreur de code 1 dans ce style :
Paramétrage de bcm43xx-fwcutter (006-1) ...
--20:05:00-- http://boredklink.googlepages.com/wl_apsta.o
=> `wl_apsta.o'
Résolution de boredklink.googlepages.com... 72.14.203.118
Connexion vers boredklink.googlepages.com|72.14.203.118|:80... connecté.
requête HTTP transmise, en attente de la réponse... 404 Not Found
20:05:00 ERREUR 404: Not Found.
dpkg : erreur de traitement de bcm43xx-fwcutter (--configure) :
le sous-processus post-installation script a retourné une erreur de sortie d'état 1
Paramétrage de libglibmm-2.4-1c2a (2.13.3-0ubuntu1) ...
et
Des erreurs ont été rencontrées pendant l'exécution : bcm43xx-fwcutter E: Sub-process /usr/bin/dpkg returned an error code (1)
c'est qu'il faut réinstaller un firmware pour Bcm43xx-fwcutter.
Commencez par télécharger ce fichier compressé et décompressez-le sur le bureau (Clik droit ⇒ Extraire ici)
Puis en terminal :
cd ~/Desktop/broadcom-wl-4.80.53.0/kmod/ sudo bcm43xx-fwcutter -w /lib/firmware wl_apsta.o
La dernière commande devrait retourner :
nom@nom_ordi:~$ sudo bcm43xx-fwcutter -w /lib/firmware ~/Desktop/wl_apsta.o *** WARNING *** This file contains new version4 firmware. v4 firmware is _not_ supported by the driver in mainline kernels. For v4 firmware you need latest bcm43xx development version (wireless-dev kernel tree). If you don't know what this warning is about, use a 3.xx.xx.xx driver version instead to extract the firmware. filename : wl_apsta.o version : 4.80.53.0 MD5 : 9207bc565c2fc9fa1591f6c7911d3fc0 microcodes : 4 5 11 13 pcms : 4 5 microcode : 4 revision : 0x015f patchlevel : 0x007e date : 2006-07-29 time : 05:54:02 microcode : 5 revision : 0x015f patchlevel : 0x007e date : 2006-07-29 time : 05:54:02 microcode : 11 revision : 0x015f patchlevel : 0x007e date : 2006-07-29 time : 05:54:02 microcode : 13 revision : 0x015f patchlevel : 0x007e date : 2006-07-29 time : 05:54:02 extracting bcm43xx_microcode4.fw ... extracting bcm43xx_microcode5.fw ... extracting bcm43xx_microcode11.fw ... extracting bcm43xx_microcode13.fw ... extracting bcm43xx_pcm4.fw ... extracting bcm43xx_pcm5.fw ... extracting bcm43xx_initval01.fw ... extracting bcm43xx_initval02.fw ... extracting bcm43xx_initval03.fw ... extracting bcm43xx_initval04.fw ... extracting bcm43xx_initval05.fw ... extracting bcm43xx_initval06.fw ... extracting bcm43xx_initval07.fw ... extracting bcm43xx_initval08.fw ... extracting bcm43xx_initval09.fw ... extracting bcm43xx_initval10.fw ... extracting bcm43xx_initval20.fw ... extracting bcm43xx_initval21.fw ... extracting bcm43xx_initval22.fw ... extracting bcm43xx_initval23.fw ... extracting bcm43xx_initval24.fw ... extracting bcm43xx_initval25.fw ...
Dorénavant vous n'aurez plus de message d'erreur à l'installation de paquets.
Contributeurs : Ju , nyl, Id2ndR, GottferDamnt , LinuXp0wer