Недавно я выполнил минимальную установку Ubuntu 11.10 в командной строке на старом ноутбуке Compaq Presario 2500. Этот ноутбук оснащен адаптером Wi-Fi Broadcom BCM4306 rev 02.
Я установил пакет 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 автоматически устанавливает скорость 54 Мбит / с, я получаю очень медленные скорости. Я проверил в своей локальной сети с помощью iperf.
У меня есть ноутбук с Windows в локальной сети через Wi-Fi, который работает в режиме сервера iperf. На ноутбуке Ubuntu я запускаю iperf в режиме клиента и подключаюсь к ноутбуку Windows. iperf сообщает о скоростях чуть менее 1 Мбит / с (от 600 до 700 Кбит / с).
Я знаю, что сама моя локальная сеть не является проблемой. У меня есть приложение iperf для моего телефона Android. Когда я включаю для него Wi-Fi и подключаюсь к локальной сети, его запуск в режиме клиента при подключении к тому же ноутбуку с Windows сообщает о скорости около 10 Мбит / с. У меня также есть настольный ПК с проводным подключением к маршрутизатору. Когда я запускаю iperf на рабочем столе в режиме сервера и запускаю iperf на ноутбуке с Windows в режиме клиента, iperf сообщает о скоростях около 20 Мбит / с.
Вот где это становится странным. Я изменяю скорость до 11 Мбит / с на BCM4306 на моем Compaq:
sudo iwconfig wlan0 rate 11M
Я перезапускаю тесты iperf на Compaq, и теперь я вижу скорости в диапазоне от 2 Мбит до 3 Мбит / с. Гораздо лучше!
Однако меня это смущает, так как я уверен, что BCM4306 выполняет и 802.11b, и g, но при этом он работает так, как будто он может обрабатывать только скорости «b».
Мне бы понравилось, если бы я мог заставить BCM4306 работать должным образом со скоростью 54 Мбит / с. Я попытался установить драйверы compat-wireless с linuxwireless.org, но там я столкнулся с целым рядом других червей, в которые я бы предпочел не попасть, если кто-то не считает, что это может быть связано с драйверами, которые я использую.
Кто-нибудь знает, как я могу заставить мой BCM4306 работать должным образом со скоростью 54 Мбит / с?
Заранее спасибо.
РЕДАКТИРОВАТЬ:
Я забыл упомянуть кое-что. Этот Compaq также имеет адаптер Ethernet. Если я отключаю BCM4306 и снова запускаю тест iperf в режиме клиента на ноутбуке с Windows, в то время как он жестко подключен к маршрутизатору, я получаю скорость 19 Мбит / с. Итак, все эти тесты iperf говорят мне, что он изолирован от самого BCM4306.
Причина, по которой 11M работает лучше, чем 54M, заключается в том, что при разных скоростях мощность сигнала (и диапазон) различны. Чем медленнее, тем лучше дальность.
Сделайте скрипт в /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
Сделать его исполняемым [ 116]
sudo chmod a+x /etc/network/if-up.d/BCM4306
Это должно работать при перезагрузке или перезагрузке сети.
Примечание. 11M - нечетное значение, пробовали ли вы 54M или 150M?