blob: fd3e9d5c494eec21918db6de596dc89b13d66e0e [file] [log] [blame]
From 7c518a4bc8102c179a6a6775aca48d0fe78c5ca4 Mon Sep 17 00:00:00 2001
From: Sameer Nanda <snanda@chromium.org>
Date: Thu, 22 Apr 2010 17:16:47 -0700
Subject: [PATCH 5/8] Added WiFi power management support. Saves 0.3-0.8W at idle.
Review URL: http://codereview.chromium.org/1769003
---
.../etc/laptop-mode/conf.d/wifi-powermgmt.conf | 23 +++++++++++++++++++
.../share/laptop-mode-tools/modules/wifi-powermgmt | 24 ++++++++++++++++++++
2 files changed, 47 insertions(+), 0 deletions(-)
create mode 100644 laptop-mode-tools-1.59/etc/laptop-mode/conf.d/wifi-powermgmt.conf
create mode 100755 laptop-mode-tools-1.59/usr/share/laptop-mode-tools/modules/wifi-powermgmt
diff -ruN /dev/null laptop-mode-tools-1.59/etc/laptop-mode/conf.d/wifi-powermgmt.conf
new file mode 100644
index 0000000..6ec4fec
--- /dev/null
+++ laptop-mode-tools-1.59/etc/laptop-mode/conf.d/wifi-powermgmt.conf
@@ -0,0 +1,23 @@
+#
+# Configuration file for Laptop Mode Tools module wifi-powermgmt.
+#
+# For more information, consult the laptop-mode.conf(8) manual page.
+#
+
+
+###############################################################################
+# WiFi power management settings
+# ------------------------------------
+#
+# If you enable this setting, laptop mode tools will automatically enable the
+# power management for all WiFi devices in the system
+#
+###############################################################################
+
+# Enable debug mode for this module
+# Set to 1 if you want to debug this module
+DEBUG=0
+
+# Control WiFi power management?
+CONTROL_WIFI_POWER=1
+
diff -ruN /dev/null laptop-mode-tools-1.59/usr/share/laptop-mode-tools/modules/wifi-powermgmt
new file mode 100755
index 0000000..2efb1a6
--- /dev/null
+++ laptop-mode-tools-1.59/usr/share/laptop-mode-tools/modules/wifi-powermgmt
@@ -0,0 +1,24 @@
+IWCONFIG=iwconfig
+
+if [ x$CONTROL_WIFI_POWER = x1 ] ; then
+ if [ $ON_AC -eq 1 ] ; then
+ power_mgmt="off"
+ else
+ power_mgmt="on"
+ fi
+
+ for DEVICE in /sys/class/net/* ; do
+ if [ -d $DEVICE/wireless ]; then
+ dev=`basename $DEVICE`
+ $IWCONFIG $dev power $power_mgmt
+ ret=$?
+ if [ "$ret" = "0" ]; then
+ log "VERBOSE" "Power Management set to $power_mgmt for $dev."
+ else
+ log "VERBOSE" "Failed to set Power Management to $power_mgmt for $dev."
+ fi
+ fi
+ done
+else
+ log "VERBOSE" "WiFi power setting is disabled."
+fi
--
1.7.2.3