Enable Wake-on-disconnect on all platforms |
||||||||||
Issue description
Now that we have the new logic for enabling dark resume in powerd. This is a tracker bug to enable the lucid sleep once again one device at a time.
Things to be addressed before enabling.
1. Reviving autotests.
2. Making sure all user triggered wakeup sources are properly recognized on a given platform.
--> write autotest to verify the same.
⛆ |
|
|
,
Apr 18 2018
,
May 30 2018
,
May 30 2018
,
Jul 10
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/812e61b3aa880aed71437cc7ff39885dd8b1d7e9 commit 812e61b3aa880aed71437cc7ff39885dd8b1d7e9 Author: Ravi Chandra Sadineni <ravisadineni@chromium.org> Date: Tue Jul 10 05:35:45 2018 autotest: Provide a way to suspend indefinitely. Currently the method exposed to suspend remote DUT is confusing. It expects the suspend to last exactly for 'timeout' secs. This does not serve certain use cases. For example consider a test that would want to test resume on power button press and sets a backup alarm to handle the failure scenario. The method currently exposed would throw an autoserv error complaining the suspend didn't last long enough. Make this check optional (and True by default to not mess with the current implementation). BUG=chromium:820668 TEST=Test the current behaviour holds and if check_for_early_resume is False, suspend method does not raises exception anymore. Change-Id: I00c5021d58463460b95e43c4c94b9a2ae20a1248 Reviewed-on: https://chromium-review.googlesource.com/1129545 Commit-Ready: Ravi Chandra Sadineni <ravisadineni@chromium.org> Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> Reviewed-by: Dan Erat <derat@chromium.org> [modify] https://crrev.com/812e61b3aa880aed71437cc7ff39885dd8b1d7e9/server/hosts/cros_host.py [modify] https://crrev.com/812e61b3aa880aed71437cc7ff39885dd8b1d7e9/server/hosts/remote.py
,
Aug 23
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/5c68adbee4ad36237f83396098e2773506048f4e commit 5c68adbee4ad36237f83396098e2773506048f4e Author: RaviChandra Sadineni <ravisadineni@google.com> Date: Thu Aug 23 20:20:59 2018 usbkm: Make emulator wake capable. This patch helps us make the kb emulator in the servo wake capable. This helps us in testing wakes from usb hid devices. Changes involve 1. Changing the configuration descriptor to advertise the emulator as wake capable. 2. Triggering remote wake signal if the operating system has asked to do so. 3. Fix few compile time issues. BUG=chromium:820668 TEST=flashed the kb emulator and tested it can wake the system up. Change-Id: I02bd8d376145e5674abc0533d59d25bd1f3dad10 Reviewed-on: https://chromium-review.googlesource.com/1175001 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> Reviewed-by: Nick Sanders <nsanders@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> [modify] https://crrev.com/5c68adbee4ad36237f83396098e2773506048f4e/servo/firmware/usbkm/KeyboardSerial/Keyboard.c [modify] https://crrev.com/5c68adbee4ad36237f83396098e2773506048f4e/servo/firmware/usbkm/KeyboardSerial/Keyboard.h [modify] https://crrev.com/5c68adbee4ad36237f83396098e2773506048f4e/servo/firmware/usbkm/KeyboardSerial/Keyboard.hex [modify] https://crrev.com/5c68adbee4ad36237f83396098e2773506048f4e/servo/firmware/usbkm/KeyboardSerial/Descriptors.c
,
Sep 14
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/10b223dd62ca5178290a201a353e21bcd040b24d commit 10b223dd62ca5178290a201a353e21bcd040b24d Author: RaviChandra Sadineni <ravisadineni@google.com> Date: Fri Sep 14 01:58:41 2018 base_detect: Expose console command to force state. In an effort to test wake sources on any given platform, this CL exposes console command to set the base state. This console command can then be invoked by autottests from the uart interface. We have two implementations for managing base status. One is interrupt driven while the other is a polling via a task. Boards current implementations then are: interrupts: lux, soraka, cheza polling task: nocturne, zoombini For forcing base connect and disconnect, interrupts: Disable interrupts and set forced base state. polling task: Stop periodic task and set forced base state. On reset, interrupts: Schedule deferred task immediately and enable interrupts. polling task: Clear forced base state and begin rescheduling periodic task. Signed-off-by: RaviChandra Sadineni <ravisadineni@google.com> BRANCH=poppy,nocturne BUG=chromium:820668, b:37223093 TEST=Tested on lux, soraka and nocturne basestate a : attaches the lid, reflected in ui. basestate d : detaches the lid, reflected in ui. basestate r : resets to the correct state. Wakes the device up on lux and nocturne and soraka. Change-Id: Iab698e103a50b8d22bf216a6f816998cb158e38a Reviewed-on: https://chromium-review.googlesource.com/1184172 Commit-Ready: Ravi Chandra Sadineni <ravisadineni@chromium.org> Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/board/poppy/base_detect_lux.c [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/board/nocturne/base_detect.c [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/board/zoombini/base_detect.c [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/board/poppy/board.c [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/board/zoombini/board.h [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/common/build.mk [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/board/poppy/board.h [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/include/config.h [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/include/base_state.h [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/common/base_state.c [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/board/cheza/board.h [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/board/poppy/base_detect_poppy.c [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/board/nocturne/board.h [modify] https://crrev.com/10b223dd62ca5178290a201a353e21bcd040b24d/board/cheza/base_detect.c
,
Sep 14
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/e291401ec13b040439dbc18f26b68589dd274761 commit e291401ec13b040439dbc18f26b68589dd274761 Author: RaviChandra Sadineni <ravisadineni@google.com> Date: Fri Sep 14 17:15:16 2018 base_detect: Expose console command to force state. In an effort to test wake sources on any given platform, this CL exposes console command to set the base state. This console command can then be invoked by autottests from the uart interface. We have two implementations for managing base status. One is interrupt driven while the other is a polling via a task. Boards current implementations then are: interrupts: lux, soraka, cheza polling task: nocturne, zoombini For forcing base connect and disconnect, interrupts: Disable interrupts and set forced base state. polling task: Stop periodic task and set forced base state. On reset, interrupts: Schedule deferred task immediately and enable interrupts. polling task: Clear forced base state and begin rescheduling periodic task. Signed-off-by: RaviChandra Sadineni <ravisadineni@google.com> BRANCH=poppy,nocturne BUG=chromium:820668, b:37223093 TEST=Tested on lux, soraka and nocturne basestate a : attaches the lid, reflected in ui. basestate d : detaches the lid, reflected in ui. basestate r : resets to the correct state. Wakes the device up on lux and nocturne and soraka. Orig-Change-Id: Iab698e103a50b8d22bf216a6f816998cb158e38a Orig-Reviewed-on: https://chromium-review.googlesource.com/1184172 Change-Id: I8ca0b30915b4fc76f650a3c0ca9be5918cf0ceaa Reviewed-on: https://chromium-review.googlesource.com/1226015 Reviewed-by: Todd Broch <tbroch@chromium.org> Commit-Queue: Ravi Chandra Sadineni <ravisadineni@chromium.org> Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> Trybot-Ready: Ravi Chandra Sadineni <ravisadineni@chromium.org> [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/board/poppy/base_detect_lux.c [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/board/nocturne/base_detect.c [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/board/zoombini/base_detect.c [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/board/poppy/board.c [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/board/zoombini/board.h [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/common/build.mk [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/board/poppy/board.h [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/include/config.h [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/include/base_state.h [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/common/base_state.c [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/board/cheza/board.h [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/board/poppy/base_detect_poppy.c [modify] https://crrev.com/e291401ec13b040439dbc18f26b68589dd274761/board/nocturne/board.h
,
Sep 27
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/e4eea88b3c24058a380a3acbfaf33fc0a1a96ee9 commit e4eea88b3c24058a380a3acbfaf33fc0a1a96ee9 Author: RaviChandra Sadineni <ravisadineni@google.com> Date: Thu Sep 27 16:02:14 2018 base_detect: Expose console command to force state. In an effort to test wake sources on any given platform, this CL exposes console command to set the base state. This console command can then be invoked by autottests from the uart interface. We have two implementations for managing base status. One is interrupt driven while the other is a polling via a task. Boards current implementations then are: interrupts: lux, soraka, cheza polling task: nocturne, zoombini For forcing base connect and disconnect, interrupts: Disable interrupts and set forced base state. polling task: Stop periodic task and set forced base state. On reset, interrupts: Schedule deferred task immediately and enable interrupts. polling task: Clear forced base state and begin rescheduling periodic task. Signed-off-by: RaviChandra Sadineni <ravisadineni@google.com> BRANCH=poppy,nocturne BUG=chromium:820668, b:37223093 TEST=Tested on lux, soraka and nocturne basestate a : attaches the lid, reflected in ui. basestate d : detaches the lid, reflected in ui. basestate r : resets to the correct state. Wakes the device up on lux and nocturne and soraka. orig-Change-Id: Iab698e103a50b8d22bf216a6f816998cb158e38a orig-Reviewed-on: https://chromium-review.googlesource.com/1184172 Change-Id: I13a12c302fb6c50b11a70f15c218eb72079f2c17 Reviewed-on: https://chromium-review.googlesource.com/1240456 Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> Commit-Queue: Ravi Chandra Sadineni <ravisadineni@chromium.org> Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> Trybot-Ready: Ravi Chandra Sadineni <ravisadineni@chromium.org> [modify] https://crrev.com/e4eea88b3c24058a380a3acbfaf33fc0a1a96ee9/board/poppy/base_detect_lux.c [modify] https://crrev.com/e4eea88b3c24058a380a3acbfaf33fc0a1a96ee9/board/poppy/board.c [modify] https://crrev.com/e4eea88b3c24058a380a3acbfaf33fc0a1a96ee9/common/build.mk [modify] https://crrev.com/e4eea88b3c24058a380a3acbfaf33fc0a1a96ee9/board/poppy/board.h [modify] https://crrev.com/e4eea88b3c24058a380a3acbfaf33fc0a1a96ee9/include/config.h [add] https://crrev.com/e4eea88b3c24058a380a3acbfaf33fc0a1a96ee9/include/base_state.h [add] https://crrev.com/e4eea88b3c24058a380a3acbfaf33fc0a1a96ee9/common/base_state.c [modify] https://crrev.com/e4eea88b3c24058a380a3acbfaf33fc0a1a96ee9/board/poppy/base_detect_poppy.c
,
Oct 1
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/ec/+/d88c7a7538e1573698df5769468a82ae0405a219 commit d88c7a7538e1573698df5769468a82ae0405a219 Author: RaviChandra Sadineni <ravisadineni@google.com> Date: Mon Oct 01 18:25:26 2018 base_detect: Expose console command to force state. In an effort to test wake sources on any given platform, this CL exposes console command to set the base state. This console command can then be invoked by autottests from the uart interface. We have two implementations for managing base status. One is interrupt driven while the other is a polling via a task. Boards current implementations then are: interrupts: lux, soraka, cheza polling task: nocturne, zoombini For forcing base connect and disconnect, interrupts: Disable interrupts and set forced base state. polling task: Stop periodic task and set forced base state. On reset, interrupts: Schedule deferred task immediately and enable interrupts. polling task: Clear forced base state and begin rescheduling periodic task. Signed-off-by: RaviChandra Sadineni <ravisadineni@google.com> BRANCH=poppy,nocturne BUG=chromium:820668, b:37223093 TEST=Tested on lux, soraka and nocturne basestate a : attaches the lid, reflected in ui. basestate d : detaches the lid, reflected in ui. basestate r : resets to the correct state. Wakes the device up on lux and nocturne and soraka. Change-Id: Iab698e103a50b8d22bf216a6f816998cb158e38a Reviewed-on: https://chromium-review.googlesource.com/1184172 Commit-Ready: Ravi Chandra Sadineni <ravisadineni@chromium.org> Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-by: Nicolas Boichat <drinkcat@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> (cherry picked from commit 10b223dd62ca5178290a201a353e21bcd040b24d) Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/1213558 Commit-Queue: Aseda Aboagye <aaboagye@chromium.org> Tested-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> [modify] https://crrev.com/d88c7a7538e1573698df5769468a82ae0405a219/board/cheza/base_detect.c
,
Oct 2
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/f719f350efaaaf6014bf289118abd5f36941c30d commit f719f350efaaaf6014bf289118abd5f36941c30d Author: Ravi Chandra Sadineni <ravisadineni@chromium.org> Date: Tue Oct 02 12:19:23 2018 power_WakeSources: Add test to verify wake sources. As part of dark resume enablement, we need to verify wake sources respond properly. This CL focuses on verifying that input events (power button, lid and base attach/detach) result in a full wake. This CL also verifies that RTC causes a dark resume. Future changes will enable verification of other wake sources. BUG=chromium:820668 TEST=Tested locally with poppy. Change-Id: I399a0510826a9b4ceae24c8c104f308ddfd61895 Reviewed-on: https://chromium-review.googlesource.com/1129372 Commit-Ready: Ravi Chandra Sadineni <ravisadineni@chromium.org> Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> Reviewed-by: Puthikorn Voravootivat <puthik@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> [modify] https://crrev.com/f719f350efaaaf6014bf289118abd5f36941c30d/client/cros/dark_resume_listener.py [add] https://crrev.com/f719f350efaaaf6014bf289118abd5f36941c30d/server/site_tests/power_WakeSources/power_WakeSources.py [add] https://crrev.com/f719f350efaaaf6014bf289118abd5f36941c30d/server/site_tests/power_WakeSources/control [modify] https://crrev.com/f719f350efaaaf6014bf289118abd5f36941c30d/server/hosts/cros_label.py [modify] https://crrev.com/f719f350efaaaf6014bf289118abd5f36941c30d/client/cros/power/power_utils.py [modify] https://crrev.com/f719f350efaaaf6014bf289118abd5f36941c30d/client/bin/input/input_device.py [modify] https://crrev.com/f719f350efaaaf6014bf289118abd5f36941c30d/server/cros/dark_resume_utils.py [modify] https://crrev.com/f719f350efaaaf6014bf289118abd5f36941c30d/client/cros/dark_resume_xmlrpc_server.py
,
Oct 2
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform2/+/96fd64ac8c1ae7558412ffbd53f7f038eecf7c0c commit 96fd64ac8c1ae7558412ffbd53f7f038eecf7c0c Author: RaviChandra Sadineni <ravisadineni@google.com> Date: Tue Oct 02 23:42:05 2018 power: Documentation for Dark Resume. As part of enabling Dark Resume, make sure we have documentation explaining the internals of Dark Resume. BUG=chromium:820668 TEST=Test that the documentation is displayed properly. Change-Id: I417ffca352a005925b911efc65ef2714f7f87230 Reviewed-on: https://chromium-review.googlesource.com/1240097 Commit-Ready: Ravi Chandra Sadineni <ravisadineni@chromium.org> Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> Reviewed-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> [add] https://crrev.com/96fd64ac8c1ae7558412ffbd53f7f038eecf7c0c/power_manager/docs/dark_resume.md
,
Oct 8
,
Nov 7
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/c06b00effb42cf3ec461fa8a6e19317c221cb054 commit c06b00effb42cf3ec461fa8a6e19317c221cb054 Author: RaviChandra Sadineni <ravisadineni@google.com> Date: Wed Nov 07 14:34:54 2018 cros_label : Add nocturne to lucid sleep test base. As we are planning to enable dark resume on nocturne, make sure power_WakeSources test runs on nocturne too. Also add power_WakeSources to the power_build suite so that it can run daily in the lab. BUG=chromium:820668 TEST=Test locally that power_WakeSources works fine. test_that 100.90.25.180 power_WakeSources --autotest_dir . --args 'servo_host=localhost servo_port=9998' Change-Id: I000438f4444f8da2ef74dad21863af1d5ff91d89 Reviewed-on: https://chromium-review.googlesource.com/1316341 Commit-Ready: Ravi Chandra Sadineni <ravisadineni@chromium.org> Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> [modify] https://crrev.com/c06b00effb42cf3ec461fa8a6e19317c221cb054/server/site_tests/power_WakeSources/control [modify] https://crrev.com/c06b00effb42cf3ec461fa8a6e19317c221cb054/server/hosts/cros_label.py
,
Nov 20
Having some troubles running power_WakesSources to validate crbug.com/901495. Test basically fails to wake from keyboard (expected given bug) but then the backup RTC wake either doesn't fail or is also broken (not according to results for power_Resume however). The whole test failure takes ~24min to resolve. Logs attached.
,
Nov 21
Retested on sand w/ proper servo_host & servo_port args but has same failed response. I then tried manually waking after manually doing a # on dut echo freeze > /sys/power/state # from chroot dut-control --host $servo_host --port $servo_port pwr_button:press sleep:1 pwr_button:release and it successfully woke the DUT.
,
Dec 2
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/164e71282c476e23ea0eda9b90b0e9bce7d15fa8 commit 164e71282c476e23ea0eda9b90b0e9bce7d15fa8 Author: RaviChandra Sadineni <ravisadineni@google.com> Date: Sun Dec 02 21:26:20 2018 Nocturne: Enable dark resume. This change enables dark resume on nocturne. End user should not see any change in the behaviour of wake sources. BUG=chromium:820668 TEST=test manually, test_that dut_ip power_WakeSources --args 'servo_host=servo_ip servo_port=9998' Change-Id: I9e3144ac1cad8d7ecbb87d1cf7fcd0553eff342f Reviewed-on: https://chromium-review.googlesource.com/1355436 Commit-Ready: Ravi Chandra Sadineni <ravisadineni@chromium.org> Tested-by: Ravi Chandra Sadineni <ravisadineni@chromium.org> Reviewed-by: Todd Broch <tbroch@chromium.org> [add] https://crrev.com/164e71282c476e23ea0eda9b90b0e9bce7d15fa8/overlay-nocturne/chromeos-base/chromeos-bsp-nocturne/files/powerd_prefs/disable_dark_resume [rename] https://crrev.com/164e71282c476e23ea0eda9b90b0e9bce7d15fa8/overlay-nocturne/chromeos-base/chromeos-bsp-nocturne/chromeos-bsp-nocturne-0.0.1-r40.ebuild |
|||||||
►
Sign in to add a comment |
||||||||||
Comment 1 by briannorris@chromium.org
, Mar 10 2018Labels: OS-Chrome