J'ai récemment fait une installation minimale en ligne de commande d'Ubuntu 11.10 sur un ancien ordinateur portable Compaq Presario 2500. Cet ordinateur portable dispose de l'adaptateur Wi-Fi Broadcom BCM4306 rev 02.
J'ai installé le package firmware-b43legacy-installer et l'adaptateur fonctionne. Il utilise les pilotes b43legacy:
filename: /lib/modules/3.0.0-14-generic/kernel/drivers/net/wireless/b43legacy/b43legacy.ko
firmware: b43legacy/ucode4.fw
firmware: b43legacy/ucode2.fw
firmware: FW10
license: GPL
author: Michael Buesch
author: Stefano Brivio
author: Martin Langer
description: Broadcom B43legacy wireless driver
srcversion: 0355EB47C162A7D873BD576
alias: ssb:v4243id0812rev04*
alias: ssb:v4243id0812rev02*
depends: mac80211,ssb,cfg80211
vermagic: 3.0.0-14-generic SMP mod_unload modversions 686
parm: pio:enable(1) / disable(0) PIO mode (int)
parm: bad_frames_preempt:enable(1) / disable(0) Bad Frames Preemption (int)
parm: fwpostfix:Postfix for the firmware files to load. (string)
Le problème que je rencontre concerne les taux de transfert. Lorsque Ubuntu règle automatiquement le débit à 54 Mbps, j'obtiens des vitesses très lentes. J'ai testé sur mon LAN en utilisant iperf.
J'ai un ordinateur portable Windows sur mon réseau local via Wi-Fi qui exécute iperf en mode serveur. Sur l'ordinateur portable Ubuntu, j'exécute iperf en mode client et je me connecte à l'ordinateur portable Windows. iperf signale des vitesses légèrement inférieures à 1 Mbps (de 600 kbps à 700 kbps).
Je sais que mon LAN lui-même n'est pas le problème. J'ai une application iperf pour mon Android. Lorsque j'active le Wi-Fi pour cela et que je me connecte au LAN, l'exécuter en mode client en se connectant au même ordinateur portable Windows affiche des vitesses d'environ 10 Mbps. J'ai également un ordinateur de bureau avec une connexion filaire à mon routeur. Lorsque j'exécute iperf sur le bureau en mode serveur et que j'exécute iperf sur l'ordinateur portable Windows en mode client, iperf signale des vitesses d'environ 20 Mbps.
Voici où ça devient bizarre. Je change le taux à 11Mbps sur le BCM4306 sur mon Compaq:
Sudo iwconfig wlan0 rate 11M
J'ai relancé les tests iperf sur le Compaq et maintenant je vois des vitesses de l'ordre de 2Mbps à 3Mbps. Bien mieux!
Cependant, cela m'embrouille car je suis certain que le BCM4306 fait à la fois 802.11b et g, mais il agit comme s'il ne pouvait gérer que des vitesses "b".
Je serais ravi de pouvoir faire fonctionner correctement le BCM4306 au taux de 54 Mbps. J'ai essayé d'installer les pilotes compatibles sans fil de linuxwireless.org, mais j'ai rencontré un tout autre bidon de vers dans lequel je préférerais ne pas entrer sauf si quelqu'un pense que cela peut être lié aux pilotes que j'utilise.
Est-ce que quelqu'un sait comment faire fonctionner correctement mon BCM4306 à 54 Mbps?
Merci d'avance.
ÉDITER:
J'ai oublié de mentionner quelque chose. Ce Compaq possède également un adaptateur Ethernet. Si je désactive le BCM4306 et réexécute le test iperf en mode client sur l'ordinateur portable Windows alors que je suis câblé à mon routeur, j'obtiens des vitesses de 19 Mbps. Donc, tous ces tests iperf me disent qu'il est isolé du BCM4306 lui-même.
La raison pour laquelle le 11M fonctionne mieux que le 54M est qu'à des taux différents, la puissance du signal (et la plage) est différente. Plus la plage est lente et meilleure.
Créez un script dans /etc/network/if-up.d
, vous pouvez le nommer comme vous le souhaitez, appelez-le BCM4306
# graphical
gksu gedit /etc/network/if-up.d/BCM4306
# command line
Sudo -e /etc/network/if-up.d/BCM4306
Mettez-y le code suivant
#!/bin/sh -e
#
# Sets speed of interface to 54M
if [ "$IFACE" = "eth1" ] ; then
iwconfig wlan0 rate 11M
fi
Rendez-le exécutable
Sudo chmod a+x /etc/network/if-up.d/BCM4306
Cela devrait fonctionner lorsque vous redémarrez ou redémarrez votre réseau.
Remarque: 11M est une valeur étrange, avez-vous essayé 54M ou 150M?