Activar/desactivar conexiones inalámbricas con rfkill | Algo de Linux

lunes, 29 de septiembre de 2014

Activar/desactivar conexiones inalámbricas con rfkill

No sé por qué pero he clonado portátiles HP con la imagen de los netbooks y en todos ellos me aparece desactivada la conexión wifi. La verdad es que no he tenido tiempo de estudiarlo detenidamente para ver cuál es el problema, pero lo cierto es que, cuando hago login, puedo volver a activar las conexiones inalámbricas desde Network Manager, pero no se guarda la configuración y cuando vuelvo a iniciar sesión, vuelven a estar desactivadas.

De momento, lo que he hecho ha sido añadir al fichero de configuración /etc/rc.local:
rfkill unblock wifi
Con ésto, fuerzo a que se desbloquee la wifi al iniciar el sistema.

rfkill es una herramienta muy útil. Si no lo tenéis instalado, instaladlo porque en algún momento os vendrá muy bien:
# apt-get install rfkill

Veamos algunos ejemplos útiles de uso de esta herramienta:

Supongamos que queremos listar todos los dispositivos inalámbricos independientemente del tipo que sean:
# rfkill list all
Tipos de dispositivos que podemos especificar: "all",  "wifi", "wlan", "bluetooth", "uwb", "ultrawide‐band", "wimax", "wwan", "gps" or "fm".

Supongamos que queremos activar la conexión wifi al arrancar el equipo. Podríamos añadir la siguiente línea al fichero /etc/rc.local:
# rfkill unblock wifi
Supongamos que queremos desactivar la conexión bluetooth al arrancar el equipo. Podríamos añadir la siguiente línea al fichero /etc/rc.local:
# rfkill block bluetooth
Supongamos que queremos desactivar todas las conexiones inalámbricas al arrancar el equipo. Podríamos añadir la siguiente línea al fichero /etc/rc.local:
# rfkill unblock all
Si os fijáis, estamos bloqueando conexiones por tipos de dispositivo. También podríamos bloquear un dispositivo concreto especificando su identificador.

El identificador es un número que aparece al lado de la conexión. Por ejemplo, si ejecuto:
# rfkill list wifi
Como mi portátil ahora mismo sólo tiene un dispositivo inalámbrico que es la tarjeta wifi interna, me muestra el siguiente resultado:

0: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no
Supongamos que tenemos dos dispositivos wifi y queremos bloquear solamente uno. Podríamos listar todos los dispositivos wifi para ver sus identificadores y luego bloquear el que nos interese:
# rfkill list all
# rfkill block 0 
Por último, decir que también podemos monitorizar el estado de los dispositivos con:
# rfkill event
Publicado por primera vez en http://enavas.blogspot.com.es