[ltp] Getting rid of uhci_hcd on Ubuntu

Florian Reitmeir linux-thinkpad@linux-thinkpad.org
Mon, 22 Jun 2009 10:24:59 +0200


On Mon, 22 Jun 2009, Richard Neill wrote:

> As I now understand, one of the major sources of wasted energy on the  
> X60 is the USB1 driver (USB_UHCI), which is identified by powertop as  
> causing frequent wakeups; also flagged here:
> http://atrey.karlin.mff.cuni.cz/~pavel/swsusp/8hours.pdf
> So, I need to get rid of it.
>
> 1. Ubuntu seem to have compiled all of USB directly into their kernels.
> I really don't want to diverge from a standard set of distro packages,  
> but is there any alternative to compiling my own kernel here?
>
>
> 2. What exactly will this break? Is it just the internal bluetooth and
> fingerprint devices + some really old external mouse/keyboards?
> Or will I also loose the ability to have any external mouse, kbd,  
> pointer, or memory-stick? (Out of curiosity, what happens to external  
> USB1 devices, plugged in via a USB2 hub and transaction-translator?)

the connector is attached to an "router" which chooses ehci or uhci so
if a device is an usb2 device uhci is not needed.

> 3. If I disconnect the fingerprint reader and the internal bluetooth,  
> will that stop the USB1 problems?

you can unbind the devices, and you can configure suspend for those
devices. then uhci will sleep nicely.

how powersaving of usb is done .. can easily be googled (here is a
shortcut: http://lwn.net/Articles/253587/)

if you like to unbind the usb driver, to poweroff the device (and maybe
other devices too):
    http://lwn.net/Articles/143397/

> P.S. Am I correct in understanding that the X60 doesn't have the ability  
> to enter C4 sleep, but that C3 is the best I can get?

The common missunderstanding is the mixup between C1-C3 of ACPI and
C1-C10 of the CPU. while its true that most cpus support C4 or higher.
ACPI just supports as highest level C3, and this C3 is not the same as
the cpu C3. (the bios hides the hardware sleepstate from the os)

-- 
Florian Reitmeir