BCM4306は54Mbpsに設定すると速度が遅くなります

BCM4306は54Mbpsに設定すると速度が遅くなります

最近、古い Compaq Presario 2500 ラップトップに Ubuntu 11.10 のコマンド ライン最小インストールを実行しました。このラップトップには Broadcom BCM4306 rev 02 Wi-Fi アダプターが搭載されています。

私はfirmware-b43legacy-installerパッケージをインストールし、アダプタは動作しています。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)

私が抱えている問題は転送速度に関するものです。Ubuntu が速度を 54Mbps に自動設定すると、速度が非常に遅くなります。iperf を使用して LAN でテストしました。

私は、Wi-Fi 経由で LAN に接続している Windows ラップトップで、iperf をサーバー モードで実行しています。Ubuntu ラップトップでは、iperf をクライアント モードで実行し、Windows ラップトップに接続します。iperf は、1Mbps をわずかに下回る速度 (600Kbps から 700Kpbs の範囲) を報告します。

LAN 自体に問題があるわけではないことはわかっています。Android スマートフォン用の iperf アプリがあります。このアプリで Wi-Fi を有効にして LAN に参加すると、クライアント モードで実行して同じ Windows ラップトップに接続すると、約 10Mbps の速度が報告されます。また、ルーターに有線接続されたデスクトップ PC もあります。デスクトップで iperf をサーバー モードで実行し、Windows ラップトップで iperf をクライアント モードで実行すると、iperf は約 20Mbps の速度を報告します。

ここで奇妙なことが起こります。Compaq の BCM4306 の速度を 11Mbps に変更します。

sudo iwconfig wlan0 rate 11M

Compaq で iperf テストを再実行すると、速度は 2Mbps ~ 3Mbps の範囲になりました。ずっと良くなりました!

しかし、BCM4306 は 802.11b と g の両方に対応していると確信しているにもかかわらず、あたかも「b」の速度しか処理できないかのように動作しているため、混乱が生じます。

BCM4306 を 54Mbps の速度で正常に動作させることができれば最高です。linuxwireless.org から compat-wireless ドライバーをインストールしようとしましたが、別の問題に遭遇しました。使用しているドライバーに関係があると思われる人がいない限り、この件には触れたくないです。

BCM4306 を 54Mbps で正常に動作させる方法をご存知の方はいらっしゃいますか?

前もって感謝します。

編集:

言い忘れたことがありました。この Compaq には Ethernet アダプタもあります。BCM4306 を無効にして、ルーターに有線接続した状態で Windows ラップトップに対してクライアント モードで iperf テストを再度実行すると、速度は 19Mbps になります。つまり、これらすべての iperf テストは、BCM4306 自体に分離されていることを示しています。

答え1

11M が 54M よりも優れている理由は、速度が異なると信号強度 (および範囲) が異なるためです。速度が遅いほど、範囲は広くなります。

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

答え2

でスクリプトを作成し/etc/network/if-up.d、好きな名前を付けることができます。BCM4306と呼びます。

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

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

次のコードを入力してください

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

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

実行可能にする

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

再起動またはネットワークを再起動すると動作するはずです。

注: 11M は奇数です。54M または 150M を試しましたか?

関連情報