最近、古い 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 よりも優れている理由は、速度が異なると信号強度 (および範囲) が異なるためです。速度が遅いほど、範囲は広くなります。
答え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 を試しましたか?