Wi-Fi No Funciona en Linux? Aquí te Decimos Cómo Arreglarlo

Uno de los grandes desafíos que los usuarios tienden a enfrentar con Linux es el Wi-Fi. Los controladores de Wi-Fi a menudo no están incluidos en el núcleo y, como resultado, hay muchos problemas para que los módulos de Wi-Fi que no son Intel funcionen bien en Linux. Aquí cubrimos lo que sucede cuando el Wi-Fi no está funcionando en Linux y cómo solucionarlo.
Tabla de Contenidos
- Problemas de Hardware vs. Software de Wi-Fi
- Instalar Controladores desde el ISO de Ubuntu
- Problema Uno: Dispositivo No Detectado
- Problema Dos: Módulo de Controlador Ausente
- Problema Tres: DNS
- Problema Cuatro: Sin Gestor de Red
Consejo: aprende cómo puedes encontrar las contraseñas de Wi-Fi guardadas en Linux.
Problemas de Hardware vs. Software de Wi-Fi
Un problema de conexión Wi-Fi puede ser un problema de hardware o software. Los problemas de hardware son relativamente fáciles de diagnosticar: todo lo que tienes que hacer es abrir el terminal e ingresar el siguiente comando:
ping localhost
Esta es una forma sencilla de verificar si tu hardware físico está funcionando. localhost funciona como una dirección para revisar el circuito de tu NIC. Si esto no está funcionando, es posible que necesites hacer algún trabajo en el hardware, ya sea tú mismo o alguien más.
Si ese ping regresa limpio o ni siquiera ves tu tarjeta Wi-Fi, probablemente tengas un problema de software.
Además, también puedes verificar si tu sistema detecta una interfaz de red activa ejecutando ip addr. La mayoría de las distribuciones etiquetan las tarjetas inalámbricas actualmente activas como “wl” seguido de los números de bus y ranura del dispositivo en la placa base de la computadora.
Por ejemplo, una etiqueta de “wlp0s1” significa que es una interfaz de red inalámbrica en el bus 0, ranura 1.

Nota: Si no puedes navegar por la web, es posible que debas desactivar IPv6 en tu máquina Linux.
Instalar Controladores desde el ISO de Ubuntu
Si tu distribución no está detectando tu red Wi-Fi en absoluto, o si estás recibiendo errores, puedes intentar instalar o reinstalar los controladores de Wi-Fi desde el archivo ISO de Ubuntu. Primero, debes descargar el ISO de Ubuntu correspondiente a tu versión de Ubuntu. (Presumiblemente, necesitas descargarlo en un dispositivo diferente o descargarlo usando tu conexión Ethernet en Ubuntu.)
Abre un Terminal, luego ingresa la siguiente secuencia de comandos para montar el ISO de Ubuntu en una unidad virtual:
sudomkdir/media/cdrom
sudomount-o loop ~/Downloads/ubuntu-*.iso /media/cdromVe a “Actualizador de Software” desde el panel, luego haz clic en el botón Configuración en la esquina inferior izquierda de la ventana.

Haz clic en la pestaña Controladores Adicionales, luego selecciona la opción Adaptador de Red Inalámbrica y haz clic en Aplicar Cambios.
Problema Uno: Dispositivo No Detectado
Si el dispositivo inalámbrico no es detectado por Ubuntu (o cualquier distribución, para el caso), abre una sesión de terminal y escribe el siguiente comando:
sudo lsusbEste comando mostrará todos los dispositivos USB actualmente conectados a tu máquina. Busca cualquier línea que contenga “Adaptador Inalámbrico” o “RTL.”
sudo lsusb |grep"RTL"
Además de listar todos los adaptadores USB, también puedes sondear tu sistema en busca de dispositivos inalámbricos PCI. Para hacer esto, ejecuta el siguiente comando:
sudolspciAl igual que con el comando lsusb, busca cualquier línea en la salida de lspci que contenga una etiqueta de “Controlador de Red” o “Controlador Ethernet”.

Encuentra el módulo de controlador exacto que tu dispositivo inalámbrico está utilizando actualmente ejecutando el siguiente comando:
sudo lshw -C network |grep"driver"Resalta el valor de la variable “driver” y cópialo en tu portapapeles.

Problema Dos: Módulo de Controlador Ausente
Siguiendo los comandos exitosos lsusb y lspci, confirmando que tu distribución de Linux puede ver la tarjeta inalámbrica, puedes asumir que el firmware está funcionando, solo que el sistema no sabe qué hacer con el dispositivo. Aquí es donde se necesitan controladores o módulos.
Escribe el siguiente comando y luego reemplaza “modulename” con el contenido de tu portapapeles:
sudo modprobe modulenamePor ejemplo, si tu controlador inalámbrico es “iwlwifi,” sería de la siguiente manera:
sudo modprobe iwlwifiDespués de esto, ejecuta sudo lsmod | grep "modulename" para ver si el núcleo de Linux ha cargado correctamente tu dispositivo Wi-Fi.

Cargar Módulo de Controlador Automáticamente al Inicio
Es una ocasión rara, pero a veces el módulo no persistirá desde el arranque. En este caso, puedes forzar que se cargue de forma permanente. Ingresa el siguiente comando en el terminal:
sudonano/etc/modulesAgrega el nombre de tu módulo al final y guarda el archivo.

Reinicia la máquina para verificar si el núcleo de Linux ha cargado correctamente el dispositivo inalámbrico.
Buena información: aprende cómo tu computadora gestiona su hardware instalando tu propio núcleo de Linux personalizado en Ubuntu hoy.
Problema Tres: DNS
Es raro que DNS sea un problema; sin embargo, vale la pena investigar si aún tienes problemas de conexión. Desde el terminal, escribe el siguiente comando para verificar el resolutor DNS predeterminado del sistema:
nmcli device show INTERFACE-NAME |grep IP4.DNSPor defecto, esto estará configurado en la dirección IP de tu enrutador. Si no funciona, es posible que tengas que cambiar “wlp0s1” por lo que tu inalámbrico utiliza. También se puede usar el siguiente comando para obtener la designación:
ip addr|grep": "Una vez que tengas esta información, haz ping a la dirección del resolutor DNS. Si eso funciona, también puedes hacer ping a una red externa, como los resolutors DNS de Google:
ping 8.8.8.8Si todos los dispositivos dentro de tu red están dando errores de carga de páginas, entonces cambia los resolutores DNS en tu enrutador a los servidores de Google o OpenNIC. Tendrás que consultar al fabricante de tu enrutador sobre cómo hacer esto, pero generalmente se hace accediendo a la consola de administración del dispositivo. Puedes encontrar esto en la mayoría de los enrutadores yendo a “192.168.0.1” o “192.168.254.254” en un navegador web.
Agregar un Servidor DNS Personalizado en NetworkManager
Dicho esto, también puedes cambiar el resolutor DNS en función de cada dispositivo. Para hacerlo en Ubuntu, haz clic en el botón del Menú de Control en la esquina superior derecha del escritorio y selecciona el ícono de Engranaje.

Haz clic en la categoría Wi-Fi, luego busca la categoría Redes Visibles.

Selecciona el ícono de Engranaje en la línea que contiene el nombre de tu punto de acceso inalámbrico.
Haz clic en la pestaña IPv4 en la barra superior de la ventana más pequeña.

Ve a la sección DNS, luego apaga el interruptor de Automático.

Escribe “8.8.8.8,8.8.4.4” en el cuadro de texto DNS, luego haz clic en Aplicar para confirmar la configuración.

Abre un nuevo terminal, luego ejecuta el siguiente comando para eliminar cualquier dato anterior del resolutor DNS:
resolvectl flush-cachesPrueba si tu sistema ahora está usando su nueva configuración de resolutor DNS ejecutando lo siguiente:
resolvectl status |grep"Current DNS Server"Verifica si la configuración actual de DNS resolvió tu problema de red cargando una página web en un navegador web.

Buena información: aprende más sobre servidores de nombres y resolutores DNS utilizando dig en Linux.
Problema Cuatro: Sin Gestor de Red
Digamos que has eliminado el Gestor de Red o lo has desinstalado por accidente. Esta es una situación realmente problemática: no tienes Internet y no tienes Gestor de Red, pero hay cosas que puedes hacer.
Asumiendo que el paquete aún está dentro de tu caché, puedes ir al terminal e ingresar:
# Debian/Ubuntu
sudo apt install network-manager
# Fedora
sudo dnf install NetworkManager
# Arch Linux
sudo pacman -Syu networkmanagerSi eso no funciona, puedes forzar a tu sistema a conectarse a un punto de acceso inalámbrico utilizando wpa_supplicant. Esta es una herramienta de línea de comandos que utiliza el controlador de tu dispositivo inalámbrico para conectarse a un punto de acceso sin usar el Gestor de Red.
Para comenzar, crea un archivo de configuración para wpa_supplicant usando tu editor de texto favorito:
sudonano/etc/wpa_supplicant.confPega el siguiente bloque de código dentro del archivo de configuración, luego reemplaza “SSID” y “PASSWORD” con el nombre del punto de acceso y la contraseña de tu enrutador:
network={
ssid="SSID"
password="PASSWORD"
}Guarda el archivo de configuración, luego pega la siguiente línea de código en tu sesión de terminal:
sudo wpa_supplicant -B-i INTERFACE-NAME -c/etc/wpa_supplicant.conf -D nl80211Reemplaza el valor de la bandera “-i” con el nombre de tu interfaz inalámbrica.
Nota: este comando solo funcionará en tarjetas inalámbricas más nuevas. Si estás tratando de vincular una tarjeta Wi-Fi más antigua, reemplaza el valor de la bandera “-D” con “wext.”
Solicita una nueva dirección IP de tu enrutador recargando el demonio DHCP:
sudo dhclient INTERFACE-NAMEPrueba si tu conexión Wi-Fi ahora funciona haciendo ping a un sitio externo:
ping-c5 maketecheasier.comReinstala el Gestor de Red para restaurar la plena capacidad de Wi-Fi de tu sistema Linux:
sudo apt install network-managerReinicia tu máquina para cargar la nueva instalación del Gestor de Red.
Entender cómo funcionan los módulos de Wi-Fi y los controladores del núcleo es solo el primer paso para aprender cómo funciona Linux bajo el capó. Explora más del lado técnico de este sistema operativo creando un sistema de archivos oculto con Shufflecake.
Créditos de imagen: Dreamlike Street a través de Unsplash y Wikimedia Commons. Todas las alteraciones y capturas de pantalla por Ramces Red.