Am Mittwoch, 30. Juni 2010, 15:49:00 schrieb Samuel Xu: > Thanks Oliver Neukum!You solved lots of puzzle in my mind!! > Some further questions: > > Q5: I still can't fully understand how autosuspension saving power. If > a device driver only saves the device state and do not fill any > device's physical registering to communicate with device, (hi, please OK, I see. A USB device is physically suspended by sending a control message to the hub the device is plugged into. The core USB code does that after it has given the device driver an opportunity to prepare the device for suspension. > sleep), then suspend() return ok . I guess the HW device should > continue to consume power as normarlly, since HW device knows nothing > about the suspension request from host system. Is it mean there are > some physical power supply change in USB bus for autosuspension > callback? Or autosuspend means a special USB package broadcast in USB > bus after suspend() callback return, USB device who received it must > do some power saving work per USB SPEC? It changes a feature on a port which is propagated down. > Q6: Does it mean the most power-optimal usb system is: everything > marked it can be autosuspend, including hubs and usb devices? there > isn't any squeeze potential for usb power any more? For optimal power consumption anything that can be suspended should be suspended. You will find that in practice many devices crash if asked to suspend. > Q7: A more specific question is: If a device running on Linux is > already enabled autosuspend and idle now, while it is physically > consumes more power than running on Windows when idle. Is there > anything known issue can cause this power difference? Is there any > know advantage for USB windows power management, e.g for more mechnism > than autosuspend? Does the device draw more power or does the host or is the device bus powered? Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html