New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 686168 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: Feb 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Use simple udev handlers instead of laptop-mode-tools to configure device autosuspend

Project Member Reported by mka@chromium.org, Jan 27 2017

Issue description

Device autosuspend is current configured by laptop-mode-tools (LMT), which we intend to replace ( crbug.com/214886 ).

On CrOS autosuspend is a static setting that only needs to be applied once for each device, afterwards it is not changed (e.g. because power is plugged/unplugged). This makes it suitable for replacing it with a set of udev rules instead of doing it in code that needs to be maintained.

For most non-USB devices the kernel enables autosuspend by default, which is the desired behavior. According to the LMT configuration autosuspend should be disabled for a couple of devices (isl29018, cyapa).

For USB autosuspend is disabled by default and we want to enable it explicitly for devices known to support it. The USB whitelist of LMT can be used to generate the corresponding udev rules.
 

Comment 1 by mka@chromium.org, Jan 27 2017

Besides the longer term LMT replacement we probably want to move this forward soon to mitigate  Issue 682578 .

Comment 2 by tbroch@chromium.org, Jan 30 2017

Migrating to udev sounds like a great plan.

Comment 3 by mka@chromium.org, Feb 1 2017

Status: Fixed (was: Started)
Project Member

Comment 4 by bugdroid1@chromium.org, Feb 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/1cc75732b0d76f742b30b06916135c80ae47f978

commit 1cc75732b0d76f742b30b06916135c80ae47f978
Author: Matthias Kaehlcke <mka@chromium.org>
Date: Fri Feb 03 00:42:50 2017

chromeos-bsp-*: Remove laptop-mode-tools runtime PM config

LMT runtime PM has been replaced by udev rules.

BUG= chromium:686168 ,  chromium:214886 
CQ-DEPEND=CL:434907
TEST=precq passes

Change-Id: I05c4d473c743ba53b695212c597a751b3c65cb00
Reviewed-on: https://chromium-review.googlesource.com/435479
Commit-Ready: Matthias Kaehlcke <mka@chromium.org>
Tested-by: Matthias Kaehlcke <mka@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-peach/chromeos-base/chromeos-bsp-peach/chromeos-bsp-peach-0.0.2.ebuild
[modify] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-falco/chromeos-base/chromeos-bsp-falco/chromeos-bsp-falco-0.0.2.ebuild
[rename] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-peppy/chromeos-base/chromeos-bsp-peppy/chromeos-bsp-peppy-0.0.1-r13.ebuild
[rename] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-daisy/chromeos-base/chromeos-bsp-daisy/chromeos-bsp-daisy-0.0.2-r7.ebuild
[delete] https://crrev.com/3215071cf9b413695fb78690bb3a11f4684e8b3d/overlay-lumpy/chromeos-base/chromeos-bsp-lumpy/files/runtime-pm.conf
[rename] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-butterfly/chromeos-base/chromeos-bsp-butterfly/chromeos-bsp-butterfly-0.0.2-r12.ebuild
[modify] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-lumpy/chromeos-base/chromeos-bsp-lumpy/chromeos-bsp-lumpy-0.0.6.ebuild
[rename] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-peach/chromeos-base/chromeos-bsp-peach/chromeos-bsp-peach-0.0.2-r2.ebuild
[modify] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-parrot/chromeos-base/chromeos-bsp-parrot/chromeos-bsp-parrot-0.0.2.ebuild
[rename] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-falco/chromeos-base/chromeos-bsp-falco/chromeos-bsp-falco-0.0.2-r12.ebuild
[modify] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-peppy/chromeos-base/chromeos-bsp-peppy/chromeos-bsp-peppy-0.0.1.ebuild
[delete] https://crrev.com/3215071cf9b413695fb78690bb3a11f4684e8b3d/overlay-daisy/chromeos-base/chromeos-bsp-daisy/files/runtime-pm.conf
[delete] https://crrev.com/3215071cf9b413695fb78690bb3a11f4684e8b3d/overlay-butterfly/chromeos-base/chromeos-bsp-butterfly/files/runtime-pm.conf
[modify] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-butterfly/chromeos-base/chromeos-bsp-butterfly/chromeos-bsp-butterfly-0.0.2.ebuild
[delete] https://crrev.com/3215071cf9b413695fb78690bb3a11f4684e8b3d/overlay-peppy/chromeos-base/chromeos-bsp-peppy/files/runtime-pm.conf
[rename] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-parrot/chromeos-base/chromeos-bsp-parrot/chromeos-bsp-parrot-0.0.2-r23.ebuild
[delete] https://crrev.com/3215071cf9b413695fb78690bb3a11f4684e8b3d/overlay-falco/chromeos-base/chromeos-bsp-falco/files/runtime-pm.conf
[delete] https://crrev.com/3215071cf9b413695fb78690bb3a11f4684e8b3d/overlay-peach/chromeos-base/chromeos-bsp-peach/files/runtime-pm.conf
[delete] https://crrev.com/3215071cf9b413695fb78690bb3a11f4684e8b3d/overlay-parrot/chromeos-base/chromeos-bsp-parrot/files/runtime-pm.conf
[modify] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-daisy/chromeos-base/chromeos-bsp-daisy/chromeos-bsp-daisy-0.0.2.ebuild
[rename] https://crrev.com/1cc75732b0d76f742b30b06916135c80ae47f978/overlay-lumpy/chromeos-base/chromeos-bsp-lumpy/chromeos-bsp-lumpy-0.0.6-r27.ebuild

Project Member

Comment 5 by bugdroid1@chromium.org, Feb 14 2017

Labels: merge-merged-release-R57-9202.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/c2e86752e9242dd3af7fb1b77afc57ae3ce93958

commit c2e86752e9242dd3af7fb1b77afc57ae3ce93958
Author: Matthias Kaehlcke <mka@chromium.org>
Date: Tue Feb 14 19:23:31 2017

power: Add script to generate udev rules for autosuspend

The script is part of the effort to replace laptop-mode-tools (LMT). It
generates udev rules to enable/disable autosuspend for certain devices.

The device list is derived from the CrOS configuration file for USB
autosuspend of LMT.

BUG= chromium:214886 ,  chromium:686168 ,  chromium:682578 
TEST=see CL:434906

Change-Id: Ie36a4d1b348f64a029b2657f8e118573c61247e1
Previous-Reviewed-on: https://chromium-review.googlesource.com/435618
(cherry picked from commit 0002ecb756a755ea87f16bb112bf4b0ab58b14a0)
Reviewed-on: https://chromium-review.googlesource.com/442725
Reviewed-by: Dan Erat <derat@chromium.org>
Commit-Queue: Matthias Kaehlcke <mka@chromium.org>
Tested-by: Matthias Kaehlcke <mka@chromium.org>

[add] https://crrev.com/c2e86752e9242dd3af7fb1b77afc57ae3ce93958/power_manager/udev/gen_autosuspend_rules.py

Project Member

Comment 6 by bugdroid1@chromium.org, Feb 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/c536612123d5f856287ef1a994af44c2e809d789

commit c536612123d5f856287ef1a994af44c2e809d789
Author: Matthias Kaehlcke <mka@chromium.org>
Date: Tue Feb 14 19:23:32 2017

chromeos-bsp-*: Remove laptop-mode-tools runtime PM config

LMT runtime PM has been replaced by udev rules.

BUG= chromium:686168 ,  chromium:214886 
CQ-DEPEND=CL:434907
TEST=precq passes

Change-Id: I05c4d473c743ba53b695212c597a751b3c65cb00
Previous-Reviewed-on: https://chromium-review.googlesource.com/435479
(cherry picked from commit 2f87bb74c4bc7e65d68e3e531ac295677bc371e5)
Reviewed-on: https://chromium-review.googlesource.com/442646
Reviewed-by: Dan Erat <derat@chromium.org>
Commit-Queue: Matthias Kaehlcke <mka@chromium.org>
Tested-by: Matthias Kaehlcke <mka@chromium.org>

[modify] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-peach/chromeos-base/chromeos-bsp-peach/chromeos-bsp-peach-0.0.2.ebuild
[modify] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-falco/chromeos-base/chromeos-bsp-falco/chromeos-bsp-falco-0.0.2.ebuild
[rename] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-peppy/chromeos-base/chromeos-bsp-peppy/chromeos-bsp-peppy-0.0.1-r13.ebuild
[rename] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-daisy/chromeos-base/chromeos-bsp-daisy/chromeos-bsp-daisy-0.0.2-r7.ebuild
[delete] https://crrev.com/ae9ad098139ab47e609652a8a4d69995ed1efd46/overlay-lumpy/chromeos-base/chromeos-bsp-lumpy/files/runtime-pm.conf
[rename] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-butterfly/chromeos-base/chromeos-bsp-butterfly/chromeos-bsp-butterfly-0.0.2-r12.ebuild
[modify] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-lumpy/chromeos-base/chromeos-bsp-lumpy/chromeos-bsp-lumpy-0.0.6.ebuild
[rename] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-peach/chromeos-base/chromeos-bsp-peach/chromeos-bsp-peach-0.0.2-r2.ebuild
[modify] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-parrot/chromeos-base/chromeos-bsp-parrot/chromeos-bsp-parrot-0.0.2.ebuild
[rename] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-falco/chromeos-base/chromeos-bsp-falco/chromeos-bsp-falco-0.0.2-r12.ebuild
[modify] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-peppy/chromeos-base/chromeos-bsp-peppy/chromeos-bsp-peppy-0.0.1.ebuild
[delete] https://crrev.com/ae9ad098139ab47e609652a8a4d69995ed1efd46/overlay-daisy/chromeos-base/chromeos-bsp-daisy/files/runtime-pm.conf
[delete] https://crrev.com/ae9ad098139ab47e609652a8a4d69995ed1efd46/overlay-butterfly/chromeos-base/chromeos-bsp-butterfly/files/runtime-pm.conf
[modify] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-butterfly/chromeos-base/chromeos-bsp-butterfly/chromeos-bsp-butterfly-0.0.2.ebuild
[delete] https://crrev.com/ae9ad098139ab47e609652a8a4d69995ed1efd46/overlay-peppy/chromeos-base/chromeos-bsp-peppy/files/runtime-pm.conf
[rename] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-parrot/chromeos-base/chromeos-bsp-parrot/chromeos-bsp-parrot-0.0.2-r23.ebuild
[delete] https://crrev.com/ae9ad098139ab47e609652a8a4d69995ed1efd46/overlay-falco/chromeos-base/chromeos-bsp-falco/files/runtime-pm.conf
[delete] https://crrev.com/ae9ad098139ab47e609652a8a4d69995ed1efd46/overlay-peach/chromeos-base/chromeos-bsp-peach/files/runtime-pm.conf
[delete] https://crrev.com/ae9ad098139ab47e609652a8a4d69995ed1efd46/overlay-parrot/chromeos-base/chromeos-bsp-parrot/files/runtime-pm.conf
[modify] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-daisy/chromeos-base/chromeos-bsp-daisy/chromeos-bsp-daisy-0.0.2.ebuild
[rename] https://crrev.com/c536612123d5f856287ef1a994af44c2e809d789/overlay-lumpy/chromeos-base/chromeos-bsp-lumpy/chromeos-bsp-lumpy-0.0.6-r27.ebuild

Project Member

Comment 7 by bugdroid1@chromium.org, Feb 14 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/eb036cafcc0b6bca638352de876d9053a4f8c4ee

commit eb036cafcc0b6bca638352de876d9053a4f8c4ee
Author: Matthias Kaehlcke <mka@chromium.org>
Date: Tue Feb 14 19:23:32 2017

power_manager: Install udev rules to enable device autosuspend

The udev rules substitute the laptop-mode-tools modules USB autosuspend
and runtime PM.

BUG= chromium:214886 ,  chromium:686168 ,  chromium:682578 
CQ-DEPEND=CL:435618, CL:434907
TEST=install on device with 'cyapa' (e.g. daisy_skate)
  disable USB autosuspend and runtime PM in laptop-mode-tools (see next CL)
  insert security key
  cat /sys/bus/usb/devices/${dev}/power/control
    => auto
  insert USB mass storage device
  cat /sys/bus/usb/devices/${dev}/power/control
    => on
  cd /sys
  find -name name -exec grep -H cyapa {} \;
  cat ${dev}/power/control
    => on
  cat ${other_i2c_dev}/power/control
    => auto

Change-Id: If2659288f12369e6d467e2f9d2b3a57a267f9d9f
Previous-Reviewed-on: https://chromium-review.googlesource.com/434906
(cherry picked from commit 0b0731ea17da60c763776d32e9f286237b0d45de)
Reviewed-on: https://chromium-review.googlesource.com/442744
Reviewed-by: Dan Erat <derat@chromium.org>
Commit-Queue: Matthias Kaehlcke <mka@chromium.org>
Tested-by: Matthias Kaehlcke <mka@chromium.org>

[modify] https://crrev.com/eb036cafcc0b6bca638352de876d9053a4f8c4ee/chromeos-base/power_manager/power_manager-9999.ebuild

Comment 9 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 10 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 12 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment