Desactivar WiFi usando Wicd

Tengo un portátil con Debian Testing y KDE4. Mi chip WiFi es un Broadcom BCM4322, y uso el driver Broadcom STA (módulo wl). El tema es que por un lado el portatil no tiene ningún botón para desactivar el WiFi, y por el otro que el network-manager para KDE4 no me funciona del todo fino y estoy tirando con el wicd.

El problema que tengo es que con wicd no sé como desactivar el WiFi por aquello de ahorrar batería. Lo que estoy haciendo es (como root):

iwconfig interfaz txpower off

Lo negativo de esto es que tengo que ser root, a mi lo que me gustaría es algo que pudiera utilizar como user para poderlo scriptar y luego mapear a una combinación de teclas. ¿Alguna idea?
Bueno desde wicd no sé cómo se hace, pero puedes ejecutar mediante sudo cualquier comando sin tener que meter la contraseña.

Instalas y configuras sudo para tu usuario, si es que no lo tienes ya. Después, mediante visudo, añades, por ejemplo:
tuusuario ALL = NOPASSWD: /usr/sbin/iwconfig
Se hace mediante su demonio:

[nintux@geofront /media/datos]$ /etc/rc.d/wicd help
usage: /etc/rc.d/wicd {start|stop|restart}


Si asignas con acpi la tecla de activar/desactivar wifi al susodicho comando podrás activarlo y desactivarlo cuando quieras, y optativamente hacer que la luz se encienda y se apague.

Saludos.
Pero con eso no desactivas el wifi, sólo paras el demonio de wicd, ¿no? El wifi seguiría activado y gastando energía.
Muchas gracias a los dos. He estado haciendo pruebas con powertop y viendo lo que dice capitanquartz, y creo que amuchamu está en lo cierto, porque aun parando el demonio del wicd la interfaz wifi sigue generando wakeups, mientras que con un txpower off no (y aparte con esto último se nota una bajada en lo watios).

Gracias de nuevo, voy a hacer un script con kdialog y el sudo iwconfig.


EDITO: Pongo aquí el script por si alguien en la misma situación (kde4 + wicd) lo necesita. Lo único sería cambiar la variable 'if' por la interfaz de vuestro WiFi (wlan0 o lo que sea):
#!/bin/bash

if="eth1"
txpower=`sudo iwconfig $if | grep Tx-Power | awk '{print $4}' | cut -c 10-99`

if [ $txpower != "off" ]; then
    kdialog --yesno "¿Desea desactivar el WiFi?" --title "$if activado"
    if [ $? = 0 ]; then
        sudo iwconfig $if txpower off
        kdialog --passivepopup "WiFi ($if) desactivado" 4 --title "WiFi ($if)"
    fi 
    exit
else
    kdialog --yesno "¿Desea activar el WiFi?" --title "$if desactivado"
    if [ $? = 0 ]; then
        sudo iwconfig $if txpower on
        kdialog --passivepopup "WiFi ($if) activado" 4 --title "WiFi ($if)"
    fi 
    exit
fi
exit
xzibit escribió:Muchas gracias a los dos. He estado haciendo pruebas con powertop y viendo lo que dice capitanquartz, y creo que amuchamu está en lo cierto, porque aun parando el demonio del wicd la interfaz wifi sigue generando wakeups, mientras que con un txpower off no (y aparte con esto último se nota una bajada en lo watios).

Gracias de nuevo, voy a hacer un script con kdialog y el sudo iwconfig.


EDITO: Pongo aquí el script por si alguien en la misma situación (kde4 + wicd) lo necesita. Lo único sería cambiar la variable 'if' por la interfaz de vuestro WiFi (wlan0 o lo que sea):
#!/bin/bash

if="eth1"
txpower=`sudo iwconfig $if | grep Tx-Power | awk '{print $4}' | cut -c 10-99`

if [ $txpower != "off" ]; then
    kdialog --yesno "¿Desea desactivar el WiFi?" --title "$if activado"
    if [ $? = 0 ]; then
        sudo iwconfig $if txpower off
        kdialog --passivepopup "WiFi ($if) desactivado" 4 --title "WiFi ($if)"
    fi 
    exit
else
    kdialog --yesno "¿Desea activar el WiFi?" --title "$if desactivado"
    if [ $? = 0 ]; then
        sudo iwconfig $if txpower on
        kdialog --passivepopup "WiFi ($if) activado" 4 --title "WiFi ($if)"
    fi 
    exit
fi
exit

Interesante, haré unos cambios en mi portátil con esto, gracias ;-)
5 respuestas