Deshabilitar una tarjeta Wifi defectuosa bajo GNU/Linux

Vamos con una entrada algo práctica y bastante instructiva, que sale a raíz de un «problemilla» que causaba la tarjeta wifi integrada en mi portátil, ya bastante «podrida» de tanta auditoría.

fire

Resulta que los últimos días me estaba provocando un conflicto con el audio del equipo, por lo que considero que ha pasado a mejor vida y me planteo utilizar mi LevelOne USB con chipset realtek. Las auditorías ya me han dado los €s suficientes para que la muerte inminente de la integrada esté justificada.

Un consejo previo: no es aconsejable el cargarse «módulos» del sistema alegremente, y seguramente haya otras formas de deshabilitar un hardware específico, pero no soy el más apropiado para hablar de eso y ya pasé muchas horas delante de archivos del tipo «interfaces». Lo que voy a hacer en esta entrada es deshabilitar el módulo/driver Atheros, pasando a usar exclusivamente la tarjeta realtek. Si queréis dejar de usar una tarjeta atheros para usar otra del mismo chipset, comprenderéis que bloquear el módulo atheros no es la mejor opción.

Previo: interfaces de red

Ya sabréis identificar los dispositivos de red de vuestro sistema. En caso de que no, aquí está el recordatorio: los comandos ‘ifconfig’ e ‘iwconfig’ nos indicarán toda la información posible de las redes cableadas (eth) e inalámbricas (wlan) respectivamente.

pre-ifconfig

Aquí tenéis mis dos dispositivos inalámbricos:

pre-iwconfig

Una vez hecho este apunte, vamos al «hardware», que es lo que nos interesa.

Lo primero será saber qué dispositivos tenemos en este equipo. Para ello (y contando también con varias GUIs para saber esto), tenemos dos comandos fundamentales: ‘lspci’ (lista de dispositivos pci/integrados) y ‘lsusb’ (lista de dispositivos conectados, controladores y puertos USB).

1. Listas de Hardware PCI y USB

$ lspci

pre-lspci

Es una práctica común entrar en una tienda de informática y decir que tienes un HP Pavilion. Así, sin más. De vuestro coche sabréis todos los componentes, esforzaros por controlar un poco vuestro equipo, que no cuesta nada. Como véis, estos bonitos comandos nos facilitan el chipset usado por los dispositivos, más que nombres comerciales que poco aportan.

En mi ‘lsusb’ encontraréis la Wifi sustituta, con chipset realtek.

lsusb

Ahora que sabemos algo más de nuestro equipo y componentes, podemos indagar en nuestro sistema. Los módulos son esas pequeñas piezas de software que hacen que nuestros dispositivos funcionen. Si queréis llamarlos «drivers», allá vosotros.

2. Módulos cargados

$ lsmod

pre-lsmod

‘lsmod’ muestra los módulos cargados por el sistema. No tenéis porqué saber qué es cada cosa, pero si nos hemos informado lo más mínimo de nuestro hardware podremos identificarlos. El módulo «ath5k» es muy famoso dentro de las tarjetas inalámbricas.

3. Filtrar módulos

$ lsmod | grep ath

pre-grep

El parámetro ‘| grep’ es de lo más útil cuando queremos filtrar un determinado texto. Lo he usado para que veáis su utilidad, que es independiente del comando utilizado.

4. Deshabilitar el módulo

$ sudo rmmod ath5k

pre-rmmod

Finalmente, con ‘rmmod’ mi tarjeta «desaparecerá» del sistema y, en mi caso, se soluciona el problema con el audio. De todas formas, con ‘rmmod’ descargamos el módulo en esta sesión, por lo que volverá a cargarse en el siguiente reinicio. Para que un módulo no se carge al inicio, Linux tiene un archivo de configuración en la carpeta /etc/modprobe.d , que es donde se ubica todo lo referente a los módulos y su funcionamiento. En esta entrada podéis saber un poco acerca de la organización del sistema de directorios Linux/Unix, cosa muy interesante.

5. Editar el archivo ‘blacklist.conf’

$ sudo nano /etc/modprobe.d/blacklist.conf

Aquí tenéis mis líneas (la última está comentada con # con el fin de poder escribir este artículo, para que Linux bloquee el módulo debemos de borrar ese símbolo). No tiene ninguna ciencia: añadimos una línea de la forma ‘blacklist nombredelmóduloabloquear’, guardamos los cambios al salir del archivo y listo al primer reinicio.

catblacklist

6. Reiniciar

Finalmente:

post-desktop

Si no os fiáis del gestor de conectividad wifi, siempre podéis consultar en la terminal. Aquí véis que sólo está cargada la realtek.

ifconfig

Y aquí podéis ver que la tarjeta ha pasado a mejor vida, desapareciendo incluso de la lista de Hardware:

extra-lspci-woatheros

Lo que indica que sí, yo tengo toda la razón y no está en muy buen estado… :_D

Acerca de Gaius Baltar
Aficionado a la tecnología informática desde que un MSX pasó por casa y apasionado defensor del Software Libre como religión para unir a los pueblos. Es Gaius Baltar al fin y al cabo, y tiene derecho a equivocarse. Cuando se aburre, redacta y gestiona los contenidos en diversos blogs subculturales.

5 Responses to Deshabilitar una tarjeta Wifi defectuosa bajo GNU/Linux

  1. Estimado Gaius, espero me puedas ayudar, me aparece es siguiente mensaje al hacer sudo apt-get update;

    E:Encountered a section with no Package: header, E:Problem with MergeList /var/lib/apt/lists/cl.archive.ubuntu.com_ubuntu_dists_precise-backports_main_binary-amd64_Packages, E:The package lists or status file could not be parsed or opened.

    no me funciona el wifi para ciertas cuentas (no las veo, aunque si estan)… otras cuentas si las veo y me puedo conectar.

    vi en un foro este mismo problema pero no estaba posteada la solución. ¿que puedo hacer?

  2. gerson says:

    hola veo que tienes dos tarjetas graficas podrias explicar como desahabilitar

    • Gaius Baltar says:

      No tengo dos gráficas. El primer dispositivo ATI es la gráfica y el otro el sonido HDMI (imagino) 😉

      Si estás usando un portátil con gráficas duales tendrás que consultarlo en la red, ya que nunca he trabajado con ninguno y hasta hace relativamente poco el soporte para cosas del tipo dúo intel/nvidia estaba en pañales…

      Suerte 😉

Deja un comentario