• Accueil
  • > Planet Libre
  • > Configuration de l’adaptateur Wifi Broadcom BCM4322 sous Linux/Slackware/Salix OS

Configuration de l’adaptateur Wifi Broadcom BCM4322 sous Linux/Slackware/Salix OS

J’ai récemment acquis l’ordinateur portable Dell Precision M4400, sur lequel j’ai installé une distribution Linux. J’évoquerai en détail cette installation dans un prochain article, mais je souhaitais d’abord m’attarder sur un des seuls (pour ne pas dire le seul) points qui n’a pas été pris en charge par défaut : l’adaptateur Wifi Broadcom BCM4322.

C’est malheureusement un problème récurrent lorsqu’on installe Linux sur un ordinateur pourvu d’un adaptateur Wifi. Ce n’est d’ailleurs pas un hasard si mes articles précédents sur le même thème (un premier consacré à la clé Hercules Wireless N USB mini, et un deuxième consacré à la clé Amarina 54Mbps Wireless USB Adapter) font partie des articles les plus lus de mon blog.

L’ordinateur portable Dell Precision M4400 présente donc l’adaptateur Wifi Broadcom BCM4322, comme j’ai pu le constater clairement avec l’outil en ligne de commandes lspci :

# lspci -nn
…
0c:00.0 Network controller [0280]: Broadcom Corporation BCM4322 802.11a/b/g/n Wireless LAN Controller [14e4:432b] (rev 01)

Avec ma distribution Linux courante, Salix OS 13.37 (fondée sur Slacware Linux 13.37), l’adaptateur Wifi était par défaut détecté par le module b43, inclus dans le noyau Linux. Malheureusement, l’interface réseau n’était pas créée, et un outil comme iwconfig n’affichait aucune interface Wifi.

Par ailleurs, j’ai observé les messages suivants dans dmesg:

[   11.473082] b43-phy0: Broadcom 4322 WLAN found (core revision 16)
[   11.488189] b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 8, Type 4, Revision 4)
[   11.488733] b43: probe of ssb0:0 failed with error -95
[   11.489014] Broadcom 43xx driver loaded [ Features: PMLS, Firmware-ID: FW13 ]

La documentation officielle du pilote b43 est assez claire. Elle donne l’état des lieux de la prise en charge des puces Broadcom.

Pour le contrôleur avec l’identifiant 14e4:432b, la documentation indique que le module b43 a une prise en charge partielle à partir du noyau Linux 2.6.39. Salix OS 13.37 présentant le noyau Linux en version 2.6.37, j’ai dû me retourner vers l’alternative (malheureusement propriétaire) indiquée par la documentation : le module wl, fourni indépendamment du noyau par Broadcom dans un paquet nommé « 802.11 Linux STA driver ».

Ce module est disponible dans le paquet broadcom-sta, mis à disposition par le dépôt SlackBuilds.org :

# slapt-src --search broadcom
broadcom-sta:5.100.82.112 - broadcom-sta (Broadcom wireless drivers)

Malheureusement, l’installation de ce paquet avec slapt-src échoue, le paquet source ne pouvant être téléchargé :

# slapt-src -i broadcom-sta
The following packages will be installés:
broadcom-sta
Voulez-vous continuer ? [y (oui) / N (non)] y
Récupération de README...Réalisé
Récupération de broadcom-sta.SlackBuild...Réalisé
Récupération de broadcom-sta.info...Réalisé
Récupération de doinst.sh...Réalisé
Récupération de slack-desc...Réalisé
Récupération de http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_112.tar.gz...Raté

Un article du blog « rog notes » donne les instructions à suivre pour contourner ce problème. Je les reprends ici en les adaptant à Slackware 13.37 et en les complétant :
1) Télécharger le paquet source (hybrid-portsrc_x86_…tar.gz) correspondant au système requis (32 ou 64 bits), ainsi que le paquet slackbuild (broadcom-sta.tar.gz), sur la page SlackBuilds.org.
2) Se déplacer dans le répertoire où ont été sauvés les fichiers téléchargés, puis extraire le paquet slackbuild.

# tar xvfz broadcom-sta.tar.gz

3) Se déplacer dans le répertoire broadcom-sta créé puis y copier le paquet source.

# cd broadcom-sta
# cp -a ../hybrid-portsrc_x86_…tar.gz

4) Se connecter en tant qu’administrateur (root) puis générer le paquet Slacware. Attention : ceci nécessite que des outils de développement (compilateurs, bibliothèques, …) soient installés sur le système.

$ su
$ ./broadcom-sta.SlackBuild

5) Copier le paquet Slackware généré dans /tmp et nommé broadcom-sta…_Sb0.tgz (mieux vaut garder ce paquet quelque part en cas de besoin).

$ cp -a /tmp/broadcom-sta…_Sb0.tgz ./

6) Installer le paquet Slackware.

$ installpkg broadcom-sta..._Sb0.tgz

7) Décharger le module b43 (ainsi que le module ssb lié) puis charger le module wl (fraîchement installé).

$ modprobe -r b43 ssb
$ modprobe wl

8) Utiliser l’utilitaire de son choix (iwconfig, wicd, NetworkManager) afin de configurer l’interface réseau qui devrait normalement avoir été créée. Attention : dans mon cas, cette interface réseau porte l’identifiant eth1, et non le classique wlan0.

9) Ajouter les modules b43 et ssb dans la liste noire des modules afin de s’assurer que c’est bien le module wl qui sera pris en compte lors du redémarrage du système.

$ echo "blacklist ssb" >> /etc/modprobe.d/blacklist
$ echo "blacklist b43" >> /etc/modprobe.d/blacklist

Merci à Roger du blog « rog notes » pour l’astuce. J’espère que cet article sera utile à toute personne confrontée à l’installation d’un pilote pour un adaptateur Wifi Broadcom.

 

Mots-clefs : , , , , , ,

3 Réponses à “Configuration de l’adaptateur Wifi Broadcom BCM4322 sous Linux/Slackware/Salix OS”

  1. Freekolo dit :

    Bonjour Julien,
    Je ne suis pas linuxien, ni spécialiste en informatique.
    Il se trouve qu’ayant testé un hack sur un relais wifi Linksys pour etendre les capacités du FW, je me trouve comme beaucoup avec un joujou briqué, uniquement doté d’une connexion série (pas de jtag ni port éthernet pour reflasher) Le proc du WRE54G est un Broadcom et la puce flash de marque intel.
    Pensez vous possible de réactiver ou recharger un FW avec des manips Linux du genre de celles que vous avez décrites?
    pour votre info complète:
    http://www.techinfodepot.info/wiki/Linksys_WRE54G_v1
    et DD-WRT Forum : Linksys WRE54G V1 Bricked?
    http://bit.ly/1z0CHIm
    http://bit.ly/1wiZONu

    Merci de votre avis.

  2. julien1001 dit :

    Bonjour Freekolo,

    Malheureusement, je n’ai absolument aucune idée des opérations à effectuer pour régler votre problème.

    Désolé de ne pas pouvoir vous aider.
    Cordialement,

  3. yos dit :

    essaies la slax !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>