BCM4306 velocidades lentas cuando se configura en 54 Mbps

BCM4306 velocidades lentas cuando se configura en 54 Mbps

Recientemente hice una instalación mínima desde la línea de comandos de Ubuntu 11.10 en una vieja computadora portátil Compaq Presario 2500. Esta computadora portátil tiene el adaptador Wi-Fi Broadcom BCM4306 rev 02.

Instalé el paquete firmware-b43legacy-installer y el adaptador está funcionando. Está utilizando los controladores 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)

El problema que tengo es con las tasas de transferencia. Cuando Ubuntu establece automáticamente la velocidad en 54 Mbps, obtengo velocidades muy lentas. Probé en mi LAN usando iperf.

Tengo una computadora portátil con Windows en mi LAN a través de Wi-Fi que ejecuta iperf en modo servidor. En la computadora portátil Ubuntu, ejecuto iperf en modo cliente y me conecto a la computadora portátil con Windows. iperf informa velocidades de poco menos de 1 Mbps (entre 600 Kbps y 700 Kpbs).

Sé que mi LAN en sí no es el problema. Tengo una aplicación iperf para mi teléfono Android. Cuando habilito el Wi-Fi y me uno a la LAN, ejecutándolo en modo cliente conectándome a la misma computadora portátil con Windows, se obtienen velocidades de aproximadamente 10 Mbps. También tengo una PC de escritorio con conexión por cable a mi enrutador. Cuando ejecuto iperf en el escritorio en modo servidor y ejecuto iperf en la computadora portátil con Windows en modo cliente, iperf informa velocidades de aproximadamente 20 Mbps.

Aquí es donde se pone raro. Cambio la velocidad a 11 Mbps en el BCM4306 de mi Compaq:

sudo iwconfig wlan0 rate 11M

Vuelvo a ejecutar las pruebas de iperf en Compaq y ahora veo velocidades en el rango de 2 Mbps a 3 Mbps. ¡Mucho mejor!

Sin embargo, esto me confunde porque estoy seguro de que el BCM4306 admite 802.11b y g, pero actúa como si sólo pudiera manejar velocidades "b".

Me encantaría poder hacer que el BCM4306 funcione correctamente a una velocidad de 54 Mbps. Intenté instalar los controladores inalámbricos compatibles desde linuxwireless.org, pero me encontré con otra lata de gusanos en la que preferiría no entrar a menos que alguien sienta que puede estar relacionado con los controladores que estoy usando.

¿Alguien sabe cómo puedo hacer que mi BCM4306 funcione correctamente a 54 Mbps?

Gracias de antemano.

EDITAR:

Olvidé mencionar algo. Este Compaq también tiene un adaptador Ethernet. Si desactivo el BCM4306 y ejecuto la prueba iperf en modo cliente nuevamente en la computadora portátil con Windows mientras estoy conectado a mi enrutador, obtengo velocidades de 19 Mbps. Entonces, todas estas pruebas de iperf me dicen que está aislado del propio BCM4306.

Respuesta1

La razón por la que 11M funciona mejor que 54M es que a diferentes velocidades la potencia de la señal (y el alcance) es diferente. Cuanto más lento, mejor alcance.

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

Respuesta2

Crea un script en /etc/network/if-up.d, puedes nombrarlo como quieras, llámalo BCM4306

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

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

Pon el siguiente código en él.

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

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

Hazlo ejecutable

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

Debería funcionar cuando reinicies o reinicies tu red.

Nota: 11M es un valor impar, ¿ha probado 54M o 150M?

información relacionada