Advertisement
Guest User

powersave

a guest
Dec 9th, 2011
254
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.76 KB | None | 0 0
  1. #!/bin/sh
  2. # A script to enable laptop power saving features for #! & Debian GNU+linux.
  3. # http://crunchbanglinux.org/forums/topic/11954
  4.  
  5. # List of modules to unload, space seperated. Edit depending on your hardware and preferences.
  6. #modlist="usb_storage"
  7. # Bus list for runtime pm. Probably shouldn't touch this.
  8. buslist="pci spi i2c"
  9.  
  10. case "$1" in
  11.     true)
  12.        # USB powersaving
  13.         for i in /sys/bus/usb/devices/*/power/autosuspend; do
  14.             echo 1 > $i
  15.         done
  16.        # intel hda powersave
  17.         echo Y > /sys/module/snd_hda_intel/parameters/power_save_controller
  18.         echo 1 > /sys/module/snd_hda_intel/parameters/power_save
  19.        
  20.        # Disable hardware modules to save power
  21.         for mod in $modlist; do
  22.             grep $mod /proc/modules >/dev/null || continue
  23.             modprobe -r $mod 2>/dev/null
  24.         done
  25.        # Enable runtime power management. Suggested by powertop.
  26.         for bus in $buslist; do
  27.             for i in /sys/bus/$bus/devices/*/power/control; do
  28.                 echo auto > $i
  29.             done
  30.         done
  31.     echo 5 > /sys/class/backlight/acpi_video0/brightness
  32.     ;;
  33.     false)
  34.         for i in /sys/bus/usb/devices/*/power/autosuspend; do
  35.             echo 2 > $i
  36.         done
  37.         for mod in $modlist; do
  38.             if ! lsmod | grep $mod; then
  39.                 modprobe $mod 2>/dev/null
  40.             fi
  41.         done
  42.         for bus in $buslist; do
  43.             for i in /sys/bus/$bus/devices/*/power/control; do
  44.                 echo on > $i
  45.             done
  46.         done
  47.     echo 15 > /sys/class/backlight/acpi_video0/brightness
  48.     echo N > /sys/module/snd_hda_intel/parameters/power_save_controller
  49.     echo 0 > /sys/module/snd_hda_intel/parameters/power_save
  50.     ;;
  51. esac
  52.  
  53. exit 0
  54.  
  55.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement