This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

am335x usb host remote wakeup

Other Parts Discussed in Thread: AM3356

Hi,

in our product we have a usb modem connected to an AM3356 sitara custom board. to save power in situation were the modem have no traffic we would like to use the usb suspend resume functionality. the AM3356 is the USB host and the modem is the peripheral.

we did:

echo enabled > /sys/bus/usb/devices/1-1/power/wakeup

echo auto > /sys/bus/usb/devices/1-1/power/control

we left the autosuspend_delay_ms as 2000 since it is ok for our product.

we see that when there is no traffic for 2 seconds the USB go into suspend mode as expected , and also if we try to ping to a remote machine from the AM3356 cpu we see the usb wakes up and sends the pings.

the problem we have is that we have a system initiated traffic at this state (i.e. the remote machine ping to us) the modem does not wake the host.

to make sure this is  not a modem issue we connected a normal mouse to the same USB while doing the exact same configuration and we saw the mouse also cannot wakeup the AM3356. The mouse can wakeup a laptop if connected to a laptop.

one more strange detail. if after we suspend the USB, we put the am335x into standby (echo standby > /sys/power/stat) and then we move the mouse, then we can wakeup the system from standby and the usb is also active.

can you please advise how to perform usb remote wakeup without putting sitara into standby?

  • Hi Eilon,

    I will forward this to the USB experts. Please post what Linux version you are using.

  • Hi
    we are using .SDK-06.00.00.00 with psp04.06.00.11 . the kernel is linux-3.2.0-psp04.06.00.11

    Thanks
  • Eilon,

    Can you please use USB keyboard instead of mouse to run the test? In general, USB mouse does not work well for remote wakeup, so by default the USB HID driver sets .../power/wakeup entry to disabled for mouse, but enabled for keyboard.

    Eilon Eyal74533 said:

    echo enabled > /sys/bus/usb/devices/1-1/power/wakeup

    echo auto > /sys/bus/usb/devices/1-1/power/control

    Beside this device entry, please also ensure you enabled autosuspend for the host controller:

    # echo auto > /sys/bus/usb/devices/usb1/power/control

    Eilon Eyal74533 said:
    one more strange detail. if after we suspend the USB, we put the am335x into standby (echo standby > /sys/power/stat) and then we move the mouse, then we can wakeup the system from standby and the usb is also active.

    I am unable to replicate this test to explain why at this moment. The system standby mode is broken on my setup right now.