[ltp] High power consumption on Z61m
Florian Reitmeir
linux-thinkpad@linux-thinkpad.org
Sun, 1 Jun 2008 15:37:54 +0200
On Sun, 01 Jun 2008, Johannes Bittner wrote:
> I own a Thinkpad Z61m, nearly everything runs fine with linux (the
> distribution is debian, kernel 2.6.25.4), alas the power consumption is
> very high compared to MS Windows. I searched for the reason of the
> problem, and noticed that when I unload some USB kernel modules (namely:
> ehci_hcd, uhci_hcd), the power consumption is reduced by 5W (!). Here
> are the outputs of powertop before respectively after the removal of the
> USB kernel modules:
>
> With USB: http://img128.imageshack.us/my.php?image=powertopusbjn5.png
> Without: http://img149.imageshack.us/my.php?image=powertopnousbap6.png
>
> In both cases, WLAN/Bluetooth was turned off, display backlight set to
> minimum, no USB devices connected except for the internal ones, and no
> mouse/keyboard activity.
>
> I really don't know how USB could use that much energy. I have a
> internal webcam in my thinkpad (I don't know if there are any current
> thinkpad models which have one, as the Z thinkpad series production has
> stopped AFAIR) for which I don't have a driver, could this be the reason
> for the high power consumption?
>
> I'm using a custom kernel, but the problem remains with a standard
> debian kernel, as well as with ubuntu.
>
> Thanks for any help in advance :)
as told often before, USB is a energy killer, and one special device, the
finger print reader is connected via USB 1.1.
just "unbind"/disable or suspend the fingerprint reader and you get much more
batterylife.
sometime ago i've written these script to disable the fingerprint reader:
--------- CUT
#!/bin/bash
UDI=''
UDI="$UDI /org/freedesktop/Hal/devices/usb_device_483_2016_noserial" #
LENOVO, ThinkPad X60s, 170255G # LENOVO, ThinkPad X61s, 7668CTO
state=suspend
if [ "x$1" = "xtrue" ]; then
state=suspend
fi
if [ "x$1" = "xfalse" ]; then
state=on
fi
for di in $UDI; do
sysfs=$(hal-get-property --udi "$di" --key linux.sysfs_path 2>/dev/null)
rc=$?
if [ $rc -eq 0 ]; then
echo $state >$sysfs/power/level
break
fi
done
--------- CUT
just call it with "true" as first parameter to disable the device.
--
Florian Reitmeir