Hallo Dietrich,
On Sun, Jan 09, 2005 at 09:46:16AM +0100, Dietrich Restemeyer wrote:
führe ich das hotkey_wlan skript als root in einem xterm aus,
funktioniert alles hervorragend. Wlan wird alternierend an und ausgeschaltet.
Lasse ich das script durch den powersaved ausführen, lande ich immer in der
gleichen if-bedingung in hotkey_wlan. Das bedeutet, das ich das wlan zwar
anstellen kann, aber nicht mehr abstellen (nicht über die gleiche Taste)
Das ist ein Verhalten, das ich nicht verstehe.
In dem Script das du angehängt hast waren einige Fehler. Das
Programm sollte so eigentlich nicht funktioniert haben. :)
Wo liegt der Unterschied ? in der Umgebung ? Wie kann ich das Problem
beseitigen ?
Ja, die Umgebungsvariablen sind vom powersaved aus IMHO nicht
gesetzt. Kann es außerdem sein, dass du von der Konsole aus ein
anderes Script mit gleichem Namen aufgerufen hast (anderer Pfad)
Ersetze dein Skript mal durch die korrigierte Version unten. Diese
ist zwar nicht getestet (mangels Hardware/ifup/ifdown etc.) sollte
aber funktionieren.
which hotkey_wlan im xterm ausführen und sicherstellen, dass du das
korrekte script ausführst.
#!/bin/bash
ASUS_WLED=/proc/acpi/asus/wled
DEV_WLAN=eth1
MODS_WLAN="ipw2100 ieee80211_crypt_wep ieee80211 ieee80211_crypt"
## DEBUG
# set -vx
/sbin/ifconfig | /bin/grep $DEV_WLAN > /dev/null 2>&1
if test "$?" = "1"
then # is down
/usr/bin/logger "wlan going up"
/sbin/modprobe $MODS_WLAN > /dev/null 2>&1
sleep 1
/sbin/ifup $DEV_WLAN > /dev/null 2>&1
if test "$?" = 0
then
if test -e $ASUS_WLED
then
echo -n 1 > $ASUS_WLED
/usr/bin/logger "Wlan up SUCCESS"
else
/usr/bin/logger "$ASUS_WLED not found"
fi
else
/usr/bin/logger "ifup failed"
fi
else # is up
/usr/bin/logger "wlan going down"
/sbin/ifdown $DEV_WLAN > /dev/null 2>&1
sleep 1
/sbin/rmmod --wait $MODS_WLAN > /dev/null 2>&1
if test "$?" = 0
then
if test -e $ASUS_WLED
then
echo -n 0 > $ASUS_WLED
/usr/bin/logger "Wlan down SUCCESS"
else
/usr/bin/logger "$ASUS_WLED not found"
fi
else
/usr/bin/logger "rmmod --wait $MODS_WLAN failed"
fi
fi
exit 0
Sollte es nicht funktionieren bitte die Ausgabe in /var/log/messages
mitschicken und das Script auf der Konsole evtl. mit den DEBUG
Optionen set -xv starten.
Greetings Daniel
--
"Es findet keinerlei Zensur mehr statt
nur wenn der Staat es dringend nötig hat
und auch die Kunst und Wissenschaft sind Frei
das Nähere bestimmt die Polizei." -- Erich Weinert