On Tue, 2009-04-07 at 18:02 +0000, Jeffrey Baker wrote:
> > Whether or not they're built in or modules, you can still disable
> > individual host control interfaces - the method is just slightly
> > different (though since the one that works for built-ins ALSO works for
> > modules, we should arguably be documenting that one instead of the
> > blacklist trick).
>
> OK, I should research this. A laptop user can save energy by
> unloading the hcd modules, which puts the corresponding PCI functions
> into D3.
>
Actually, the same effect can be achieved by enabling autosuspend on the
USB devices (including the hub). See:
This is the kind of thing we can't turn on just before release, but I
suspect that's a good target for Karmic.
> How can you achieve the same thing with the drivers
> built-in?
>
You can disable the host controller itself by unbinding it from the
driver, for example:
# cd /sys/bus/pci/drivers/ehci_hcd
# ls
0000:00:1d.7 bind module new_id uevent unbind
# echo -n 0000:00:1d.7 > unbind
# ls
bind module new_id uevent unbind
Scott
--
Scott James Remnant
<email address hidden>
On Tue, 2009-04-07 at 18:02 +0000, Jeffrey Baker wrote:
> > Whether or not they're built in or modules, you can still disable
> > individual host control interfaces - the method is just slightly
> > different (though since the one that works for built-ins ALSO works for
> > modules, we should arguably be documenting that one instead of the
> > blacklist trick).
>
> OK, I should research this. A laptop user can save energy by
> unloading the hcd modules, which puts the corresponding PCI functions
> into D3.
>
Actually, the same effect can be achieved by enabling autosuspend on the
USB devices (including the hub). See:
http:// www.lesswatts. org/projects/ devices- power-managemen t/usb.php
This is the kind of thing we can't turn on just before release, but I
suspect that's a good target for Karmic.
> How can you achieve the same thing with the drivers
> built-in?
>
You can disable the host controller itself by unbinding it from the
driver, for example:
# cd /sys/bus/ pci/drivers/ ehci_hcd
# ls
0000:00:1d.7 bind module new_id uevent unbind
# echo -n 0000:00:1d.7 > unbind
# ls
bind module new_id uevent unbind
Scott
--
Scott James Remnant
<email address hidden>