在 Workbench 上手动测试暂停/恢复

本指南介绍了如何在运行合适的 Workbench 映像的 设备上手动测试暂停和恢复。

执行手动暂停和恢复

使用序列号

  1. 通过 USB 连接到设备。

  2. 通过 ffx power 的帮助程序组件获取应用 activity 租约:

    ffx power system-activity application-activity start
  3. 放弃会话唤醒租约:

    ffx session drop-power-lease
  4. 断开 USB 连接,以消除由 USB 或充电器连接引起的永久唤醒租约。

  5. 使用序列号,放弃应用 activity 租约,并在延迟后重新获取:

    powerutil system-activity application-activity restart --wait-time 5s

    这样,只要没有其他唤醒租约处于活动状态,系统就可以暂停。

  6. 等待序列号日志显示系统暂停的证据。日志不一定会在暂停之前刷新,因此您可能会看到日志突然停止。

  7. 重新连接 USB 或采取其他适当的操作(触摸、按按钮等)以恢复设备。如果 --wait-time 已过,帮助程序组件将重新获取应用 activity 租约,并自行阻止进一步暂停。

不使用序列号

  1. 通过 USB 连接到设备。

  2. 通过 ffx power 的帮助程序组件获取应用 activity 租约:

    ffx power system-activity application-activity start
  3. 放弃会话唤醒租约:

    ffx session drop-power-lease
  4. 放弃应用 activity 租约,并在延迟后重新获取:

    ffx power system-activity application-activity restart --wait-time 5s
  5. 断开 USB 连接,以消除由 USB 或充电器连接引起的永久唤醒租约。

  6. 等待几秒钟。如果没有序列号连接,您将无法确认是否发生了暂停,直到您重新插入设备。

  7. 重新连接 USB。

  8. 使用 ffx log 查找暂停的证据。没有规范的消息来指示这一点,但在撰写本文时,内核消息 INFO: Suspending non-boot CPUs... 是一个很好的指示。

问题排查

检查唤醒租约

任何处于活动状态的唤醒租约都会阻止系统暂停。如需检查处于活动状态的唤醒租约,请执行以下操作:

序列号

inspect show bootstrap/system-activity-governor:root/wake_leases

USB

ffx inspect show bootstrap/system-activity-governor:root/wake_leases

增加唤醒租约重新获取之前的延迟

如需让系统有更长的时间暂停,请使用 --wait-time 选项增加延迟:

powerutil system-activity application-activity restart --wait-time 10s