Bcm43xx

Un article de Caen sans fil.

Jump to: navigation, search

Installation du driver libre pour les cartes broadcom bcm43xx

Cette installation a été réalisée sur un Powerbook G4 titanium avec les spécificités suivantes :

  • Kernel 2.6.15 fait à la main, à la mode Debian.
  • softmac-snapshot.tar.bz2 qui est indispensable afin de faire fonctionner le module.
wget http://softmac.sipsolutions.net/softmac-snapshot.tar.bz2
  • Le svn de bcm43xx
 cd ~/src
 svn checkout svn://svn.berlios.de/bcm43xx/trunk

Si vous avez debian, vous pouvez utiliser le kernel image fourni dans la distribution unstable.(déconseillé)

Si vous faites ceci, vous devrez réaliser deux liens symboliques pour que la compilation puisse se réaliser :

Ajoutez les sources de debian unstable dans votre fichier /etc/apt/sources.list

deb ftp://ftp.fr.debian.org/debian/ unstable main
deb-src ftp://ftp.fr.debian.org/debian/ unstable main
apt-get update
apt-cache search linux-image
apt-get install linux-image-2.6.15-1-powerpc
apt-get install linux-headers-2.6.15-1

reboot sur le nouveau kernel

Les 2 liens symboliques à effectuer afin de pouvoir réaliser la compilation :

cd /usr/src/linux-headers-2.6.15-1-powerpc/arch
ln -s ppc powerpc

Vérifiez le lien.

ls -al

ln -s /usr/src/linux-headers-2.6.15-1-powerpc /lib/modules/2.6.15-1-power

Vérifiez par la même methode


La meilleur méthode est de réaliser son noyau à la methode Debian ! Il faut pour cela récupérer les sources ; Vous pourrez les trouver ici :

ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.tar.bz2
cd /usr/src
wget ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.15.tar.bz2
tar xjvf linux-2.6.15.tar.bz2

Une bonne méthode afin de configurer son noyau est de récuperer un des anciens config de /boot et de le placer dans /usr/src/linux-2.6.15

cp /boot/config-2.6.x /usr/src/linux-2.6.15 && mv /usr/src/linux-2.6.15/config-2.6.x /usr/src/linux-2.6.15/.config
make menuconfig

Faites attention à bien activer le module wireless en dur dans votre kernel (de memoire ieee80211 dans la partie network)

Une fois la config du kernel réalisée.

apt-get install kernel-package yaird
make-kpkg --rootcmd fakeroot --revision custom01 --append-to-version -1-powerpc-bragon --initrd binary-arch

Attention si vous n'êtes pas sur powerpc, ça n'est pas grave : Changez juste le --append-to-version

cd /usr/src
dpkg -i linux-image-2.6.15-1-powerpc-bragon_custom01_powerpc.deb
dpkg -i linux-headers-2.6.15-1-powerpc-bragon_custom01_powerpc.deb


Entrons dans le vif de l'action.

cd /home/user
mkdir bcm43xx
cd bcm43xx
wget http://softmac.sipsolutions.net/softmac-snapshot.tar.bz2
svn checkout svn://svn.berlios.de/bcm43xx/trunk
tar xjvf softmac-snapshot.tar.bz2
cd softmac-snapshot
make && make install
cd trunk/drivers
make && make install
modprobe bcm43xx
ifconfig eth1 (ou eth2) up
iwlist eth1 scan
iwconfig eth1 essid caensansfil channel 11 rate 11M

ou

iwconfig eth2 essid caensansfil channel 11 rate 11M
ifconfig eth2 192.168.1.5 (par exemple)
ifconfig eth0 down (si vous vous servez du RJ45 pour être sur de bien utiliser le wifi) 
ping 192.168.1.1
ping www.google.fr
route add default gw 192.168.1.1
ping riri.geeknode.org

Si les ping passent, ca y est vous êtes en wifi ! Ici je n'ai pas pu utiliser le dhcp. dhclient eth2 tout simplement car ce n'est pas encore supporté par bcm43xx. De même, j'utilise ma carte en 802.11b et pas en 802.11g tout simplement car en 802.11g, cela n'est pas encore stable.

Une clé wep devrait marcher également.

Si vous souhaitez une doc plus complète anglaise afin de faire fonctionner le wpa. (ça n'a pas marché chez moi)

http://openfacts.berlios.de/index-en.phtml?title=Broadcom_43xx_Linux_Driver/Debian_Unstable_with_Devicescape_802.11_stack

Modifications du a la sortie du kernel 2.6.16-1

bcm43xx-source et softmac sont maintenant dans vos sources unstable.
Compilez un 2.6.16-1 et downloadez les 2 drivers comme suit :
 - apt-get install bcm43xx-source
 - cd /usr/src
 vous avez ici : bcm43xx.tar.bz2 et ieee80211softmac.tar.bz2
 - decompressez les
 - tar xjvf fichier.tar.bz2
 - cd modules