wireless script checks wrong sys file

Bug #1299975 reported by savage
46
This bug affects 8 people
Affects Status Importance Assigned to Milestone
pm-utils (Ubuntu)
Fix Released
Undecided
Unassigned
Trusty
Fix Released
Undecided
Unassigned

Bug Description

TEST CASE:
- on a machine with a wireless interface, run:
  PM_FUNCTIONS=/usr/lib/pm-utils/functions sh -ex /usr/lib/pm-utils/power.d/wireless true
  and verify that it fails with /sys/class/net/wlan0/device/enable: No such file or directory
- install the update and run the command again and verify that the script continue beyond the point it stopped earlier, i.e. that it stops at a later point when running e.g. iwconfig
- now powersaving for wireless via pm-utils should work as intended from the script

REGRESSION POTENTIAL:
- the functionality in the script was completely broken before, by fixing this bug any bug in the power management that were previously hidden may now be uncovered.

On Trusty (beta), while trying to diagnose an issue with the wireless not connecting upon resume from standby, I discovered an invalid check in '/usr/lib/pm-utils/power.d/wireless'. The script checks '/sys/class/net/$1/device/enable' to see if the wireless device is enabled, failing to perform any configuration if this sys file does not exist. That happens to be the case for me (intel wireless), which the actual location is '/sys/class/net/$1/device/enabled' (enable -> enabled).

Changing the script to use the correct location has not fixed my wireless resume issue, but perhaps it is contributing to wireless issues for others. My wireless power-saving is correctly turned off upon resume now, though (it would get stuck in power-saving mode sometimes).

$> lsb_release -rd
Description: Ubuntu Trusty Tahr (development branch)
Release: 14.04

$> apt-cache policy pm-utils
pm-utils:
  Installed: 1.4.1-13
  Candidate: 1.4.1-13
  Version table:
 *** 1.4.1-13 0
        500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages
        100 /var/lib/dpkg/status

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in pm-utils (Ubuntu):
status: New → Confirmed
Revision history for this message
Peter Meiser (meiser79) wrote :

Please find attached a debdiff to fix this issue.

Revision history for this message
Martin Pitt (pitti) wrote :
Changed in pm-utils (Ubuntu):
status: Confirmed → Fix Committed
Michael Vogt (mvo)
description: updated
Changed in pm-utils (Ubuntu Trusty):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pm-utils - 1.4.1-15

---------------
pm-utils (1.4.1-15) unstable; urgency=medium

  * laptop-mode: If there is no state file (such as at boot), don't overwrite
    /proc/sys/vm/ values with fixed kernel defaults, simply do nothing. This
    allows sysctl.conf to set these values. Thanks to Osamu Aoki!
    (Closes: #659260)
  * Add 17-fix-wireless-hook.patch: Fix typo in wireless hook to make enabled
    check actually work. Thanks to Whoopie! (LP: #1299975)

 -- Martin Pitt <email address hidden> Thu, 10 Jul 2014 14:58:31 +0200

Changed in pm-utils (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Chris J Arges (arges) wrote : Please test proposed package

Hello savage, or anyone else affected,

Accepted pm-utils into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/pm-utils/1.4.1-13ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-needed
Revision history for this message
katsu (katsukatsu-deactivatedaccount) wrote :

* condition
ubuntu 14.04-64bit
$ lspci -nnv
02:00.0 Network controller [0280]: Qualcomm Atheros AR9285 Wireless Network Adapter (PCI-Express) [168c:002b] (rev 01)
--- > --- > --- > --- > --- (snip) --- > --- > --- > --- > ---
 Kernel driver in use: ath9k

* before proposed package & AC plug "Connect" & "Disconnect".
$ LANG=C apt list pm-utils
Listing... Done
pm-utils/trusty,now 1.4.1-13 all [installed]

AC plug Connnect & tail /var/log/pm-powersave.log
--- > --- > --- > --- > --- (snip) --- > --- > --- > --- > ---
Running hook /usr/lib/pm-utils/power.d/wireless false:
cat: /sys/class/net/wlan0/device/enable: No such file or directory
/usr/lib/pm-utils/power.d/wireless false: success.
--- > --- > --- > --- > --- (snip) --- > --- > --- > --- > ---

AC plug Disconnnect & tail /var/log/pm-powersave.log
--- > --- > --- > --- > --- (snip) --- > --- > --- > --- > ---
Running hook /usr/lib/pm-utils/power.d/wireless true:
cat: /sys/class/net/wlan0/device/enable: No such file or directory
/usr/lib/pm-utils/power.d/wireless true: success.
--- > --- > --- > --- > --- (snip) --- > --- > --- > --- > ---

* after proposed package & AC plug "Connect" & "Disconnect".
$ LANG=C apt list pm-utils
Listing... Done
pm-utils/trusty-proposed,now 1.4.1-13ubuntu0.1 all [installed]

AC plug Connnect & tail /var/log/pm-powersave.log
--- > --- > --- > --- > --- (snip) --- > --- > --- > --- > ---
Running hook /usr/lib/pm-utils/power.d/wireless false:
Turning powersave for wlan0 off...Error for wireless request "Set Power Management" (8B2C) :
    SET failed on device wlan0 ; Operation not supported.
Failed.
/usr/lib/pm-utils/power.d/wireless false: success.
--- > --- > --- > --- > --- (snip) --- > --- > --- > --- > ---

AC plug Disconnnect & tail /var/log/pm-powersave.log
--- > --- > --- > --- > --- (snip) --- > --- > --- > --- > ---
Running hook /usr/lib/pm-utils/power.d/wireless true:
Turning powersave for wlan0 on...Error for wireless request "Set Power Management" (8B2C) :
    SET failed on device wlan0 ; Operation not supported.
Failed.
/usr/lib/pm-utils/power.d/wireless true: success.
--- > --- > --- > --- > --- (snip) --- > --- > --- > --- > ---

* result
The "/usr/lib/pm-utils/power.d/wireless" script operated normally.
However, "ath9k module or wireless device" seems not to be supported.
------------------------------------------------------------------
Turning powersave for wlan0 on...Error for wireless request "Set Power Management" (8B2C) :
    SET failed on device wlan0 ; Operation not supported.
Failed.
------------------------------------------------------------------

Revision history for this message
katsu (katsukatsu-deactivatedaccount) wrote :

The bug was corrected.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pm-utils - 1.4.1-13ubuntu0.1

---------------
pm-utils (1.4.1-13ubuntu0.1) trusty-proposed; urgency=medium

  * debian/patches/17-fix-wireless-hook.patch: Fix typo in wireless
    hook (LP: #1299975).
 -- Whoopie <email address hidden> Tue, 08 Jul 2014 07:49:28 +0200

Changed in pm-utils (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of the Stable Release Update for pm-utils has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Dirk F (fieldhouse) wrote :

See regression bug 1544612.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.