解决Thinkpad在Linux下的电池充电问题


安装tp-smapi:
# aptitude install tp-smapi-dkms
# modprobe tp_smapi
更改充电阈值:
设置开始充电阈值,如从“60%”开始充电:
# echo 60 > /sys/devices/platform/smapi/BAT0/start_charge_thresh
设置停止充电阈值,如到“100%”停止充电:
# echo 100 > /sys/devices/platform/smapi/BAT0/stop_charge_thresh
查看充电阈值:
# cat /sys/devices/platform/smapi/BAT0/*_charge_thresh
其他:
To prevent charging for 17 minutes (regardless of thresholds):
# echo 17 > /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes
To cancel charging preventation:
# echo 0 > /sys/devices/platform/smapi/BAT0/inhibit_charge_minutes
To force battery discharging (even if connected to AC):
# echo 1 > /sys/devices/platform/smapi/BAT0/force_discharge
To cancel forced discharge:
# echo 0 > /sys/devices/platform/smapi/BAT0/force_discharge
让设置在启动时生效(只用同一块电池):
It is not necessary to create your own init.d script or modify /etc/rc.local - you just need the package sysfsutils:
# apt-get install sysfsutils
# sudo gedit /etc/sysfs.conf
把下面的放在文件 /etc/sysfs.conf后面:
# cat >> /etc/sysfs.conf << EOF
# For a LiIon battery in a Thinkpad
devices/platform/smapi/BAT0/start_charge_thresh = 50
devices/platform/smapi/BAT0/stop_charge_thresh = 80
EOF
The init script supplied by sysfsutils will load these settings on each boot.
其他电池状态信息:
To view extended battery status such as charging state, voltage, current, capacity, cycle count and model information:
# cat /sys/devices/platform/smapi/BAT0/installed
# cat /sys/devices/platform/smapi/BAT0/state       # idle/charging/discharging
# cat /sys/devices/platform/smapi/BAT0/cycle_count
# cat /sys/devices/platform/smapi/BAT0/current_now # instantaneous current
# cat /sys/devices/platform/smapi/BAT0/current_avg # last minute average
# cat /sys/devices/platform/smapi/BAT0/power_now   # instantaneous power
# cat /sys/devices/platform/smapi/BAT0/power_avg   # last minute average
# cat /sys/devices/platform/smapi/BAT0/last_full_capacity
# cat /sys/devices/platform/smapi/BAT0/remaining_percent
# cat /sys/devices/platform/smapi/BAT0/remaining_running_time
# cat /sys/devices/platform/smapi/BAT0/remaining_charging_time
# cat /sys/devices/platform/smapi/BAT0/remaining_capacity
# cat /sys/devices/platform/smapi/BAT0/design_capacity
# cat /sys/devices/platform/smapi/BAT0/voltage
# cat /sys/devices/platform/smapi/BAT0/design_voltage
# cat /sys/devices/platform/smapi/BAT0/manufacturer
# cat /sys/devices/platform/smapi/BAT0/model
# cat /sys/devices/platform/smapi/BAT0/barcoding
# cat /sys/devices/platform/smapi/BAT0/chemistry
# cat /sys/devices/platform/smapi/BAT0/serial
# cat /sys/devices/platform/smapi/BAT0/manufacture_date
# cat /sys/devices/platform/smapi/BAT0/first_use_date
# cat /sys/devices/platform/smapi/BAT0/temperature # in milli-Celsius
# cat /sys/devices/platform/smapi/ac_connected
The raw status data is also available, including some fields not listed above (in case you can figure them out):
# cat /sys/devices/platform/smapi/BAT0/dump

相关内容