suspend_net
cat /proc/pandora/cpu_mhz_max > /tmp/oldspeed
- /usr/pandora/scripts/op_cpuspeed.sh 125
+ /usr/pandora/scripts/op_cpuspeed.sh -n 125
}
lowPowerOff(){ # switch from lowpower to normal mode
oldspeed=$(cat /tmp/oldspeed)
- /usr/pandora/scripts/op_cpuspeed.sh $oldspeed
+ /usr/pandora/scripts/op_cpuspeed.sh -n $oldspeed
display_on
resume_net
show_message() {
# TODO: check if desktop is visible; maybe use layer3?
xfceuser=$(ps u -C xfce4-session | tail -n1 | awk '{print $1}')
- cmd="DISPLAY=:0.0 zenity --info --text \"$1\""
+ cmd="DISPLAY=:0.0 zenity --info --text \"$1\" --timeout 10"
su -c "$cmd" $xfceuser
}
return 1
fi
- # TODO: we probably want to NOT do real suspend if:
- # - cards don't unmount (running PNDs will break)
- # - while charging too, since it stops on suspend?
-
if ! grep -q 'mmc_core.removable=0' /proc/cmdline; then
# must unmount cards because they will be "ejected" on suspend
# (some filesystems may even deadlock if we don't do this due to bugs)
# get rid of modules that prevent suspend due to bugs
modules="$(lsmod | awk '{print $1}' | xargs echo)"
- blacklist="ehci_hcd g_zero g_audio g_ether g_serial g_midi gadgetfs g_file_storage
- g_mass_storage g_printer g_cdc g_multi g_hid g_dbgp g_nokia g_webcam g_ncm g_acm_ms"
+ blacklist="g_zero g_audio g_ether g_serial g_midi gadgetfs g_file_storage
+ g_mass_storage g_printer g_cdc g_multi g_hid g_dbgp g_nokia g_webcam g_ncm g_acm_ms
+ ehci_hcd bridgedriver"
restore_list=""
for mod in $modules; do
if echo $blacklist | grep -q "\<$mod\>"; then
esac
fi
fi
- fi
+elif [[ "$2" == "screensaver" ]]; then
+ # warning: don't try to interact with X or do real suspend here -
+ # will cause various deadlocks
+ unset DISPLAY
+
+ if [[ "$1" == 0 ]]; then # deactivate screensaver
+ display_on
+ elif [[ "$1" == 1 ]]; then # activate screensaver
+ display_off
+ fi
+fi
+
debug && echo "powerstate=$powerstate"
echo "$powerstate" > /tmp/powerstate