BCM4306 langsame Geschwindigkeiten bei einer Einstellung auf 54 Mbit/s

BCM4306 langsame Geschwindigkeiten bei einer Einstellung auf 54 Mbit/s

Ich habe vor Kurzem eine minimale Befehlszeileninstallation von Ubuntu 11.10 auf einem alten Compaq Presario 2500-Laptop durchgeführt. Dieser Laptop verfügt über den WLAN-Adapter Broadcom BCM4306 rev 02.

Ich habe das Paket firmware-b43legacy-installer installiert und der Adapter funktioniert. Er verwendet die b43legacy-Treiber:

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)

Das Problem, das ich habe, betrifft die Übertragungsraten. Wenn Ubuntu die Rate automatisch auf 54 Mbit/s einstellt, sind die Geschwindigkeiten sehr langsam. Ich habe es in meinem LAN mit iperf getestet.

Ich habe über WLAN einen Windows-Laptop in meinem LAN, auf dem iperf im Servermodus läuft. Auf dem Ubuntu-Laptop führe ich iperf im Clientmodus aus und verbinde mich mit dem Windows-Laptop. iperf meldet Geschwindigkeiten von knapp 1 Mbit/s (irgendwo zwischen 600 Kbit/s und 700 Kbit/s).

Ich weiß, dass mein LAN selbst nicht das Problem ist. Ich habe eine iperf-App für mein Android-Telefon. Wenn ich das WLAN dafür aktiviere und mich mit dem LAN verbinde, meldet iperf im Client-Modus beim Verbinden mit demselben Windows-Laptop Geschwindigkeiten von etwa 10 Mbit/s. Ich habe auch einen Desktop-PC mit einer Kabelverbindung zu meinem Router. Wenn ich iperf auf dem Desktop im Server-Modus und iperf auf dem Windows-Laptop im Client-Modus ausführe, meldet iperf Geschwindigkeiten von etwa 20 Mbit/s.

Hier wird es seltsam. Ich ändere die Rate auf dem BCM4306 auf meinem Compaq auf 11 Mbit/s:

sudo iwconfig wlan0 rate 11M

Ich habe die iperf-Tests auf dem Compaq erneut ausgeführt und sehe jetzt Geschwindigkeiten im Bereich von 2 Mbit/s bis 3 Mbit/s. Viel besser!

Das verwirrt mich jedoch, da ich sicher bin, dass der BCM4306 sowohl 802.11b als auch g unterstützt, sich aber verhält, als könne er nur mit „b“-Geschwindigkeiten umgehen.

Ich fände es toll, wenn ich den BCM4306 mit der Geschwindigkeit von 54 Mbit/s richtig zum Laufen bringen könnte. Ich habe versucht, die kompatiblen Wireless-Treiber von linuxwireless.org zu installieren, bin dabei aber auf ein ganz anderes Problem gestoßen, auf das ich lieber nicht näher eingehen möchte, es sei denn, jemand glaubt, dass es mit den von mir verwendeten Treibern zusammenhängen könnte.

Weiß jemand, wie ich meinen BCM4306 bei 54 Mbit/s zum Laufen bekomme?

Dank im Voraus.

BEARBEITEN:

Ich habe vergessen, etwas zu erwähnen. Dieser Compaq hat auch einen Ethernet-Adapter. Wenn ich den BCM4306 deaktiviere und den iperf-Test im Client-Modus erneut auf dem Windows-Laptop ausführe, während ich fest mit meinem Router verbunden bin, erreiche ich Geschwindigkeiten von 19 Mbit/s. Alle diese iperf-Tests sagen mir also, dass es auf den BCM4306 selbst beschränkt ist.

Antwort1

Der Grund, warum 11M besser funktioniert als 54M, liegt darin, dass bei unterschiedlichen Geschwindigkeiten die Signalstärke (und die Reichweite) unterschiedlich ist. Je langsamer, desto besser die Reichweite.

https://en.wikipedia.org/wiki/IEEE_802.11b-1999#Range

Antwort2

Erstellen Sie ein Skript in /etc/network/if-up.d. Sie können es benennen, wie Sie möchten. Nennen Sie es BCM4306

# graphical
gksu gedit /etc/network/if-up.d/BCM4306

# command line
sudo -e /etc/network/if-up.d/BCM4306

Fügen Sie den folgenden Code ein

#!/bin/sh -e
#
# Sets speed of interface to 54M

if [ "$IFACE" = "eth1" ] ; then
    iwconfig wlan0 rate 11M
fi

Machen Sie es ausführbar

sudo chmod a+x /etc/network/if-up.d/BCM4306

Es sollte funktionieren, wenn Sie Ihr Netzwerk neu starten.

Hinweis: 11 M ist ein ungewöhnlicher Wert. Haben Sie es mit 54 M oder 150 M versucht?

verwandte Informationen