On Tue, 1 Jan 2013 [email protected] wrote:

> https://bugzilla.kernel.org/show_bug.cgi?id=43081

> --- Comment #40 from Octavio Alvarez <[email protected]>  2013-01-01 
> 23:55:28 ---
> Alan:
> 
> > This makes it sound like the problem is caused by
> > incorrect jumper settings on the motherboard.
> 
> I don't think they are necessarily incorrect. Not choosing +5VSB (or having 
> the
> option) just gives the user a choice. I'd choose 5V instead of 5VSB if I made
> sure no USB devices would ever wake up the system, to save some energy.

It sounds very much as though ASUS expected that the OHCI controllers
would never be enabled for wakeup, and therefore they set the
motherboard jumpers to 5V instead of 5VSB.  When its jumper is set that
way, the controller doesn't receive StandBy power and so it gets a
disconnect event on each connected port when the system goes to sleep.  
The disconnect events cause it to issue a wakeup signal immediately.

The conclusion is that wakeup simply will not work unless the jumper is
set to 5VSB.  It doesn't matter what we do in the kernel or in the ACPI
BIOS; software changes won't help because it is a hardware problem.

This implies that we should leave wakeup disabled by default for OHCI
controllers on ASUS motherboards.  The user always has the ability to
change this setting.

(In theory we could check to see if the controller has an ACPI device 
associated with it; this would tell us whether the controller is 
actually on the motherboard or is part of an add-on PCI card and 
therefore immune to this problem.  I suspect it's not worth the trouble 
to do this.)

Grégory:

You can find out for yourself what D states the controllers get put
into if you boot a kernel that was built with CONFIG_USB_DEBUG enabled,
and look at the dmesg log after a system suspend.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to