On 20 May 2017 at 07:29, Ritesh Raj Sarraf <r...@debian.org> wrote: > ..[snip].. > > > sudo iw dev wlan0 set txpower fixed > > > > it shows: > > > > > Missing TX power level argument. > > > > When I manually run the command with an added parameter, e.g.: > > > > > sudo iw dev wlan0 set txpower fixed 1 > > > > and then check the result with: > > > > > sudo iw dev wlan0 info > > > > it shows the updated value OK. Note that the lowest value it accepts in my > > case is 1, not 0. > > > > Can you please elaborate what you are referring to, in terms of the numbers ? > Do you mean that your wireless device is enumerated as wlan1 ?
I am only using wlan0. The numbers I refer to are the commandline arguments. It is easier to show a transcript of what happens for me in the shell: > $ sudo iw dev wlan0 info > Interface wlan0 > ifindex 3 > wdev 0x1 > addr [retracted] > type managed > wiphy 0 > txpower 1.00 dBm > $ sudo iw dev wlan0 set txpower fixed ## no number here: error output, retval > 2 > Missing TX power level argument. > $ sudo iw dev wlan0 set txpower fixed 0 ## with number "zero" here: no > output, retval 0 > $ sudo iw dev wlan0 info ## no change though > Interface wlan0 > ifindex 3 > wdev 0x1 > addr [retracted] > type managed > wiphy 0 > txpower 1.00 dBm > $ sudo iw dev wlan0 set txpower fixed 2 ## with number "two" here (number > "one" also works): no output, retval 0 > $ sudo iw dev wlan0 info ## new txpower has been applied OK > Interface wlan0 > ifindex 3 > wdev 0x1 > addr [retracted] > type managed > wiphy 0 > txpower 2.00 dBm > $ sudo iw dev wlan0 set txpower auto ## auto here: no output, retval 0 > $ sudo iw dev wlan0 info ## txpower reset to default power > Interface wlan0 > ifindex 3 > wdev 0x1 > addr [retracted] > type managed > wiphy 0 > txpower 1.00 dBm but from what I understood from various commit-messages, the txpower commands seem to be redundant when doing "iw .. power_save" commands anyway... ...and from your followup email: > Can you please test the following .deb package ? The only delta is the patch > you > submitted. I'd appreciate if you tested this .deb package, with LMT Verbosity > enabled, and shared the results. > > https://people.debian.org/~rrs/tmp/laptop-mode-tools_1.71-2_all.deb I installed the package and restarted laptop-mode.service with DEBUG=1 for wireless-power, and when unplugging/replugging the AC I can see it executes the appropriate power_save=on/off commands OK, without the failing txpower commands. I didn't uninstall iw to test the iwconfig behaviour, but I think that is not necessary, as the only change there was the typo-fix of iw -> iwconfig. I've attached the appropriate part of /var/log/daemon.log -- Rowan Thorpe http://twitter.com/rowanthorpe http://www.rowanthorpe.com
May 21 12:43:17 home systemd[1]: Reloading Laptop Mode Tools. May 21 12:43:17 home laptop_mode[5984]: Enabling debug mode for module /etc/laptop-mode/conf.d/wireless-power.conf May 21 12:43:17 home laptop_mode[5984]: Laptop mode May 21 12:43:17 home laptop-mode: enabled, active May 21 12:43:17 home laptop_mode[5984]: enabled, active May 21 12:43:17 home laptop-mode: Swapping out configuration files. May 21 12:43:17 home laptop_mode[5984]: Swapping out configuration files. May 21 12:43:17 home laptop-mode: /etc/rsyslog.conf is a symlink. May 21 12:43:17 home laptop_mode[5984]: /etc/rsyslog.conf is a symlink. May 21 12:43:17 home laptop-mode: Pointing config file /etc/rsyslog.conf to /etc/rsyslog.conf-batt. May 21 12:43:17 home laptop_mode[5984]: Pointing config file /etc/rsyslog.conf to /etc/rsyslog.conf-batt. May 21 12:43:18 home laptop_mode[5984]: + disableDebug /usr/share/laptop-mode-tools/modules/wireless-power May 21 12:43:18 home laptop_mode[5984]: + . /usr/share/laptop-mode-tools/modules/wireless-power May 21 12:43:18 home laptop_mode[5984]: #! /bin/sh May 21 12:43:18 home laptop_mode[5984]: # May 21 12:43:18 home laptop_mode[5984]: # Laptop mode tools module, called from /usr/sbin/laptop_mode. May 21 12:43:18 home laptop_mode[5984]: # Configuration in /etc/laptop-mode/conf.d/wireless-power.conf. May 21 12:43:18 home laptop_mode[5984]: # May 21 12:43:18 home laptop_mode[5984]: # PURPOSE: power saving for generic wireless adapters that support May 21 12:43:18 home laptop_mode[5984]: # the iwconfig power command. May 21 12:43:18 home laptop_mode[5984]: # May 21 12:43:18 home laptop_mode[5984]: [ "$WIRELESS_POWER_SAVING_EXCLUDE_DRIVERS" ] || WIRELESS_POWER_SAVING_EXCLUDE_DRIVERS="iwl3945 iwl4965 iwlagn ipw3945 ipw2200 ipw2100" May 21 12:43:18 home laptop_mode[5984]: + [ ] May 21 12:43:18 home laptop_mode[5984]: + WIRELESS_POWER_SAVING_EXCLUDE_DRIVERS=iwl3945 iwl4965 iwlagn ipw3945 ipw2200 ipw2100 May 21 12:43:18 home laptop_mode[5984]: # May 21 12:43:18 home laptop_mode[5984]: # Find all the wireless devices that do not use an excluded driver. May 21 12:43:18 home laptop_mode[5984]: # Place the interface names on the list WIFI_IFNAMES. May 21 12:43:18 home laptop_mode[5984]: # May 21 12:43:18 home laptop_mode[5984]: findWifiIfs () { May 21 12:43:18 home laptop_mode[5984]: #011local SYSDEVICE EXCLUDED LINK_TARGET DRIVER IFNAME EXCLUDED_DRIVER; May 21 12:43:18 home laptop_mode[5984]: #011for SYSDEVICE in /sys/class/net/*; do May 21 12:43:18 home laptop_mode[5984]: #011#011IFNAME=`basename $SYSDEVICE` May 21 12:43:18 home laptop_mode[5984]: #011#011# Check if it is a wireless device May 21 12:43:18 home laptop_mode[5984]: #011#011# May 21 12:43:18 home laptop_mode[5984]: #011#011if isWifiIf $IFNAME; then May 21 12:43:18 home laptop_mode[5984]: #011#011#011# Yes, it is a wireless device. May 21 12:43:18 home laptop_mode[5984]: #011#011#011if [ -h $SYSDEVICE/device/driver ]; then May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011# Read the driver name May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011LINK_TARGET=`readlink $SYSDEVICE/device/driver` May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011DRIVER=${LINK_TARGET##*/} May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011EXCLUDED=0 May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011for EXCLUDED_DRIVER in $WIRELESS_POWER_SAVING_EXCLUDE_DRIVERS ; do May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011#011if [ "$EXCLUDED_DRIVER" = "$DRIVER" ] ; then May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011#011#011log "VERBOSE" "Wireless interface $IFNAME excluded for wireless-power by driver name." May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011#011#011EXCLUDED=1 May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011#011fi May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011done May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011if [ $EXCLUDED = 0 ] ; then May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011#011# add the interface name to the list May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011#011WIFI_IFNAMES="$WIFI_IFNAMES $IFNAME" May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011fi May 21 12:43:18 home laptop_mode[5984]: #011#011#011fi May 21 12:43:18 home laptop_mode[5984]: #011#011fi May 21 12:43:18 home laptop_mode[5984]: #011done May 21 12:43:18 home laptop_mode[5984]: } May 21 12:43:18 home laptop_mode[5984]: isWifiIf() { May 21 12:43:18 home laptop_mode[5984]: #011local IF=$1 May 21 12:43:18 home laptop_mode[5984]: #011if [ -n "$IW" ]; then May 21 12:43:18 home laptop_mode[5984]: #011#011$IW dev $IF info > /dev/null 2>&1 May 21 12:43:18 home laptop_mode[5984]: #011#011ret=$? May 21 12:43:18 home laptop_mode[5984]: #011else May 21 12:43:18 home laptop_mode[5984]: #011#011# Inverting return values, we get "0" for wireless device, May 21 12:43:18 home laptop_mode[5984]: #011#011# and "1" for non-wireless device. May 21 12:43:18 home laptop_mode[5984]: #011#011($IWCONFIG $IF 2>&1 | grep -q "no wireless extensions.") && ret=1 || ret=0 May 21 12:43:18 home laptop_mode[5984]: #011fi May 21 12:43:18 home laptop_mode[5984]: #011return $ret May 21 12:43:18 home laptop_mode[5984]: } May 21 12:43:18 home laptop_mode[5984]: setPowerSave() { May 21 12:43:18 home laptop_mode[5984]: #011local IF=$1 May 21 12:43:18 home laptop_mode[5984]: #011local ONOFF=$2 May 21 12:43:18 home laptop_mode[5984]: #011if [ -n "$IW" ]; then May 21 12:43:18 home laptop_mode[5984]: #011#011$IW dev $IF set power_save $ONOFF May 21 12:43:18 home laptop_mode[5984]: #011else May 21 12:43:18 home laptop_mode[5984]: #011#011$IWCONFIG $IF power $ONOFF May 21 12:43:18 home laptop_mode[5984]: if [ $ONOFF = "on" ]; then May 21 12:43:18 home laptop_mode[5984]: $IWCONFIG $IF txpower auto May 21 12:43:18 home laptop_mode[5984]: else May 21 12:43:18 home laptop_mode[5984]: $IWCONFIG dev $IF txpower fixed May 21 12:43:18 home laptop_mode[5984]: fi May 21 12:43:18 home laptop_mode[5984]: #011fi May 21 12:43:18 home laptop_mode[5984]: } May 21 12:43:18 home laptop_mode[5984]: if [ x$CONTROL_WIRELESS_POWER_SAVING = x1 ] || [ x$ENABLE_AUTO_MODULES = x1 -a x$CONTROL_WIRELESS_POWER_SAVING = xauto ]; then May 21 12:43:18 home laptop_mode[5984]: #011log "VERBOSE" "Setting power saving for generic wireless interfaces." May 21 12:43:18 home laptop_mode[5984]: #011# Provide defaults for config file settings May 21 12:43:18 home laptop_mode[5984]: #011[ "$WIRELESS_AC_POWER_SAVING" ] || WIRELESS_AC_POWER_SAVING=0 May 21 12:43:18 home laptop_mode[5984]: #011[ "$WIRELESS_BATT_POWER_SAVING" ] || WIRELESS_BATT_POWER_SAVING=1 May 21 12:43:18 home laptop_mode[5984]: #011# Find executables May 21 12:43:18 home laptop_mode[5984]: #011if [ -x /sbin/iw ] ; then May 21 12:43:18 home laptop_mode[5984]: #011#011IW=/sbin/iw May 21 12:43:18 home laptop_mode[5984]: #011elif [ -x /usr/sbin/iw ] ; then May 21 12:43:18 home laptop_mode[5984]: #011#011IW=/usr/sbin/iw May 21 12:43:18 home laptop_mode[5984]: #011else May 21 12:43:18 home laptop_mode[5984]: #011#011log "VERBOSE" "iw is not installed" May 21 12:43:18 home laptop_mode[5984]: #011#011if [ -x /sbin/iwconfig ] ; then May 21 12:43:18 home laptop_mode[5984]: #011#011#011IWCONFIG=/sbin/iwconfig May 21 12:43:18 home laptop_mode[5984]: #011#011elif [ -x /usr/sbin/iwconfig ] ; then May 21 12:43:18 home laptop_mode[5984]: #011#011#011IWCONFIG=/usr/sbin/iwconfig May 21 12:43:18 home laptop_mode[5984]: #011#011else May 21 12:43:18 home laptop_mode[5984]: #011#011#011log "VERBOSE" "iwconfig is not installed" May 21 12:43:18 home laptop_mode[5984]: #011#011#011IW=/bin/false May 21 12:43:18 home laptop_mode[5984]: #011#011fi May 21 12:43:18 home laptop_mode[5984]: #011fi May 21 12:43:18 home laptop_mode[5984]: #011# Translate 1 => on, 0 => off May 21 12:43:18 home laptop_mode[5984]: #011WIRELESS_AC_POWER_SAVING_ONOFF=off May 21 12:43:18 home laptop_mode[5984]: #011WIRELESS_BATT_POWER_SAVING_ONOFF=off May 21 12:43:18 home laptop_mode[5984]: #011[ "$WIRELESS_AC_POWER_SAVING" = 1 ] && WIRELESS_AC_POWER_SAVING_ONOFF=on May 21 12:43:18 home laptop_mode[5984]: #011[ "$WIRELESS_BATT_POWER_SAVING" = 1 ] && WIRELESS_BATT_POWER_SAVING_ONOFF=on May 21 12:43:18 home laptop_mode[5984]: #011WIFI_IFNAMES="" May 21 12:43:18 home laptop_mode[5984]: #011findWifiIfs May 21 12:43:18 home laptop_mode[5984]: #011for IF in $WIFI_IFNAMES ; do May 21 12:43:18 home laptop_mode[5984]: #011#011if [ $ON_AC -eq 1 ] ; then May 21 12:43:18 home laptop_mode[5984]: #011#011#011log "VERBOSE" "On AC power: setting power saving mode for $IF to $WIRELESS_AC_POWER_SAVING_ONOFF." May 21 12:43:18 home laptop_mode[5984]: #011#011#011if ! setPowerSave $IF $WIRELESS_AC_POWER_SAVING_ONOFF; then May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011log "ERR" "Failed to re-set power saving mode for wireless card" May 21 12:43:18 home laptop_mode[5984]: #011#011#011fi May 21 12:43:18 home laptop_mode[5984]: #011#011else May 21 12:43:18 home laptop_mode[5984]: #011#011#011log "VERBOSE" "On battery: setting power saving mode for $IF to $WIRELESS_BATT_POWER_SAVING_ONOFF." May 21 12:43:18 home laptop_mode[5984]: #011#011#011if ! setPowerSave $IF $WIRELESS_BATT_POWER_SAVING_ONOFF; then May 21 12:43:18 home laptop_mode[5984]: #011#011#011#011log "ERR" "Failed to set power saving mode for wireless card" May 21 12:43:18 home laptop_mode[5984]: #011#011#011fi May 21 12:43:18 home laptop_mode[5984]: #011#011fi May 21 12:43:18 home laptop_mode[5984]: #011done May 21 12:43:18 home laptop_mode[5984]: else May 21 12:43:18 home laptop_mode[5984]: #011log "VERBOSE" "Generic wireless interface power saving module is disabled." May 21 12:43:18 home laptop_mode[5984]: fi May 21 12:43:18 home laptop_mode[5984]: + [ x1 = x1 ] May 21 12:43:18 home laptop_mode[5984]: + log VERBOSE Setting power saving for generic wireless interfaces. May 21 12:43:18 home laptop_mode[5984]: + [ x1 = x1 ] May 21 12:43:18 home laptop_mode[5984]: + [ -x /usr/bin/logger -a VERBOSE != STATUS ] May 21 12:43:18 home laptop_mode[5984]: + [ VERBOSE = MSG ] May 21 12:43:18 home laptop_mode[5984]: + [ VERBOSE = ERR ] May 21 12:43:18 home laptop_mode[5984]: + [ VERBOSE = VERBOSE ] May 21 12:43:18 home laptop_mode[5984]: + [ x0 = x1 ] May 21 12:43:18 home laptop_mode[5984]: + [ VERBOSE = VERBOSE ] May 21 12:43:18 home laptop_mode[5984]: + [ 1 = 0 ] May 21 12:43:18 home laptop_mode[5984]: + [ 0 ] May 21 12:43:18 home laptop_mode[5984]: + [ 1 ] May 21 12:43:18 home laptop_mode[5984]: + [ -x /sbin/iw ] May 21 12:43:18 home systemd[1]: Started Session c22 of user rowan. May 21 12:43:18 home laptop_mode[5984]: + IW=/sbin/iw May 21 12:43:18 home laptop_mode[5984]: + WIRELESS_AC_POWER_SAVING_ONOFF=off May 21 12:43:18 home laptop_mode[5984]: + WIRELESS_BATT_POWER_SAVING_ONOFF=off May 21 12:43:18 home laptop_mode[5984]: + [ 0 = 1 ] May 21 12:43:18 home laptop_mode[5984]: + [ 1 = 1 ] May 21 12:43:18 home laptop_mode[5984]: + WIRELESS_BATT_POWER_SAVING_ONOFF=on May 21 12:43:18 home laptop_mode[5984]: + WIFI_IFNAMES= May 21 12:43:18 home laptop_mode[5984]: + findWifiIfs May 21 12:43:18 home laptop_mode[5984]: + local SYSDEVICE EXCLUDED LINK_TARGET DRIVER IFNAME EXCLUDED_DRIVER May 21 12:43:18 home laptop_mode[5984]: + basename /sys/class/net/eth0 May 21 12:43:18 home laptop_mode[5984]: + IFNAME=eth0 May 21 12:43:18 home laptop_mode[5984]: + isWifiIf eth0 May 21 12:43:18 home laptop_mode[5984]: + local IF=eth0 May 21 12:43:18 home laptop_mode[5984]: + [ -n /sbin/iw ] May 21 12:43:18 home laptop_mode[5984]: + /sbin/iw dev eth0 info May 21 12:43:18 home laptop_mode[5984]: + sed s/-/_/g May 21 12:43:18 home laptop_mode[5984]: + tr [:lower:] [:upper:] May 21 12:43:18 home laptop_mode[5984]: + ret=237 May 21 12:43:18 home laptop_mode[5984]: + return 237 May 21 12:43:18 home laptop_mode[5984]: + cut -d . -f1 May 21 12:43:18 home laptop_mode[5984]: + basename /usr/share/laptop-mode-tools/modules/wireless-power May 21 12:43:18 home laptop_mode[5984]: + basename /sys/class/net/lo May 21 12:43:18 home laptop_mode[5984]: + IFNAME=lo May 21 12:43:18 home laptop_mode[5984]: + isWifiIf lo May 21 12:43:18 home laptop_mode[5984]: + local IF=lo May 21 12:43:18 home laptop_mode[5984]: + [ -n /sbin/iw ] May 21 12:43:18 home laptop_mode[5984]: + /sbin/iw dev lo info May 21 12:43:18 home laptop_mode[5984]: + [ x1 = x1 ] May 21 12:43:18 home laptop_mode[5984]: + set +vx May 21 12:43:18 home laptop_mode[5984]: + ret=237 May 21 12:43:18 home laptop_mode[5984]: + return 237 May 21 12:43:18 home laptop_mode[5984]: + basename /sys/class/net/wlan0 May 21 12:43:18 home laptop_mode[5984]: + IFNAME=wlan0 May 21 12:43:18 home laptop_mode[5984]: + isWifiIf wlan0 May 21 12:43:18 home laptop_mode[5984]: + local IF=wlan0 May 21 12:43:18 home laptop_mode[5984]: + [ -n /sbin/iw ] May 21 12:43:18 home laptop_mode[5984]: + /sbin/iw dev wlan0 info May 21 12:43:18 home laptop_mode[5984]: + ret=0 May 21 12:43:18 home laptop_mode[5984]: + return 0 May 21 12:43:18 home laptop_mode[5984]: + [ -h /sys/class/net/wlan0/device/driver ] May 21 12:43:18 home laptop_mode[5984]: + readlink /sys/class/net/wlan0/device/driver May 21 12:43:18 home laptop_mode[5984]: + LINK_TARGET=../../../../bus/pci/drivers/wl May 21 12:43:18 home laptop_mode[5984]: + DRIVER=wl May 21 12:43:18 home laptop_mode[5984]: + EXCLUDED=0 May 21 12:43:18 home laptop_mode[5984]: + [ iwl3945 = wl ] May 21 12:43:18 home laptop_mode[5984]: + [ iwl4965 = wl ] May 21 12:43:18 home laptop_mode[5984]: + [ iwlagn = wl ] May 21 12:43:18 home laptop_mode[5984]: + [ ipw3945 = wl ] May 21 12:43:18 home laptop_mode[5984]: + [ ipw2200 = wl ] May 21 12:43:18 home laptop_mode[5984]: + [ ipw2100 = wl ] May 21 12:43:18 home laptop_mode[5984]: + [ 0 = 0 ] May 21 12:43:18 home laptop_mode[5984]: + WIFI_IFNAMES= wlan0 May 21 12:43:18 home laptop_mode[5984]: + [ 0 -eq 1 ] May 21 12:43:18 home laptop_mode[5984]: + log VERBOSE On battery: setting power saving mode for wlan0 to on. May 21 12:43:18 home laptop_mode[5984]: + [ x1 = x1 ] May 21 12:43:18 home laptop_mode[5984]: + [ -x /usr/bin/logger -a VERBOSE != STATUS ] May 21 12:43:18 home laptop_mode[5984]: + [ VERBOSE = MSG ] May 21 12:43:18 home laptop_mode[5984]: + [ VERBOSE = ERR ] May 21 12:43:18 home laptop_mode[5984]: + [ VERBOSE = VERBOSE ] May 21 12:43:18 home laptop_mode[5984]: + [ x0 = x1 ] May 21 12:43:18 home laptop_mode[5984]: + [ VERBOSE = VERBOSE ] May 21 12:43:18 home laptop_mode[5984]: + [ 1 = 0 ] May 21 12:43:18 home laptop_mode[5984]: + setPowerSave wlan0 on May 21 12:43:18 home laptop_mode[5984]: + local IF=wlan0 May 21 12:43:18 home laptop_mode[5984]: + local ONOFF=on May 21 12:43:18 home laptop_mode[5984]: + [ -n /sbin/iw ] May 21 12:43:18 home laptop_mode[5984]: + /sbin/iw dev wlan0 set power_save on May 21 12:43:18 home laptop_mode[5984]: Can't open display May 21 12:43:18 home console-kit-daemon[3557]: console-kit-daemon[3557]: GLib-CRITICAL: Source ID 678 was not found when attempting to remove it May 21 12:43:18 home console-kit-daemon[3557]: GLib-CRITICAL: Source ID 678 was not found when attempting to remove it May 21 12:43:18 home systemd[1]: Started Session c23 of user rowan. May 21 12:43:18 home laptop_mode[5984]: Can't open display May 21 12:43:18 home systemd[1]: Stopped Session c23 of user rowan. May 21 12:43:18 home console-kit-daemon[3557]: console-kit-daemon[3557]: GLib-CRITICAL: Source ID 694 was not found when attempting to remove it May 21 12:43:18 home console-kit-daemon[3557]: GLib-CRITICAL: Source ID 694 was not found when attempting to remove it May 21 12:43:20 home systemd[1]: Reloaded Laptop Mode Tools. May 21 12:43:25 home systemd[1]: Reloading Laptop Mode Tools. May 21 12:43:25 home laptop_mode[8338]: Enabling debug mode for module /etc/laptop-mode/conf.d/wireless-power.conf May 21 12:43:25 home laptop_mode[8338]: Laptop mode May 21 12:43:25 home laptop-mode: enabled, not active May 21 12:43:25 home laptop_mode[8338]: enabled, not active May 21 12:43:25 home laptop-mode: Swapping out configuration files. May 21 12:43:25 home laptop_mode[8338]: Swapping out configuration files. May 21 12:43:25 home laptop-mode: /etc/rsyslog.conf is a symlink. May 21 12:43:25 home laptop_mode[8338]: /etc/rsyslog.conf is a symlink. May 21 12:43:25 home laptop-mode: Pointing config file /etc/rsyslog.conf to /etc/rsyslog.conf-nolm-ac. May 21 12:43:25 home laptop_mode[8338]: Pointing config file /etc/rsyslog.conf to /etc/rsyslog.conf-nolm-ac. May 21 12:43:25 home laptop_mode[8338]: + disableDebug /usr/share/laptop-mode-tools/modules/wireless-power May 21 12:43:25 home laptop_mode[8338]: + . /usr/share/laptop-mode-tools/modules/wireless-power May 21 12:43:25 home laptop_mode[8338]: + sed s/-/_/g May 21 12:43:25 home laptop_mode[8338]: + tr [:lower:] [:upper:] May 21 12:43:25 home laptop_mode[8338]: #! /bin/sh May 21 12:43:25 home laptop_mode[8338]: + cut -d . -f1 May 21 12:43:25 home laptop_mode[8338]: # May 21 12:43:25 home laptop_mode[8338]: # Laptop mode tools module, called from /usr/sbin/laptop_mode. May 21 12:43:25 home laptop_mode[8338]: # Configuration in /etc/laptop-mode/conf.d/wireless-power.conf. May 21 12:43:25 home laptop_mode[8338]: # May 21 12:43:25 home laptop_mode[8338]: # PURPOSE: power saving for generic wireless adapters that support May 21 12:43:25 home laptop_mode[8338]: # the iwconfig power command. May 21 12:43:25 home laptop_mode[8338]: # May 21 12:43:25 home laptop_mode[8338]: [ "$WIRELESS_POWER_SAVING_EXCLUDE_DRIVERS" ] || WIRELESS_POWER_SAVING_EXCLUDE_DRIVERS="iwl3945 iwl4965 iwlagn ipw3945 ipw2200 ipw2100" May 21 12:43:25 home laptop_mode[8338]: + [ ] May 21 12:43:25 home laptop_mode[8338]: + WIRELESS_POWER_SAVING_EXCLUDE_DRIVERS=iwl3945 iwl4965 iwlagn ipw3945 ipw2200 ipw2100 May 21 12:43:25 home laptop_mode[8338]: # May 21 12:43:25 home laptop_mode[8338]: # Find all the wireless devices that do not use an excluded driver. May 21 12:43:25 home laptop_mode[8338]: + basename /usr/share/laptop-mode-tools/modules/wireless-power May 21 12:43:25 home laptop_mode[8338]: # Place the interface names on the list WIFI_IFNAMES. May 21 12:43:25 home laptop_mode[8338]: # May 21 12:43:25 home laptop_mode[8338]: findWifiIfs () { May 21 12:43:25 home laptop_mode[8338]: #011local SYSDEVICE EXCLUDED LINK_TARGET DRIVER IFNAME EXCLUDED_DRIVER; May 21 12:43:25 home laptop_mode[8338]: #011for SYSDEVICE in /sys/class/net/*; do May 21 12:43:25 home laptop_mode[8338]: #011#011IFNAME=`basename $SYSDEVICE` May 21 12:43:25 home laptop_mode[8338]: #011#011# Check if it is a wireless device May 21 12:43:25 home laptop_mode[8338]: #011#011# May 21 12:43:25 home laptop_mode[8338]: #011#011if isWifiIf $IFNAME; then May 21 12:43:25 home laptop_mode[8338]: #011#011#011# Yes, it is a wireless device. May 21 12:43:25 home laptop_mode[8338]: #011#011#011if [ -h $SYSDEVICE/device/driver ]; then May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011# Read the driver name May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011LINK_TARGET=`readlink $SYSDEVICE/device/driver` May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011DRIVER=${LINK_TARGET##*/} May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011EXCLUDED=0 May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011for EXCLUDED_DRIVER in $WIRELESS_POWER_SAVING_EXCLUDE_DRIVERS ; do May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011#011if [ "$EXCLUDED_DRIVER" = "$DRIVER" ] ; then May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011#011#011log "VERBOSE" "Wireless interface $IFNAME excluded for wireless-power by driver name." May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011#011#011EXCLUDED=1 May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011#011fi May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011done May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011if [ $EXCLUDED = 0 ] ; then May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011#011# add the interface name to the list May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011#011WIFI_IFNAMES="$WIFI_IFNAMES $IFNAME" May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011fi May 21 12:43:25 home laptop_mode[8338]: #011#011#011fi May 21 12:43:25 home laptop_mode[8338]: #011#011fi May 21 12:43:25 home laptop_mode[8338]: #011done May 21 12:43:25 home laptop_mode[8338]: } May 21 12:43:25 home laptop_mode[8338]: isWifiIf() { May 21 12:43:25 home laptop_mode[8338]: #011local IF=$1 May 21 12:43:25 home laptop_mode[8338]: #011if [ -n "$IW" ]; then May 21 12:43:25 home laptop_mode[8338]: #011#011$IW dev $IF info > /dev/null 2>&1 May 21 12:43:25 home laptop_mode[8338]: #011#011ret=$? May 21 12:43:25 home laptop_mode[8338]: #011else May 21 12:43:25 home laptop_mode[8338]: #011#011# Inverting return values, we get "0" for wireless device, May 21 12:43:25 home laptop_mode[8338]: #011#011# and "1" for non-wireless device. May 21 12:43:25 home laptop_mode[8338]: #011#011($IWCONFIG $IF 2>&1 | grep -q "no wireless extensions.") && ret=1 || ret=0 May 21 12:43:25 home laptop_mode[8338]: #011fi May 21 12:43:25 home laptop_mode[8338]: #011return $ret May 21 12:43:25 home laptop_mode[8338]: } May 21 12:43:25 home laptop_mode[8338]: setPowerSave() { May 21 12:43:25 home laptop_mode[8338]: #011local IF=$1 May 21 12:43:25 home laptop_mode[8338]: #011local ONOFF=$2 May 21 12:43:25 home laptop_mode[8338]: #011if [ -n "$IW" ]; then May 21 12:43:25 home laptop_mode[8338]: #011#011$IW dev $IF set power_save $ONOFF May 21 12:43:25 home laptop_mode[8338]: #011else May 21 12:43:25 home laptop_mode[8338]: #011#011$IWCONFIG $IF power $ONOFF May 21 12:43:25 home laptop_mode[8338]: if [ $ONOFF = "on" ]; then May 21 12:43:25 home laptop_mode[8338]: $IWCONFIG $IF txpower auto May 21 12:43:25 home laptop_mode[8338]: else May 21 12:43:25 home laptop_mode[8338]: $IWCONFIG dev $IF txpower fixed May 21 12:43:25 home laptop_mode[8338]: fi May 21 12:43:25 home laptop_mode[8338]: #011fi May 21 12:43:25 home laptop_mode[8338]: } May 21 12:43:25 home laptop_mode[8338]: if [ x$CONTROL_WIRELESS_POWER_SAVING = x1 ] || [ x$ENABLE_AUTO_MODULES = x1 -a x$CONTROL_WIRELESS_POWER_SAVING = xauto ]; then May 21 12:43:25 home laptop_mode[8338]: #011log "VERBOSE" "Setting power saving for generic wireless interfaces." May 21 12:43:25 home laptop_mode[8338]: #011# Provide defaults for config file settings May 21 12:43:25 home laptop_mode[8338]: #011[ "$WIRELESS_AC_POWER_SAVING" ] || WIRELESS_AC_POWER_SAVING=0 May 21 12:43:25 home laptop_mode[8338]: #011[ "$WIRELESS_BATT_POWER_SAVING" ] || WIRELESS_BATT_POWER_SAVING=1 May 21 12:43:25 home laptop_mode[8338]: #011# Find executables May 21 12:43:25 home laptop_mode[8338]: #011if [ -x /sbin/iw ] ; then May 21 12:43:25 home laptop_mode[8338]: #011#011IW=/sbin/iw May 21 12:43:25 home laptop_mode[8338]: #011elif [ -x /usr/sbin/iw ] ; then May 21 12:43:25 home laptop_mode[8338]: #011#011IW=/usr/sbin/iw May 21 12:43:25 home laptop_mode[8338]: #011else May 21 12:43:25 home laptop_mode[8338]: #011#011log "VERBOSE" "iw is not installed" May 21 12:43:25 home laptop_mode[8338]: #011#011if [ -x /sbin/iwconfig ] ; then May 21 12:43:25 home laptop_mode[8338]: #011#011#011IWCONFIG=/sbin/iwconfig May 21 12:43:25 home laptop_mode[8338]: #011#011elif [ -x /usr/sbin/iwconfig ] ; then May 21 12:43:25 home laptop_mode[8338]: #011#011#011IWCONFIG=/usr/sbin/iwconfig May 21 12:43:25 home laptop_mode[8338]: #011#011else May 21 12:43:25 home laptop_mode[8338]: #011#011#011log "VERBOSE" "iwconfig is not installed" May 21 12:43:25 home laptop_mode[8338]: #011#011#011IW=/bin/false May 21 12:43:25 home laptop_mode[8338]: #011#011fi May 21 12:43:25 home laptop_mode[8338]: #011fi May 21 12:43:25 home laptop_mode[8338]: #011# Translate 1 => on, 0 => off May 21 12:43:25 home laptop_mode[8338]: #011WIRELESS_AC_POWER_SAVING_ONOFF=off May 21 12:43:25 home laptop_mode[8338]: #011WIRELESS_BATT_POWER_SAVING_ONOFF=off May 21 12:43:25 home laptop_mode[8338]: #011[ "$WIRELESS_AC_POWER_SAVING" = 1 ] && WIRELESS_AC_POWER_SAVING_ONOFF=on May 21 12:43:25 home laptop_mode[8338]: #011[ "$WIRELESS_BATT_POWER_SAVING" = 1 ] && WIRELESS_BATT_POWER_SAVING_ONOFF=on May 21 12:43:25 home laptop_mode[8338]: #011WIFI_IFNAMES="" May 21 12:43:25 home laptop_mode[8338]: #011findWifiIfs May 21 12:43:25 home laptop_mode[8338]: #011for IF in $WIFI_IFNAMES ; do May 21 12:43:25 home laptop_mode[8338]: #011#011if [ $ON_AC -eq 1 ] ; then May 21 12:43:25 home laptop_mode[8338]: #011#011#011log "VERBOSE" "On AC power: setting power saving mode for $IF to $WIRELESS_AC_POWER_SAVING_ONOFF." May 21 12:43:25 home laptop_mode[8338]: #011#011#011if ! setPowerSave $IF $WIRELESS_AC_POWER_SAVING_ONOFF; then May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011log "ERR" "Failed to re-set power saving mode for wireless card" May 21 12:43:25 home laptop_mode[8338]: #011#011#011fi May 21 12:43:25 home laptop_mode[8338]: #011#011else May 21 12:43:25 home laptop_mode[8338]: #011#011#011log "VERBOSE" "On battery: setting power saving mode for $IF to $WIRELESS_BATT_POWER_SAVING_ONOFF." May 21 12:43:25 home laptop_mode[8338]: #011#011#011if ! setPowerSave $IF $WIRELESS_BATT_POWER_SAVING_ONOFF; then May 21 12:43:25 home laptop_mode[8338]: #011#011#011#011log "ERR" "Failed to set power saving mode for wireless card" May 21 12:43:25 home laptop_mode[8338]: #011#011#011fi May 21 12:43:25 home laptop_mode[8338]: #011#011fi May 21 12:43:25 home laptop_mode[8338]: #011done May 21 12:43:25 home laptop_mode[8338]: else May 21 12:43:25 home laptop_mode[8338]: #011log "VERBOSE" "Generic wireless interface power saving module is disabled." May 21 12:43:25 home laptop_mode[8338]: fi May 21 12:43:25 home laptop_mode[8338]: + [ x1 = x1 ] May 21 12:43:25 home laptop_mode[8338]: + log VERBOSE Setting power saving for generic wireless interfaces. May 21 12:43:25 home laptop_mode[8338]: + [ x1 = x1 ] May 21 12:43:25 home laptop_mode[8338]: + [ -x /usr/bin/logger -a VERBOSE != STATUS ] May 21 12:43:25 home laptop_mode[8338]: + [ VERBOSE = MSG ] May 21 12:43:25 home laptop_mode[8338]: + [ VERBOSE = ERR ] May 21 12:43:25 home laptop_mode[8338]: + [ VERBOSE = VERBOSE ] May 21 12:43:25 home laptop_mode[8338]: + [ x0 = x1 ] May 21 12:43:25 home laptop_mode[8338]: + [ VERBOSE = VERBOSE ] May 21 12:43:25 home laptop_mode[8338]: + [ 1 = 0 ] May 21 12:43:25 home laptop_mode[8338]: + [ 0 ] May 21 12:43:25 home laptop_mode[8338]: + [ 1 ] May 21 12:43:25 home laptop_mode[8338]: + [ -x /sbin/iw ] May 21 12:43:25 home laptop_mode[8338]: + IW=/sbin/iw May 21 12:43:25 home laptop_mode[8338]: + WIRELESS_AC_POWER_SAVING_ONOFF=off May 21 12:43:25 home laptop_mode[8338]: + WIRELESS_BATT_POWER_SAVING_ONOFF=off May 21 12:43:25 home laptop_mode[8338]: + [ 0 = 1 ] May 21 12:43:25 home laptop_mode[8338]: + [ 1 = 1 ] May 21 12:43:25 home laptop_mode[8338]: + WIRELESS_BATT_POWER_SAVING_ONOFF=on May 21 12:43:25 home laptop_mode[8338]: + WIFI_IFNAMES= May 21 12:43:25 home laptop_mode[8338]: + findWifiIfs May 21 12:43:25 home laptop_mode[8338]: + local SYSDEVICE EXCLUDED LINK_TARGET DRIVER IFNAME EXCLUDED_DRIVER May 21 12:43:25 home systemd[1]: Started Session c24 of user rowan. May 21 12:43:25 home laptop_mode[8338]: + basename /sys/class/net/eth0 May 21 12:43:25 home laptop_mode[8338]: + IFNAME=eth0 May 21 12:43:25 home laptop_mode[8338]: + isWifiIf eth0 May 21 12:43:25 home laptop_mode[8338]: + local IF=eth0 May 21 12:43:25 home laptop_mode[8338]: + [ -n /sbin/iw ] May 21 12:43:25 home laptop_mode[8338]: + /sbin/iw dev eth0 info May 21 12:43:25 home laptop_mode[8338]: + ret=237 May 21 12:43:25 home laptop_mode[8338]: + return 237 May 21 12:43:25 home laptop_mode[8338]: + basename /sys/class/net/lo May 21 12:43:25 home laptop_mode[8338]: + IFNAME=lo May 21 12:43:25 home laptop_mode[8338]: + isWifiIf lo May 21 12:43:25 home laptop_mode[8338]: + local IF=lo May 21 12:43:25 home laptop_mode[8338]: + [ -n /sbin/iw ] May 21 12:43:25 home laptop_mode[8338]: + /sbin/iw dev lo info May 21 12:43:25 home laptop_mode[8338]: + [+ x1ret=237 May 21 12:43:25 home laptop_mode[8338]: = x1 ]+ May 21 12:43:25 home laptop_mode[8338]: return 237 May 21 12:43:25 home laptop_mode[8338]: + set +vx May 21 12:43:25 home laptop_mode[8338]: + basename /sys/class/net/wlan0 May 21 12:43:25 home laptop_mode[8338]: + IFNAME=wlan0 May 21 12:43:25 home laptop_mode[8338]: + isWifiIf wlan0 May 21 12:43:25 home laptop_mode[8338]: + local IF=wlan0 May 21 12:43:25 home laptop_mode[8338]: + [ -n /sbin/iw ] May 21 12:43:25 home laptop_mode[8338]: + /sbin/iw dev wlan0 info May 21 12:43:25 home laptop_mode[8338]: + ret=0 May 21 12:43:25 home laptop_mode[8338]: + return 0 May 21 12:43:25 home laptop_mode[8338]: + [ -h /sys/class/net/wlan0/device/driver ] May 21 12:43:25 home laptop_mode[8338]: + readlink /sys/class/net/wlan0/device/driver May 21 12:43:25 home laptop_mode[8338]: + LINK_TARGET=../../../../bus/pci/drivers/wl May 21 12:43:25 home laptop_mode[8338]: + DRIVER=wl May 21 12:43:25 home laptop_mode[8338]: + EXCLUDED=0 May 21 12:43:25 home laptop_mode[8338]: + [ iwl3945 = wl ] May 21 12:43:25 home laptop_mode[8338]: + [ iwl4965 = wl ] May 21 12:43:25 home laptop_mode[8338]: + [ iwlagn = wl ] May 21 12:43:25 home laptop_mode[8338]: + [ ipw3945 = wl ] May 21 12:43:25 home laptop_mode[8338]: + [ ipw2200 = wl ] May 21 12:43:25 home laptop_mode[8338]: + [ ipw2100 = wl ] May 21 12:43:25 home laptop_mode[8338]: + [ 0 = 0 ] May 21 12:43:25 home laptop_mode[8338]: + WIFI_IFNAMES= wlan0 May 21 12:43:25 home laptop_mode[8338]: + [ 1 -eq 1 ] May 21 12:43:25 home laptop_mode[8338]: + log VERBOSE On AC power: setting power saving mode for wlan0 to off. May 21 12:43:25 home laptop_mode[8338]: + [ x1 = x1 ] May 21 12:43:25 home laptop_mode[8338]: + [ -x /usr/bin/logger -a VERBOSE != STATUS ] May 21 12:43:25 home laptop_mode[8338]: + [ VERBOSE = MSG ] May 21 12:43:25 home laptop_mode[8338]: + [ VERBOSE = ERR ] May 21 12:43:25 home laptop_mode[8338]: + [ VERBOSE = VERBOSE ] May 21 12:43:25 home laptop_mode[8338]: + [ x0 = x1 ] May 21 12:43:25 home laptop_mode[8338]: + [ VERBOSE = VERBOSE ] May 21 12:43:25 home laptop_mode[8338]: + [ 1 = 0 ] May 21 12:43:25 home laptop_mode[8338]: + setPowerSave wlan0 off May 21 12:43:25 home laptop_mode[8338]: + local IF=wlan0 May 21 12:43:25 home laptop_mode[8338]: + local ONOFF=off May 21 12:43:25 home laptop_mode[8338]: + [ -n /sbin/iw ] May 21 12:43:25 home laptop_mode[8338]: + /sbin/iw dev wlan0 set power_save off May 21 12:43:26 home laptop_mode[8338]: Can't open display May 21 12:43:26 home console-kit-daemon[3557]: console-kit-daemon[3557]: GLib-CRITICAL: Source ID 712 was not found when attempting to remove it May 21 12:43:26 home console-kit-daemon[3557]: GLib-CRITICAL: Source ID 712 was not found when attempting to remove it May 21 12:43:26 home systemd[1]: Started Session c25 of user rowan. May 21 12:43:26 home laptop_mode[8338]: Can't open display May 21 12:43:26 home console-kit-daemon[3557]: console-kit-daemon[3557]: GLib-CRITICAL: Source ID 727 was not found when attempting to remove it May 21 12:43:26 home console-kit-daemon[3557]: GLib-CRITICAL: Source ID 727 was not found when attempting to remove it May 21 12:43:26 home systemd[1]: Reloaded Laptop Mode Tools.