Configuration pilote Broadcom-sta
De Gentoo-Quebec.
Sommaire |
Introduction
Dans Linux, le support des adaptateurs Wifi Broadcom a connu des hauts et des bas. Durant une période, la seule façon de les faire fonctionner était par le biais de ndiswrapper et des pilotes XP. Malheureusement, ndiswrapper était considéré une bidulle pas propre qui fonctionnait avec un pilote windows et il y avait également des problèmes liés au copyright et licences. Le support pour ndiswrapper a été rompu dans le noyau 2.6.23 et supprimé dans le 2.6.24. Et bien qu'il ait été rétabli dans le noyau 2.6.25, la qualité n'a jamais été la même. Les connexions était faible, et la vitesse, qui était excellente avec le 2.6.22.19 et ndiswrapper, continuait de se dégrader. Les mêmes problèmes se retrouvait au niveau de la stabilité.
Heureusement, avec le noyau 2.6.24 est apparu le pilote b43. Il s'agissait d'un driver composé de deux éléments. Il vous fallait activer le pilote au niveau du noyau et il nécessitait également un micro-code. Malheureusement, il a fallu du temps avant que le b43 fonctionne correctement ou plus rapidement que 1MB/s. C'est tout à fait compréhensible dans la mesure où, Broadcom se montrait très discret concernant leur puce et les pilotes qui les faisaient fonctionner. Cela prit du temps, mais finalement, le pilote b43 se stabilisa et devint très populaire si on prend en compte le nombre d'adaptateur Wifi Broadcom existant.
Finalement, en janvier 2009, Broadcom prit la décision de publier un pilote Linux propriétaire(firmware) pour leurs adaptateurs Wifi. Dans le monde Linux, cela fit beaucoup d'heureux parmi les utilisateurs de produit Broadcom. Cependant, à l'arrivée du noyau 2.6.29, en mars 2009, un petit problème apparu. Une partie importante dans l'infrastructure du noyau nécessaire au fonctionnement du pilote broadcom-sta fut supprimée. L'infrastructure en question avait était marquée dépréciée depuis un certain temps.
Quelques correctifs et quelques pilotes plus tard, le pilote broadcom-sta semble avoir complètement surmonté les anciens problèmes, comprenez ici, les "kernel panics" qui se produisait parfois n'existent plus.
Installation
Heureusement pour les utilisateurs de Gentoo, l'installation du pilote broadcom-sta est très simple. La seule chose à prendre en compte est la version du noyau que vous utilisez. A cause de la suppresion de l'infrastructure mentionnée précédemment, le pilote broadcom-sta utilise deux configurations différentes selon la version du noyau que vous utilisez.
Si vous utilisez une version antérieure à la version 2.6.29, vous devez utilisez la configuration suivante dans le noyau:
--- Wireless <*> Improved wireless configuration API [*] nl80211 new netlink interface support [ ] Old wireless static regulatory definitions -*- Wireless extensions [*] Wireless extensions sysfs files < > Generic IEEE 802.11 Networking Stack (mac80211) <*> Generic IEEE 802.11 Networking Stack (DEPRECATED) [ ] Enable full debugging output <M> IEEE 802.11 WEP encryption (802.1x) <M> IEEE 802.11i CCMP support <M> IEEE 802.11i TKIP encryption
Si vous utilisez la version 2.6.29 ou une version plus récente, vous devez utilisez la configuration suivante.
--- Wireless <*> Improved wireless configuration API [ ] cfg80211 regulatory debugging [ ] Old wireless static regulatory definitions [*] Wireless extensions [*] Wireless extensions sysfs files <*> Common routines for IEEE802.11 drivers
Une fois la configuration du noyau effectuée, assurez vous que le lien symbolique /usr/src/linux pointe bien vers le noyau que vous désirez utiliser. En effet, comme le pilote broadcom-sta est compilé par rapport a un noyau déterminé, il lui faut connaitre ce noyau.
Available kernel symlink targets:
[1] linux-2.6.30-gentoo-r5
[2] linux-2.6.30-gentoo-r6 *
# eselect kernel set numéro_du_kernel_choisi
Une fois ceci effectué:
Vous devez accepter la licence de Broadcom en ajoutant cette ligne dans votre fichier /etc/make.conf
# nano /etc/make.conf ACCEPT_LICENSE="Broadcom"
Ensuite, redémarrer l'ordinateur et vérifiez le bon fonctionnement du sans-fil.
En assumant que votre point d'accès est configuré et opérationnel, la commande iwconfig devrait produire un résultat similaire à celui-ci.
# iwconfig
lo no wireless extensions.
wlan0 IEEE 802.11bg ESSID:"pappynet" Nickname:""
Mode:Managed Frequency:2.437 GHz Access Point: 00:AA:BB:CC:BB:EE
Bit Rate=54 Mb/s Tx-Power:32 dBm
Retry min limit:7 RTS thr:off Fragment thr:off
Power Managementmode:All packets received
Link Quality=5/5 Signal level=-33 dBm Noise level=-95 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:4 Invalid misc:0 Missed beacon:0
Le pilote broadcom-sta est actuellemnt listé ~arch. Ceux qui utilisent Gentoo stable (arch) doivent ajouter la ligne "net-wireless/braodcom-sta ~<arch>" à /etc/portage package.keywords où <arch> est votre architecture, x86 ou amd64
Pour un Gentoo/Funtoo stable 32Bits:
Pour un Gentoo/Funtoo stable 64Bits:
Du fait que le pilote b44 utilise le modules sbb, les pilotes broadcom-sta et b44 (Broadcom 440x/47xx ethernet support) vont entrer en conflit. Si vous avez une carte qui nécessite le b44, vous devrez également utilisé le b43.
Si vous passez du module b43 au module broadcom-sta, assurez-vous de désactiver le module ssb care puisque celui-ci rend le pilote broadcom-sta instable et non-fonctionnel.
Lors des test que j'ai personnellement effectués, le pilote broadcom-sta était constamment plus rapide que le b43 mais toujours plus lent que ndiswrapper. Tout bien considéré, le pilote broadcom-sta est LE pilote pour votre adaptateur Wifi Broadcom.
Mise en place de la connexion réseau
Maintenant que votre noyau est correctement configuré, vous allez pouvoir soit utiliser un gestionnaire de connection automatique du style Networkmanager,Wicd ou vous allez vouloir utiliser la méthode manuelle.
Si vous voulez utiliser la méthode manuelle, vous allez devoir procéder ainsi.
Tout d'abord, vous devez vérifier si votre interface réseau wlan0 et wmaster existent.
eth0 Link encap:Ethernet HWaddr 00:22:15:52:aa:df
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:31 Base address:0x4000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
sit0 Link encap:IPv6-in-IPv4
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wlan0 Link encap:Ethernet HWaddr 00:1f:3b:a4:79:9f
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
wmaster0 Link encap:UNSPEC HWaddr 00-1F-3B-A4-79-9F-6C-6F-00-00-00-00-00-00-00-00
[NO FLAGS] MTU:0 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
L'interface wlan0 et wmaster0 vous indique qu'au moins votre configuration du noyau est adéquate.
Création du lien symbolique net.wlan0
La prochaine étape consiste à créer le lien symbolique net.wlan0 qui va vous permettre de démarrer manuellement votre connexion sans-fil.
Si tout va bien, vous allez obtenir ceci :
lrwxrwxrwx 1 root root 6 mar 30 19:19 net.eth0 -> net.lo lrwxrwxrwx 1 root root 6 mar 30 19:19 net.wlan0 -> net.lo -rwxr-xr-x 1 root root 30696 mar 30 19:19 net.lo
Installation de wireless-tools
Vérification des réseaux autour de chez-vous
Si tout est fonctionnel, vous allez être en mesure de détecter les réseaux autour de votre résidence en lançant la commande suivante :
Si tout va bien, vous allez obtenir un résultat dans ce genre :
lo Interface doesn't support scanning.
irda0 Interface doesn't support scanning.
sit0 Interface doesn't support scanning.
wmaster0 Interface doesn't support scanning.
wlan0 Scan completed :
Cell 01 - Address: 00:1D:5A:E4:6C:D9
ESSID:"BELL887"
Mode:Master
Channel:1
Frequency:2.412 GHz (Channel 1)
Quality=69/100 Signal level=-64 dBm Noise level=-71 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:tsf=00000054d16f134f
Cell 02 - Address: 00:1A:70:62:40:88
ESSID:"gentoonet"
Mode:Master
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=93/100 Signal level=-36 dBm Noise level=-71 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s
24 Mb/s; 36 Mb/s; 54 Mb/s; 6 Mb/s; 9 Mb/s
12 Mb/s; 48 Mb/s
Extra:tsf=0000002a20b44885
Cell 03 - Address: 00:1B:11:40:D6:58
ESSID:"ChC)rie"
Mode:Master
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=69/100 Signal level=-64 dBm Noise level=-71 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 6 Mb/s; 9 Mb/s
11 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:tsf=0000000279c69cb9
Installation de WPA_Supplicant
L'installation d'un client WPA va vous permettre de gérer vos connexions réseau à votre convenance. En effet, malgré le nom, le client WPA_Supplicant permet de gérer les différents types de réseaux sans-fil présentement.
Configuration du fichier /etc/wpa_supplicant/wpa_supplicant.conf
Par défaut le fichier est presque vide, par contre il est conseillé d'utiliser une configuration standard comme celle-ci :
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=wheel
ap_scan=0
#update_config=1
network={
ssid="votre_réseau"
psk="votre_mot_de_passe"
proto=WPA2
key_mgmt=WPA-PSK
pairwise=CCMP
group=CCMP
priority=5
}
Dans cet exemple, nous utilisons le protocole WPA2 en utilisant l'algorithme CCMP.
Configuration du fichier /etc/conf.d/net
Une dernière étape consiste à configurer le fichier /etc/conf.d/net pour que celui-ci prenne en compte l'utilisation de la carte réseau sans-fil via le client WPA_Supplicant.
Pour ce faire, vous devez ajouter ceci dans votre fichier :
#WPA_SUPPLICANT modules=( "wpa_supplicant" ) wpa_supplicant_wlan0="-Dwext" config_wlan0=( "dhcp" )
Le moment de vérité
La dernière étape consiste à lancer la connexion réseau sans-fil manuellement.
Si tout est fonctionnel, vous allez obtenir le résultat suivant :
Selected interface 'wlan0' bssid=00:1A:70:62:40:88 ssid=Gentoonet id=0 pairwise_cipher=CCMP group_cipher=CCMP key_mgmt=WPA-PSK wpa_state=COMPLETED ip_address=192.168.1.100
Ce document est une traduction du document écrit spécialement pour Gentoo-Québec.org par Robert Raitz connu sous le nom de Pappy Mcfae.

