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 上進行了測試。

我的 LAN 上有一台透過 Wi-Fi 連線的 Windows 筆記型電腦,它在伺服器模式下執行 iperf。在 Ubuntu 筆記型電腦上,我在客戶端模式下執行 iperf 並連接到 Windows 筆記型電腦。 iperf 報告速度略低於 1Mbps(從 600Kbps 到 700Kpbs)。

我知道我的 LAN 本身不是問題。我的 Android 手機有一個 iperf 應用程式。當我為其啟用 Wi-Fi 並加入 LAN 時,以客戶端模式運行它並連接到同一台 Windows 筆記型電腦,報告速度約為 10Mbps。我還有一台桌上型電腦,透過有線連接到我的路由器。當我在桌上型電腦上以伺服器模式執行 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 正常工作?

提前致謝。

編輯:

我忘了提一件事。該康柏也有一個乙太網路適配器。如果我停用 BCM4306 並再次在用戶端模式下對 Windows 筆記型電腦執行 iperf 測試,同時硬連線到路由器,我將獲得 19Mbps 的速度。所以所有這些 iperf 測試告訴我它與 BCM4306 本身是隔離的。

答案1

11M比54M效果更好的原因是在不同速率下訊號功率(和範圍)不同。越慢射程越好。

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

答案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 嗎?

相關內容