USB remote wakeup

General discussions about V-USB, our firmware-only implementation of a low speed USB device on Atmel's AVR microcontrollers
Post Reply
RobertW

USB remote wakeup

Post by RobertW » Wed Feb 11, 2009 2:44 am

Hello,

ive got a question concerning the usb suspend/wakeup methods.

i need to configure a (slave) device, which is capable of setting the DEVICE_REMOTE_WAKEUP feature. How can i edit the configuration queried by GET_CONFIGURATION?

Another thing is that i dont know what to do if my device has recognized an external wakeup event. Somehow i have to notify the host system (if DEVICE_REMOTE_WAKEUP set). How exactly can i set RESUME and SUSEN in the host's usb register?

thanks for helping me out,
rob

christian
Objective Development
Objective Development
Posts: 1443
Joined: Thu Nov 09, 2006 11:46 am

Post by christian » Mon Feb 16, 2009 4:18 pm

The value returned by GET_CONFIGURATION is the same as set with SET_CONFIGURATION. See the implementation in usbdrv.c.

If the host is in sleep mode (you know that the host is sleeping when there are no frame pulses every 1 ms on D-), you can wake it with a SE0 condition: Tie D+ and D- to 0 for (I think) two low speed USB clocks (667 ns each). For details see the USB sepc.

Post Reply