0. Introducción y antecedentes
Esta respuesta se basa en una extensa investigación realizada por varios usuarios de Ubuntu que trabajaron juntos en casi todos los problemas relacionados con Broadcom. Un agradecimiento especial a chili555 que ayudó en los foros de Ubuntu y en este sitio con muchas preguntas relacionadas con dispositivos inalámbricos y con otros que han contribuido a través de correo electrónico, chats, IRC y más en probar varios controladores con varias de las tarjetas inalámbricas Broadcom más populares (Muchas gracias a Chili555 de verdad. Este tipo sabe lo que hace).
En total, queríamos ofrecer una respuesta que pudiera ser fácil de seguir y cubriera la mayoría de las tarjetas / controladores Broadcom. Después de seguir esta guía, NECESITARÁ probar su conexión inalámbrica durante al menos 2 horas (en realidad recomiendo 8 horas) con otro dispositivo en Modo Ad-Hoc, Modo Infraestructura o Ambos. Los problemas comunes que se resolverán (además de los controladores que no se instalan) son:
- Tiempo de espera de conexiones después de varios minutos u horas
- Deja de buscar otros dispositivos (no ve ningún otro dispositivo)
- Sigue pidiendo contraseña incluso en casos donde AP no tiene ninguna
- Detiene cualquier tráfico de recepción / transmisión (necesita reiniciar para corregir temporalmente)
- Se bloquea el sistema con errores dmesg en el registro (enlace 1 a continuación)
- El sistema se congela por completo (solo puede presionar el botón Reiniciar / Encender) (Enlace 1 a continuación)
- Crea enormes informes de registro que intentan configurar o conectarse correctamente
- Falla cuando se instala a través de controladores adicionales / hardware adicional (enlace 3 a continuación)
- Se conecta y desconecta continuamente cada X cantidad de segundos
- Aparece conectado en Network Manager pero no recibe Internet
- Intenta conectarse muchas veces sin finalizar correctamente la conexión
- Tarda demasiado en conectarse
- Después de actualizar desde una versión anterior (por ejemplo: 12.04 a 12.10) deja de funcionar
- La tarjeta inalámbrica no enciende, habilita o deshabilita (Enlace 2 a continuación)
- Tarjeta inalámbrica bloqueada por hardware
- Más problemas encontrados en Launchpad, Ubuntu Forum y Askubuntu
Enlace 1: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1060268
Enlace 2: https://bugs.launchpad.net/ubuntu/+source/bcmwl/+bug/732677
Enlace 3 - Da un error similar a "Lo sentimos, la instalación de este controlador falló".
Con eso en mente, lo siguiente es lo que tenemos ahora, que se simplifica en solo 3 pasos:
1. Saber qué tarjeta inalámbrica Broadcom tiene
Hay docenas de tarjetas inalámbricas Broadcom y cada día aparecen más. La clave para encontrar el controlador correcto para cualquier tarjeta de red es lo que se conoce como PCI ID (PCI.ID). Para averiguar qué PCI.ID tiene, procedemos a abrir el terminal presionando CTRL+ ALT+ T(debería abrir una ventana con un fondo en blanco) y dentro de este terminal ejecutamos el siguiente comando:
lspci -nn -d 14e4:
Obtendrá algo como lo siguiente si tiene un adaptador inalámbrico Broadcom (la ID 14e4 utilizada en el ejemplo anterior en la mayoría de los casos es una tarjeta inalámbrica Broadcom):
Broadcom Corporation BCM4306 802.11bgn Wireless Network Adapter [14e4:4320] (rev 03)
El PCI.ID en este ejemplo es 14e4: 4320 como se ve dentro de los corchetes [...]. En algunos casos, también necesitará la versión de revisión (si aparece) para algunos casos especiales. En este caso, la versión de revisión es rev 03 como se muestra dentro de los paréntesis (...) al final. Entonces, lo que necesitará después de esta búsqueda es:
[14e4:4320] (rev 03)
Con esta nueva información, puede buscar en la tabla a continuación y seleccionar el método apropiado para instalar su controlador. Por ejemplo, en este caso, dado que tiene el 14e4: 4320 rev 03 , si bajamos la lista al que muestra exactamente el mismo PCI.ID, verá que en las columnas de Ubuntu 12.04, 13.10 o 14.04 se muestra El firmware-b43-installer
controlador del paquete. Esto significa que solo tendrá que instalar este paquete en particular, ya que aparece en todas las columnas de la versión de Ubuntu.
NOTA : antes de continuar, si ha instalado previamente algún controlador, ha incluido en la lista negra o no ha comentado ningún archivo de controlador o archivo de configuración o ha realizado cambios en el sistema para que los controladores funcionen en intentos anteriores, deberá deshacerlos para sigue esta guía Asumimos que está haciendo esto desde cero y no ha cambiado ningún archivo de configuración, módulo o controlador en el sistema de ninguna manera (aparte de actualizar el sistema). Esto incluye cualquier instalación que use apt-get, aptitude, synaptic, dpkg, software center o compilación manual e instalación de los paquetes. El sistema tiene que comenzar desde cero para que esto funcione y para evitar cualquier conflicto que pueda aparecer si se realiza un trabajo anterior.
Por ejemplo, si ha instalado previamente el bcmwl-kernel-source
paquete, deberá eliminarlo mediante el método de purga:
sudo apt-get purge bcmwl-kernel-source
2. Preparando el sistema
Si acaba de instalar Ubuntu, deberá crear un índice de paquetes disponibles antes de que podamos instalar su controlador si aún no lo ha hecho:
sudo apt update
Incluso iría más lejos como para actualizar la lista de Ubuntu de PCI.ID:
sudo update-pciids
En caso de que acabe de aparecer la identificación de un nuevo dispositivo Broadcom particular que esté utilizando.
Ahora, utilizando el PCI.ID que encontró en los pasos anteriores, buscamos en la lista a continuación para encontrar el PCI.ID coincidente y el método para instalar el controlador asociado con él de una manera simple y correcta. El terminal se utilizará para evitar problemas relacionados con la GUI. Esto se aplica con todos los casos, excepto como se indica. El procedimiento de instalación se realiza solo a través del terminal y también mientras está conectado a Internet con una conexión de cable Ethernet temporal o un módem USB o cualquier otro medio posible que pueda darle a su PC, por el momento, acceso a Internet. Después de encontrar en la lista a continuación el paquete correcto, procederemos con la instalación.
3. Instalación del paquete (en línea)
Suponiendo que usó el PCI.ID 14e4: 4320 rev 03 como se encuentra en su búsqueda anterior, y luego miró la tabla a continuación y descubrió que el paquete correcto para instalar es el firmware-b43-installer
, luego procedemos a instalar este paquete en el terminal:
sudo apt install firmware-b43-installer
y luego reiniciar
sudo reboot
El formato para instalar es bastante simple, es solo:
sudo apt install <PACKAGE_NAME>
En el ejemplo anterior, PACKAGE_NAME es firmware-b43-installer
.
TABLA INALÁMBRICA DE BROADCOM (Actualizado el 18 de agosto de 2017)
PCI.ID 16.04 LTS 17.10+
------------------------------------------------------------------------------------
14e4:0576 Special Case #1 UNKNOWN
14e4:1713 firmware-b43-installer firmware-b43-installer
14e4:4301 firmware-b43-installer firmware-b43-installer
14e4:4306 firmware-b43-installer firmware-b43-installer
14e4:4306 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4306 rev 03 firmware-b43-installer firmware-b43-installer
14e4:4307 firmware-b43-installer firmware-b43-installer
14e4:4311 firmware-b43-installer firmware-b43-installer
14e4:4311 rev 01 firmware-b43-installer firmware-b43-installer
14e4:4312 firmware-b43-installer firmware-b43-installer
14e4:4313 firmware-b43-installer firmware-b43-installer
14e4:4315 firmware-b43-installer firmware-b43-installer
14e4:4315 rev 01 firmware-b43-installer firmware-b43-installer
14e4:4318 firmware-b43-installer firmware-b43-installer
14e4:4318 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4319 firmware-b43-installer firmware-b43-installer
14e4:4320 rev 02 firmware-b43-installer firmware-b43-installer
14e4:4320 rev 03 firmware-b43-installer firmware-b43-installer
14e4:4321 firmware-b43-installer firmware-b43-installer
14e4:4324 firmware-b43-installer firmware-b43-installer
14e4:4325 firmware-b43-installer firmware-b43-installer
14e4:4328 firmware-b43-installer firmware-b43-installer
14e4:4328 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:4329 bcmwl-kernel-source bcmwl-kernel-source
14e4:432a bcmwl-kernel-source bcmwl-kernel-source
14e4:432b bcmwl-kernel-source bcmwl-kernel-source
14e4:432c bcmwl-kernel-source bcmwl-kernel-source
14e4:432d bcmwl-kernel-source bcmwl-kernel-source
14e4:4331 firmware-b43-installer firmware-b43-installer
14e4:4335 firmware-b43-installer firmware-b43-installer
14e4:4350 firmware-b43-installer firmware-b43-installer
14e4:4353 Special Case #1 UNKNOWN
14e4:4353 rev 01 Special Case #1 UNKNOWN
14e4:4357 Special Case #1 UNKNOWN
14e4:4358 bcmwl-kernel-source bcmwl-kernel-source
14e4:4359 bcmwl-kernel-source bcmwl-kernel-source
14e4:4360 bcmwl-kernel-source bcmwl-kernel-source
14e4:4365 bcmwl-kernel-source bcmwl-kernel-source
14e4:4365 rev 01 bcmwl-kernel-source bcmwl-kernel-source
14e4:43a0 bcmwl-kernel-source bcmwl-kernel-source
14e4:43ae rev 02 UNKNOWN UNKNOWN
14e4:43b1 bcmwl-kernel-source bcmwl-kernel-source
14e4:43b1 rev 03 bcmwl-kernel-source bcmwl-kernel-source
14e4:43c3 rev 04 UNKNOWN Special Case #2
14e4:4727 bcmwl-kernel-source bcmwl-kernel-source
14e4:4727 rev 01 Special Case #1 Special Case #1
14e4:a962 firmware-b43-installer firmware-b43-installer
------------------------------------------------------------------------------------
Caso especial n. ° 1 : usos bcma
y brcmsmac
combinación de controladores. El firmware requerido se instala por defecto en el paquete linux-firmware
.
Caso especial n. ° 2 : para el ASUS PCE-AC88 AC3100, los pasos son:
- Descargue este archivo y luego de extraerlo, póngalo en / lib / firmware / brcm
sudo cp brcmfmac4366c-pcie.bin /lib/firmware/brcm/brcmfmac4366c-pcie.bin
- Luego
sudo nano /etc/rc.local
agregue modprobe brcmfmac y guarde
sudo reboot
En hardware como el Lenovo S10-2, si su tarjeta inalámbrica se atasca al intentar conectarse a un SSID (sigue intentando conectarse), entonces la alternativa para que funcione sería instalar el bcmwl-kernel-source
paquete (eliminar cualquier otro paquete instalado relacionado con él) ) Lea la sección de Depuración a continuación para obtener más información sobre este dispositivo inalámbrico.
NOTA IMPORTANTE : después de septiembre de 2014, si sigue esta respuesta y aún tiene problemas para instalar el controlador correcto, pruebe el firmware-b43-installer
paquete y notifíquenos a través de comentarios. Hubo algunos cambios y algunos controladores solo funcionarán con este paquete. Recuerde tener un sistema limpio antes de instalarlo:
sudo apt install firmware-b43-installer
En algunos casos particulares, después de instalar el firmware-b43-installer
necesita quitar el módulo b43, habilitarlo nuevamente e incluso proceder a desbloquear con rfkill:
sudo modprobe -r b43
sudo modprobe b43
sudo rfkill unblock all
Si tiene una tarjeta Broadcom que tiene un pci.id diferente, haga una nueva pregunta. Una vez resuelto, la solución se agregará a este tutorial.
4. Instalación del paquete (sin conexión)
4.1 Instalación firmware-b43-installer
Para instalar firmware-b43-installer
sin conexión, vea esta respuesta .
4.2 Instalación bcmwl-kernel-source
Para los casos en que necesita instalar bcmwl-kernel-source
pero está desconectado, aquí hay una excelente respuesta al respecto. Pero básicamente sigue estos pasos:
- Busque el paquete en los repositorios de paquetes de Ubuntu
- Asegúrese de seleccionar la arquitectura correcta (32 bits, 64 bits, etc.)
- Descargue paquetes y paquetes de dependencia relacionados en la misma carpeta.
- Cuando tenga todos los paquetes necesarios (y sus dependencias), vaya a la carpeta que tiene todos los paquetes y ejecútelos
sudo dpkg -i *.deb
. Esto instalará todos los paquetes en esa carpeta. Si da algún error, lea el error y siga los pasos que menciona.
Para dar un ejemplo, después de ir al punto 1 mencionado anteriormente, si tuviera el Broadcom 14e4:43a0
, buscaría el bcmwl-kernel-source
paquete y luego de seleccionar la versión de Ubuntu correspondiente (en mi caso 16.04 o Xenial) aterrizaría en la siguiente página:
http://packages.ubuntu.com/xenial/bcmwl-kernel-source
En esta página, seleccionaría la arquitectura correspondiente (32 o 64) pero también necesitaría descargar las 3 dependencias del paquete mencionadas en esa página como se ve en la siguiente imagen:
Después de descargar todos los paquetes y dependencias, puede continuar copiando todos los paquetes en una sola carpeta y ejecutando el dpkg
comando como se menciona en el paso 4 anterior.
NOTA
En algunas computadoras, antes de ejecutar los comandos, deberá desactivar las Opciones de arranque seguro en su BIOS. Esto se aplica a casos, por ejemplo, donde bcmwl-kernel-source ya está instalado pero el controlador aún no funciona. Puede hacer una reinstalación de esta manera, o deshabilitar el Arranque seguro yendo a la configuración de su BIOS:
sudo apt-get install --reinstall bcmwl-kernel-source
DEPURACIÓN
La siguiente información es material adicional para leer sobre la resolución de varios problemas relacionados con la administración inalámbrica y los conflictos con otros dispositivos de red. Tenga en cuenta que, en algunos casos, necesita tener una versión actualizada del Kernel, ya que cada nueva versión del Kernel presenta nuevos controladores de red, mejoras sobre los controladores existentes o soluciona errores relacionados con ellos.
Antes de leer los puntos mencionados a continuación, asegúrese de tener todos los repositorios habilitados en su sistema Ubuntu. Para verificar, ejecute en el terminal software-properties-gtk
y asegúrese de que todas las opciones en la pestaña de software de Ubuntu estén habilitadas.
Para configurar sus dispositivos inalámbricos a través del terminal, recomiendo ¿Cómo conectar y desconectar manualmente a una red en el terminal?
Si su conexión se cae de vez en cuando, algunos usuarios han sugerido configurar IPv6 como Ignorar . Simplemente vaya al Administrador de red (el icono de red en el panel superior). Haga clic en él y luego seleccione Editar configuración . Luego vaya a la conexión inalámbrica que está utilizando, selecciónela. Ahora ve a la última pestaña que menciona la configuración de IPv6 . En el campo Método, seleccione Ignorar .
Si su computadora portátil no detecta su tarjeta inalámbrica, algunos usuarios han mencionado que el uso rfkill unblock all
resolverá el problema. Otros simplemente apagaron el interruptor WiFi en sus computadoras portátiles y luego lo volvieron a encender (interruptor físico disponible en estas computadoras portátiles). Para obtener más información acerca de rfkill
leer rf kill, desbloquear todo ¡NO FUNCIONA!
Si obtiene ERROR b43-phy0: error fatal de DMA / advertencia b43-phy0: PIO forzado haga lo siguiente:
sudo rmmod b43
sudo modprobe b43 pio=0 qos=0
Si funciona, agréguelo a sus archivos RC para que se ejecute cada vez que inicie. Puede cambiar PIO a 1 si lo necesita.
Si tiene una clave Requerido no disponible al instalar un módulo DKMS (como Nvidia, Broadcom u otros) puede ir a la Respuesta del piloto aquí
Si su tarjeta inalámbrica ve / no ve el enrutador y se atasca en un bucle interminable "Intentando conectarse (Pruebe 1/3)", la solución podría ser la configuración adecuada de su enrutador o dispositivo SSID inalámbrico.
Para todas las tarjetas inalámbricas en general, es muy importante tener en cuenta también los dispositivos de red que está utilizando (enrutadores, conmutadores, canales inalámbricos y bandas inalámbricas, etc.). Con esta información, podrá evaluar mejor cuál podría ser la fuente del problema cuando llegue a un callejón sin salida. Un ejemplo sería el Lenovo S10-2 que usa el PCIe 14e4: 4315 rev 01 . Incluso después de instalar el controlador correcto, el usuario terminaría en un bucle "intentando conectarse". Vería el SSID inalámbrico, pero al intentar conectarse, entraría en un bucle de reconexión.
La solución fue que este dispositivo inalámbrico en particular no era compatible con canales de 40 Mhz ni con 802.11N. El enrutador en ese caso en realidad estaba transmitiendo con 40 Mhz forzados y solo con WiFi-N. Cuando el enrutador se configuró en modo automático y canal de 20/40 Mhz, la tarjeta inalámbrica funcionó correctamente. Este es un escenario de caso que también se repite en otros casos, por lo que una evaluación adecuada del equipo de red ayudaría mucho.
Para casos en los que te repiten:
ERROR @ wl_cfg80211_get_station: dirección Mac incorrecta ...
al hacer una dmesg
y su conexión inalámbrica se cae con frecuencia (varias veces por hora o por día), el problema aquí podría ser que usted está dentro de una señal inalámbrica que se utiliza como un puente inalámbrico (2 enrutadores que comparten el mismo SSID y conexión). Esto puede suceder con los enrutadores modernos que tienen la capacidad de extender la conexión inalámbrica al ofrecer el mismo SSID. su conexión inalámbrica puede caerse porque puede estar entre ambos enrutadores y la intensidad de la señal entre ambos es casi la misma.
Si su conexión se cae muy a menudo, significa que está casi en el medio de ambos dispositivos enrutadores. Para reducir o eliminar la tasa de caída de su dispositivo inalámbrico, intente ubicarse donde su tarjeta inalámbrica pueda ver solo un enrutador o al menos uno de los enrutadores tenga una intensidad de señal más alta que el otro.
También hay algunas técnicas para obligar al dispositivo inalámbrico a conectarse solo a un enrutador específico configurando el BSSID en la dirección MAC del enrutador al que desea conectarse. Esto obligará a su dispositivo inalámbrico a conectarse SOLO a él.
Problemas de arranque seguro
En algunos escenarios específicos, instalar los controladores, ya sea en modo fuera de línea a través de varios paquetes DEB o mediante apt-get con acceso a Internet, no funcionará si Secure Boot no está desactivado.
Esto se debe a que Secure Boot niega el acceso necesario, por lo que los controladores se verán como si estuvieran instalados correctamente cuando de hecho no lo hicieron. Entonces, para casos MUY específicos, deberá deshabilitar temporalmente el Arranque seguro para que los controladores funcionen.
Actualización de firmware de Linux
En otros casos, buscar e instalar el último firmware de Linux resolvería el problema. Ya sea resolviendo problemas menores que ocurrían con una tarjeta de trabajo o haciendo que la tarjeta funcione por primera vez.