Dominique Meeùs
Dernière modification le
retour à la table des matières
— à l’index
— à ma page de départ
Il y a un certain nombre d’adaptateurs de réseau sans fil Broadcom BMCxxxx répandus.
J’en ai un dans un Dell Latitude D610. La commande lspci
l’identifie comme "14e4:4324 (rev 03)".
Cet adaptateur a été reconnu à l’installation et complètement installé depuis que
j’ai cette machine, en juin 2009, donc avec Ubuntu 9.04 et jusqu’à Ubuntu 10.10. Par
contre, en installant Ubuntu 12.04, ça ne fonctionnait plus. L’adaptateur est bien
reconnu comme présent, mais il ne fait rien. Tant dans l’applet de gestion de réseau
que dans les messages d’erreur au démarrage (dmesg
), il est marqué micrologiciel manquant et, plus précisément, que manquent les fichiers
/lib/firmware/b43/ucode5.fw
ou /lib/firmware/b43-open/ucode5.fw
, dont le module b43 a besoin. This firmware install doesn’t seem to work for me. I used this script instead. (Depends on the package b43-fwcutter). You may want to download it here :
b43fw and execute sudo b43fw
. Un paquet de programme, firmware-b43-install
, devrait y mettre bon ordre, mais ça ne marche pas. Ce paquet ne contient en fait
pas le ou les fichiers de firmware nécessaire. C’est un paquet qui se réduit essentiellement
à une procédure de type postinst, qui devrait télécharger le fichier qui contient
le firmware, l’extraire et le placer au bon endroit. La procédure contrôle la concordance
entre le noyau, l’adaptateur et les firmwares disponibles, mais considère mon adaptateur
comme « legacy » (ce qui n’est en fait pas le cas) et ne fait rien.
J’ai téléchargé une copie du paquet deb de firmware-b43-install
. Je l’ai ouvert avec le gestionnaire d’archives. J’ai lu le fichier postinst qu’il
contenait. J’en ai tiré la partie procédurale, dite latest_firmware()
, sans les contrôles pour en faire un script shell que j’ai appelé b43fw
et sauvé dans le répertoire ~/bin
où je mets mes scripts personnels. On peut le télécharger ici : b43fw. Ce script dépend du paquet b43-fwcutter
qu’il faut donc avoir installé avant. Le contenu est le suivant :
#!/bin/sh set -e tmp=`mktemp -q -d` cd $tmp export FIRMWARE_INSTALL_DIR="/lib/firmware" if [ ! -d "$FIRMWARE_INSTALL_DIR" ]; then mkdir -p $FIRMWARE_INSTALL_DIR fi # use apt proxy APT_PROXIES=$(apt-config shell \ http_proxy Acquire::http::Proxy \ https_proxy Acquire::https::Proxy \ ftp_proxy Acquire::ftp::Proxy \ ) if [ -n "$APT_PROXIES" ]; then eval export $APT_PROXIES fi wget --timeout=60 http://mirror2.openwrt.org/sources/broadcom-wl-5.10.56.27.3_mipsel.tar.bz2 if [ $? -ne 0 ]; then echo "Some problem occurred during the firmware download. Please check your internet connection." exit 0 else if [ -d /lib/firmware/b43 ]; then echo "Deleting old extracted firmware..." rm -rf /lib/firmware/b43 fi fi tar xvjf broadcom-wl-5.10.56.27.3_mipsel.tar.bz2 cd broadcom-wl-5.10.56.27.3/driver/wl_apsta b43-fwcutter -w "$FIRMWARE_INSTALL_DIR" wl_prebuilt.o rm -rf $tmp⚓
et dans ma situation, ça marche les doigts dans le nez. On pourrait (avec l’aide de
certains forums qui discutent cette question) faire ça à la main : télécharger ce
qu’il faut, en extraire ce qu’il faut avec l’aide de b43-fwcutter
et copier le résultat où il faut. Comme je suis paresseux, je préfère exécuter mon
sudo ~/bin/b43fw
et voir tout se faire tout seul.