[ltp] T400 does not enter C4/C6 sleep state with USB devices connected

Henrique de Moraes Holschuh linux-thinkpad@linux-thinkpad.org
Mon, 22 Feb 2010 21:25:02 -0300


On Mon, 22 Feb 2010, Pedro Ribeiro wrote:
> >> Here are my findings for anyone which is interested:
> >> - When a USB device is connected, even if it supports USB autosuspend,
> >> the cpu will never go down more than C3 (apparently the mode is
> >> disabled by the BIOS).
> >> - After removing all the USB devices, in AC it enters C4 and in
> >> battery it enters C6.
> >>
> >> So one more reason not to use USB devices while on battery...
> >
> > Did you try that using only EHCI (unload uhci_hcd) and USB2.0 devices?
> 
> You are right, this only happens with USB 1.1 devices! The only USB1
> device I have is my logitech mouse.

UHCI is a utter piece of crap...

> If I plug it in directly into a USB port in the laptop I get this:
> 
> usb 3-1: new low speed USB device using uhci_hcd and address 3
> usb 3-1: New USB device found, idVendor=046d, idProduct=c01d
> usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> usb 3-1: Product: USB-PS/2 Optical Mouse
> usb 3-1: Manufacturer: Logitech
> 
> But if I plug it in the mini dock, I get this:
> 
> usb 1-5.3: new low speed USB device using ehci_hcd and address 16
> usb 1-5.3: New USB device found, idVendor=046d, idProduct=c01d
> usb 1-5.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
> usb 1-5.3: Product: USB-PS/2 Optical Mouse
> usb 1-5.3: Manufacturer: Logitech
> 
> 
> So if I plug it in the dock, I get C4/C6 state on AC/battery and it
> uses ehci-hcd.

USB 1.1 in a USB2.0 hub connected to a USB2.0 root port :-)

You can use the same trick to get your USB1.1 mouse to work under EHCI, I
suppose.  Find a *good* USB 2.0 hub, and have it between your mouse and the
laptop... that might do it.

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh