GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo habilitar Broadcom Wireless en Manjaro

Aquí hay un problema interesante. Hace varias semanas, probé Manjaro 18.0.4 Illyria en mi computadora portátil HP Pavilion y me encontré con un fenómeno interesante. La computadora portátil está equipada con una tarjeta Broadcom Wireless y, en la sesión en vivo, tanto con controladores gratuitos como no gratuitos, la red funcionó correctamente. Sin embargo, después de la instalación, no tenía conexión inalámbrica.

Mirando el aspecto del sistema, encontré un error que decía error WLC_SCAN (-22). Una vez que llegué a Intertubes con esta búsqueda, se desató el infierno. Encontré docenas de publicaciones en los foros de Arch y Manjaro hablando de este tema. Se ofrecieron algunas soluciones, pero fueron ineficaces o muy difíciles de implementar. Así que decidí tratar de arreglar esto por mi cuenta, de ahí esta guía. Sígueme.

Problema con más detalle

Da la casualidad de que, en mi caso, aparecía el icono de conexión inalámbrica y el administrador de red enumeraba una serie de puntos de acceso cerca de la computadora portátil. Pero cuando traté de conectarme, no pasaba nada. Escribía la contraseña, esperaba y luego, el punto de acceso seleccionado simplemente desaparecía de la lista y no se establecía ninguna conexión. Ejecutando dmesg, vi el siguiente texto:

[ 526.274664] IPv6:ADDRCONF(NETDEV_UP):wlo1:el enlace no está listo
[ 526.276614] ERROR @wl_cfg80211_scan :
[ 526.276619] Error WLC_SCAN (-22)

Tenía una tarjeta de red inalámbrica identificada (activa y funcionando). El módulo del núcleo wl (gratuito) se cargó en la memoria. Sin embargo, el sistema no pudo establecer una conexión. Desactivar IPv6 no ayudó; esto es solo un artefacto de no usar IPv6 en los enrutadores.

Intenté algunas de las soluciones rápidas sugeridas en los distintos hilos. Una de ellas fue usar el botón de hardware en la carcasa de la computadora portátil para encender/apagar la antena inalámbrica y luego verificar el estado con el comando rfkill. Algunas personas informaron que esto les ayudó a "desbloquear" sus tarjetas. No funcionó para mí.

lista rfkill
0:hp-wifi:LAN inalámbrica
Bloqueo suave:no
Bloqueo duro:sí
1:hp-bluetooth:Bluetooth
Bloqueo suave:sí
Bloqueo permanente:sí
2:phy0:LAN inalámbrica
Bloqueo parcial:no
Bloqueo permanente:no

No quería comenzar a jugar con yaourt en este punto, probando broadcom-wl-dkms y otros consejos y trucos mencionados. Quería ver si podía resolver esto con cambios mínimos en el estado de mi sistema y, con suerte, sin necesidad de realizar descargas a través de una red cableada (o similar).

Solución

Al observar otras distribuciones que he usado en esta máquina, incluida la algo problemática Fedora 30, así como otras que tenían una velocidad y una conectividad de red buenas y razonables, me di cuenta de que debería usar los módulos del kernel b43 para el dispositivo inalámbrico en lugar de que la gota wl. El primer paso fue descargar manualmente el módulo existente (wl) y cargar el b43:

sudo modprobe -r wl

sudo modprobe b43

Una vez que hice esto, el problema cambió. Ya no tenía Wireless en absoluto, a pesar de que el módulo b43 se ha cargado en la memoria. Así que revisé los mensajes del sistema una vez más y vi el siguiente error:

[ 120.170582] Compatibilidad con las revisiones de núcleos 0x17 y 0x18 deshabilitadas por el parámetro de módulo allhwsupport=0. Pruebe b43.allhwsupport=1
[ 120.170590] b43:la sonda de bcma0:1 falló con el error -524
[ 120.170611] Controlador Broadcom 43xx cargado [ Características:PNLS ]

Como dice el error, necesitaba cargar el módulo con diferentes parámetros:

sudo modprobe b43 allhwsupport=1

¡Éxito! Una vez que hice esto, la tarjeta inalámbrica volvió a la vida, pude conectarme y usar la red sin problemas. Entonces, el problema está resuelto, pero aún debemos entender por qué y luego habilitar automáticamente el uso del módulo b43 en el arranque.

Módulos en la lista negra

Por alguna razón, tanto las ediciones gratuitas como las no gratuitas de Manjaro Illyria tienen el módulo b43 en la lista negra, lo que explicaría por qué no se cargan en el arranque. Puede verificar esto examinando el contenido del archivo llamado linux419-broadcom-wl.conf en /etc/modprobe.d. En el interior, se enumeraba toda la gama de módulos relevantes, incluidos b43, b43legacy, bcma, ssb y otros.

Habilitar la carga de b43 en el arranque

Ahora que tenemos una solución manual, necesitamos hacerla permanente. Esto requiere editar dos archivos. Primero, debe agregar b43 a la lista de módulos para iniciar en /etc/modules-load.d/modules.conf. Si busca el contenido de estos archivos, mostrará algo como:

# Lista de módulos para cargar en el arranque

Debe agregar b43 debajo, así:

# Lista de módulos para cargar en el arranque
b43

Pero eso no es todo. Necesitamos agregar una opción de carga de módulo en /etc/modprobe.d. Esto es similar a lo que hicimos con la tarjeta inalámbrica Realtek para que funcione en kernels 3.X más antiguos. Debe crear un archivo de configuración con el siguiente formato:"nombre del módulo".conf. En este caso, b43.conf. Dentro de este archivo, necesitamos la opción allhwsupport:

opciones b43 allhwsupport=1

Para verificar, el archivo debería verse así:

cat /etc/modprobe.d/b43.conf
opciones b43 allhwsupport=1

Y eso es. Reinicie y tendrá su red inalámbrica en funcionamiento.

Conclusión

Aquí vamos. Esto no fue trivial. Pero encuentro esto más elegante que compilar y construir módulos manualmente, y tener que usar una red separada solo para tomar los paquetes necesarios. El hecho de que también hay dos directorios diferentes que debe usar para habilitar la carga del módulo también hace que esto sea un poco más complicado.

De todos modos, la solución a largo plazo es hacer que la distribución detecte automáticamente el hardware potencialmente "malo" que ya está en la etapa en vivo y haga los ajustes correspondientes:instale herramientas de compilación y encabezados, modifique la configuración del sistema por adelantado, y tal, así que cuando el usuario inicia sesión en la primera vez, todo funciona. Espero que hayas encontrado útil este tutorial. Cuídense, manjarianos.


Linux
  1. Cómo habilitar las estadísticas de HAProxy

  2. Cómo habilitar HTTP2 en NGINX

  3. ¿Qué es el reenvío de IP en Linux? ¿Cómo habilitar el reenvío de IP?

  4. Cómo habilitar md5 Hashing en Linux

  5. ¿Cómo habilitar la partición de intercambio de Linux?

Cómo desinstalar aplicaciones WINE

¿Cómo habilitar IPv6 en Nginx?

Cómo habilitar la compresión GZIP en Nginx

Cómo habilitar un repositorio EPEL

Cómo habilitar las copias de seguridad en la nube

¿Cómo habilitar la autenticación de texto sin formato en Dovecot?