Is it possible to enable wakeup on USB port?

Hi,

Currently, TX1 can wakeup from S2RAM by using power button. Is it possible to configure the system to wakeup using USB or other devices?

Here is the procedure to suspend:

  1. sudo systemctl suspend
  2. Press power button to wakeup.

Hi,
Do yo run r28.1?

Hi,

Yes I am running r28.1.
I happen to find out that sometimes it can wakeup from USB keyboard press, sometimes not (must use power button).

Hi hien.dang.eb,

We tried 10 times wakeup from USB keyboard press are works!
After wakeup dmesg show as below:

[ 1117.047327] Exited SC7
[ 1117.047327] tegra-pmc: PMC wake status = 0x20000000000
[ 1117.047327] tegra-pmc: Resume caused by PMC WAKE41, xhci-hcd:usb1
[ 1117.047498] Enabling non-boot CPUs ...
bpmp[ 1117.200711] CPU1: Booted secondary processor [411fd071]
:sc7 exit
[ 1117.206348] CPU1 is up
[ 1117.231321] CPU2: Booted secondary processor [411fd071]
[ 1117.236686] CPU2 is up
[ 1117.259416] CPU3: Booted secondary processor [411fd071]
[ 1117.264793] CPU3 is up
[ 1117.272506] PM: noirq resume of devices complete after 3.314 msecs
[ 1117.282096] host1x 50000000.host1x: resuming
[ 1117.289656] PM: early resume of devices complete after 8.230 msecs
[ 1117.299009] tegradc tegradc.1: resume
[ 1117.316557] sdhci-tegra sdhci-tegra.1: Tuning already done, restoring the best tap value : 48
[ 1117.327313] sdhci-tegra sdhci-tegra.1: Tuning already done, restoring the best tap value : 48
[ 1117.339565] tegra_soctherm 700e2000.soctherm: thermtrip: will shut down when cpu reaches 102500 mC
[ 1117.350632] tegra_soctherm 700e2000.soctherm: throttrip: will throttle when cpu reaches 100500 mC
[ 1117.361579] tegra_soctherm 700e2000.soctherm: thermtrip: will shut down when gpu reaches 103000 mC
[ 1117.372592] tegra_soctherm 700e2000.soctherm: throttrip: will throttle when gpu reaches 101000 mC
[ 1117.383510] tegra_soctherm 700e2000.soctherm: thermtrip: will shut down when pll reaches 127000 mC
[ 1117.394586] tegra_soctherm 700e2000.soctherm: throttrip: pll: missing hot temperature
[ 1117.406574] extcon-gpio-states extcon:extcon@1: Cable state 1
[ 1117.416591] nct1008_nct72 0-004c: success in enabling tmp451 VDD rail
[ 1117.462178] tmp451: Enabled overheat logging at 102.00C
[ 1117.485102] tegra-xudc-new 700d0000.xudc: exiting ELPG
[ 1117.494408] tegra-xudc-new 700d0000.xudc: exiting ELPG done
[ 1117.501916] tegra-xudc-new 700d0000.xudc: device mode on
[ 1117.509210] xhci-tegra 70090000.xusb: exiting ELPG
[ 1117.520128] xhci-tegra 70090000.xusb: Firmware timestamp: 2016-11-24 02:31:08 UTC, Version: 50.18 release
[ 1117.537273] tegra-pmc: PMC tegra_pmc_utmi_phy_disable_sleepwalk : port 0
[ 1117.545985] tegra-pmc: PMC tegra_pmc_utmi_phy_disable_sleepwalk : port 1
[ 1117.554728] tegra-pmc: PMC tegra_pmc_utmi_phy_disable_sleepwalk : port 2
[ 1117.564571] xhci-tegra 70090000.xusb: tegra_xhci_mbox_work mailbox command 6
[ 1117.573667] xhci-tegra 70090000.xusb: exiting ELPG done
[ 1118.180039] PM: resume of devices complete after 882.111 msecs
[ 1118.188586] PM: Finishing wakeup.
[ 1118.193872] Restarting tasks ... 
[ 1118.207043] xhci-tegra 70090000.xusb: tegra_xhci_mbox_work mailbox command 17
[ 1118.215041] done.
[ 1118.225798] xhci-tegra 70090000.xusb: tegra_xhci_mbox_work mailbox command 18
[ 1118.236067] tegra_dvfs: resumed
[ 1118.241153] tegradc tegradc.1: FB 75497472 is NOT enough for -64x-185627104 32bpp!
[ 1118.248764] PM: suspend exit 2017-10-31 01:59:06.114482344 UTC
[ 1118.345378] tegradc tegradc.1: nominal-pclk:148500000 parent:148500000 div:1.0 pclk:148500000 147015000~161865000
[ 1118.346699] tegradc tegradc.1: hdmi: pclk:148500K, set prod-setting:prod_c_hdmi_75m_150m
[ 1118.391474] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 1118.491083] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 1118.919819] tegradc tegradc.1: read_edid_into_buffer: extension_blocks = 1, max_ext_blocks = 3
[ 1118.941637] tegradc tegradc.1: hdmi_recheck_edid: read_edid_into_buffer() returned 256
[ 1118.954550] tegradc tegradc.1: old edid len = 256
[ 1118.959339] tegradc tegradc.1: hdmi: No EDID change after HPD bounce, taking no action
[ 1121.527581] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 1126.304514] tegradc tegradc.1: hdmi: unplugged
[ 1126.648677] tegradc tegradc.1: hdmi: plugged
[ 1126.664424] tegradc tegradc.1: nominal-pclk:148500000 parent:148500000 div:1.0 pclk:148500000 147015000~161865000
[ 1126.665239] tegradc tegradc.1: hdmi: pclk:148500K, set prod-setting:prod_c_hdmi_75m_150m
[ 1126.825078] tegradc tegradc.1: nominal-pclk:148500000 parent:148500000 div:1.0 pclk:148500000 147015000~161865000
[ 1126.825906] tegradc tegradc.1: hdmi: pclk:148500K, set prod-setting:prod_c_hdmi_75m_150m

Please attached fail log when you wakeup from usb keyboard?

Hi Carolyuu,

It is okay now. I think I loaded wrong kernel image.
Thank you very much for your help!

Hi Carolyuu,

One more question, when I plug USB keyboard to USB port 0. The wakeup from keyboard press seems not working. Could you please check?

Hi hien.dang.eb,

We’re not support wakeup from USB0.

Hi Carolyuu,

I got it. Thank you very much!

hi carolyuu

I saw in the document that USB can use a function called remote wake to wake up the ccplex, but I don’t quite understand what triggers the remote wake up condition? Can you tell how it works, or tell me in which document I can find the answer? Thank you

There is a recent topic for nano usb.

If you have any questions, please file your own topic. This one was 4 years ago.

1 Like