3.10. RFKill
Muchos sistemas informáticos contienen radiotransmisores, que incluyen dispositivos Wi-Fi, Bluetooth, y 3G. Dichos dispositivos consumen energía, la cual se pierda si no se utiliza.
RFKill es un subsistema en el kernel de Linux que proporciona una interfaz a través de la cual radiotransmisores en un sistema informático se pueden solicitar, activar o desactivar. Cuando los transmisores se desactivan, pueden ser localizados en un estado en el que software puede reactivarlos (un bloque blando) o en el que software no pueda reactivarlos (un bloque duro).
El núcleo RFKill proporciona la interfaz de programación de aplicación (API) para el subsistema. Los controladores de Kernel que han sido diseñados para soportar RFkill usan esta API para registrarse al kernel, e incluyen métodos para habilitar e inhabilitar el dispositivo. Además, el núcleo RFKill proporciona notificaciones que las aplicaciones de usuario pueden interpretar y formas para que aplicaciones de usuario soliciten estados de transmisor.
La interfaz RFKill está localizada en
/dev/rfkill
, el cual contiene el estado actual de todos los radiotransmisores en el sistema. Cada dispositivo tiene su estado RFKill actual registrado en sysfs
. Además, RFKill genera uevents para cada cambio de estado en un dispositivo RFKill-habilitado.
Rfkill es una herramienta de línea de comando con la cual se puedes solicitar y cambiar dispositivos de RFKill-habilitado en el sistema. Para obtener la herramienta, instale el paquete rfkill.
Use el comando
rfkill list
para obtener una lista de dispositivos, cada uno de los cuales tiene un número de índice asociado a este, iniciando en 0
. Se puede usar este número de índice para decirle a rfkill que bloquee o desbloquee un dispositivo, por ejemplo:
rfkill block 0
bloquea el primer dispositivo RFKill-habilitado en el sistema.
También puede usar rfkill para bloquear algunas categorías de dispositivos o todos los dispositivos de RFKill-habilitado. Por ejemplo:
rfkill block wifi
bloquea todos los dispositivos Wi-Fi en el sistema. Para bloquear todos los dispositivos RFKill-habilitado, ejecute:
rfkill block all
Para desbloquear dispositivos, ejecute
rfkill unblock
en lugar de rfkill block
. Para obtener una lista completa de las categorías de dispositivos que rfkill puede bloquear, ejecute: rfkill help