OldGentooWiki:Configuration pilote B43
De Gentoo-Quebec.
Introduction
Introduit en Janvier 2002, le processeur BCM4301 a propulsé la compagnie Broadcom dans le marché des cartes sans-fil. Ce processeur est apparu rapidement dans des PCMCIA, PCI et équipe surtout des portables bon marché. Les processeurs BCM43xx sont ainsi devenus très populaires, très rapidement.
Ils sont une solution à bas prix et ont un excellent support côté microsoft.
Par contre, sous Linux c'est une autre histoire, car le support a été longtemps tout simplement inexistant. Avant la sortie du pilote B43, la seule manière d'utiliser une carte basée sur le processeur BCM43xx était d'utiliser le package ndiswrapper qui en fin de compte, utilise le pilote Windows XP.
La nécessité d'utiliser ndiswrapper n'a plus été requise avec la venue du noyau 2.6.24 qui était la première version utilisant le pilote b43 provenant du noyau.
Au début, le pilote b43 était très lent côté performance réseau et surtout instable, mais avec la venue du noyau 2.6.27, le pilote b43 a commencé à être utilisable et surtout il a été considéré comme stable.
Vérification de votre carte pour savoir si elle est supportée par Linux
Le pilote B43 supporte les cartes suivantes : (les cartes 14e4:4301 et 14e4:4306 sont supportées par le pilote b43legacy)
| Numéro du fabriquant | Supportée |
|---|---|
| (14e4:4307) bcm4306 | Oui |
| (14e4:4311) bcm4311 | Oui |
| (14e4:4312) bcm4312 | Supporte seulement le 802.11g |
| (14e4:4318) bcm4318 | Oui |
| (14e4:4319) bcm4319 | Oui |
| (14e4:4320) bcm4320 | Oui |
| (14e4:4321) à 14e4:432b | Non |
| (14e4:4301) | Oui mais utilise le pilote b43legacy |
| (14e4:4306) | Oui mais utilise le pilote b43legacy |
Vous pouvez obtenir la liste de vos composantes en lançant la commande suivante :
00:00.0 0600: 8086:2e20 (rev 03) 00:01.0 0604: 8086:2e21 (rev 03) 00:1a.0 0c03: 8086:3a37 00:1a.1 0c03: 8086:3a38 00:1a.2 0c03: 8086:3a39 00:1a.7 0c03: 8086:3a3c 00:1b.0 0403: 8086:3a3e 00:1c.0 0604: 8086:3a40 00:1c.4 0604: 8086:3a48 00:1c.5 0604: 8086:3a4a 00:1d.0 0c03: 8086:3a34 00:1d.1 0c03: 8086:3a35 00:1d.2 0c03: 8086:3a36 00:1d.7 0c03: 8086:3a3a 00:1e.0 0604: 8086:244e (rev 90) 00:1f.0 0601: 8086:3a16 00:1f.2 0106: 8086:3a22 00:1f.3 0c05: 8086:3a30 01:00.0 0300: 10de:05e2 (rev a1) 02:00.0 0200: 11ab:4364 (rev 12) 03:00.0 0101: 11ab:6121 (rev b1) 05:02.0 0200: 11ab:4320 (rev 14) 05:03.0 0c00: 11c1:5811 (rev 70)
Maintenant, avec ce résultat vous pouvez visiter le site suivant pour obtenir le détail complet de votre ordinateur.
Si vous carte est supportée, vous pouvez aller à l'étape suivante.
Configuration du noyau
Configuration de la section Networking
--- Wireless
{M} Improved wireless configuration API (NEW)
-*- Wireless extensions
[*] Wireless extensions sysfs files (NEW)
<M> Common routines for IEEE802.11 drivers
<M> Generic IEEE 802.11 Networking Stack (mac80211)
Rate control algorithm selection --->
[*]Enable LED triggers (NEW)
--- Wireless
<M> RF switch subsystem support --->
<M> Input layer to RF switch connector
Configuration de la section Wireless LAN
Section Device Drivers --> Network Device Support --> Wireless LAN
Configuration de la section Wireless LAN
[*] Wireless LAN (IEEE 802.11) <M> Broadcom 43xx wireless support (mac80211 stack)
Configuration de la section Cryptographic API
Ce sont les algorithmes d'encryptions que le pilote Intel pour utiliser selon votre utilisation.
Section Cryptographic API
-*- Cryptographic algorithm manager
-*- Authenc support
-*- CBC support
{*} ECB support
-*- HMAC support
-*- MD5 digest algorithm
<M> Michael MIC keyed digest algorithm
-*- SHA1 digest algorithm
<M> SHA224 and SHA256 digest algorithm
{*} AES cipher algorithms
<M> AES cipher algorithms (x86_64)
{*} ARC4 cipher algorithm
-*- DES and Triple DES EDE cipher algorithms
Configuration de la Sonics Silicon Backplane
Section Device Drivers
--> Sonics Silicon Backplane
{M} Sonics Silicon Backplane support
-*- Support for SSB on PCI-bus host
[ ] SSB debugging
-*- SSB PCI core driver
Recompilation du noyau si nécessaire
Si vous avez fait un changement au niveau du noyau, il est conseillé de lire ceci et surtout de redémarrer votre ordinateur.
Vérification du fonctionnement
Si tout est correct, lorsque vous devriez voir ceci :
b43-pci-bridge 0000:06:00.0: PCI INT A -> GSI 18 (level, low) -> IRQ 18 b43-pci-bridge 0000:06:00.0: setting latency timer to 64 ssb: Sonics Silicon Backplane found on PCI device 0000:06:00.0 b43-phy0: Broadcom 4311 WLAN found (core revision 10) phy0: Selected rate control algorithm 'minstrel' Broadcom 43xx driver loaded [ Features: P, Firmware-ID: FW13 ]
Si c'est le cas, vous pouvez continuer.
Si vous êtes chanceux et que votre carte est détectée par votre noyau, vous pouvez vous rendre directement à cette section du Wiki
Installationd'un firmware en cas de pépins
Si pour une raison ou pour une autre, votre carte Wifi n'est toujours pas détectée, vous devez utiliser un firmware qui va activer le support de votre carte Wifi manuellement.
De plus, vous devez télécharger le firmware en lisant la documentation ici car dépendament de la version du noyau que vous utilisé, vous aller devoir télécharger le fichier broadcom correspondant qui devra être compatible avec votre noyau.
$ wget http://downloads.openwrt.org/sources/broadcom-wl-4.80.53.0.tar.bz2
Installation du firmware
Maintenant vous devez aller dans le dossier où vous avez télécharger le fichier bz2.
Si tout va bien, la commande suivante :
devrait vous retourner ceci :
otal 168 -rw-r--r-- 1 root root 18 2009-08-27 17:42 a0g0bsinitvals4.fw -rw-r--r-- 1 root root 158 2009-08-27 17:42 a0g0bsinitvals5.fw -rw-r--r-- 1 root root 2680 2009-08-27 17:42 a0g0initvals4.fw -rw-r--r-- 1 root root 1858 2009-08-27 17:42 a0g0initvals5.fw -rw-r--r-- 1 root root 158 2009-08-27 17:42 a0g1bsinitvals13.fw -rw-r--r-- 1 root root 158 2009-08-27 17:42 a0g1bsinitvals5.fw -rw-r--r-- 1 root root 2056 2009-08-27 17:42 a0g1initvals13.fw -rw-r--r-- 1 root root 1858 2009-08-27 17:42 a0g1initvals5.fw -rw-r--r-- 1 root root 158 2009-08-27 17:42 b0g0bsinitvals13.fw -rw-r--r-- 1 root root 18 2009-08-27 17:42 b0g0bsinitvals4.fw -rw-r--r-- 1 root root 158 2009-08-27 17:42 b0g0bsinitvals5.fw -rw-r--r-- 1 root root 2056 2009-08-27 17:42 b0g0initvals13.fw -rw-r--r-- 1 root root 2680 2009-08-27 17:42 b0g0initvals4.fw -rw-r--r-- 1 root root 1858 2009-08-27 17:42 b0g0initvals5.fw -rw-r--r-- 1 root root 158 2009-08-27 17:42 lp0bsinitvals13.fw -rw-r--r-- 1 root root 2052 2009-08-27 17:42 lp0initvals13.fw -rw-r--r-- 1 root root 1320 2009-08-27 17:42 pcm4.fw -rw-r--r-- 1 root root 1320 2009-08-27 17:42 pcm5.fw -rw-r--r-- 1 root root 26600 2009-08-27 17:42 ucode11.fw -rw-r--r-- 1 root root 24424 2009-08-27 17:42 ucode13.fw -rw-r--r-- 1 root root 20080 2009-08-27 17:42 ucode4.fw -rw-r--r-- 1 root root 22088 2009-08-27 17:42 ucode5.fw
Le package net-wireless/b43-fwcutter est utile seulement lorsqu'on installe ce pilote la première fois ou lorsque le firmware est mise à jour.
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.
Source de documentation : http://linuxwireless.org/en/users/Drivers/b43 et http://www.broadcom.com/press/release.php?id=248966&industry_id=2

