You are not logged in.
I have a Thinkpad T470s with two batteries. I am running on Debian Stretch with the Bunsenlabs install script, this because I could not install the current Bunsenlabs due to driver issues.
The XFCE Power Manager shows both batteries, however only one ever charges and the second states zero percent. I think either it isn't charging (which seems unlikely) or XFCE Power Manager is not getting the battery level correctly. I am not super sure how to check what is truly going on and possibly fixing it, can anyone assist?
Thanks
Last edited by nobody (2017-10-10 00:39:52)
Offline
You can check the actual battery levels by looking in /sys/class/power_supply, my laptop has one battery so:
empty@alpine:~ $ ls /sys/class/power_supply/
AC BAT0
empty@alpine:~ $ ls /sys/class/power_supply/BAT0/
alarm charge_now model_name subsystem voltage_now
capacity current_now power technology
capacity_level cycle_count present type
charge_full device serial_number uevent
charge_full_design manufacturer status voltage_min_design
empty@alpine:~ $
Check the files for the values
Offline
I have a Thinkpad T470s with two batteries. I am running on Debian Stretch with the Bunsenlabs install script, this because I could not install the current Bunsenlabs due to driver issues.
The XFCE Power Manager shows both batteries, however only one ever charges and the second states zero percent. I think either it isn't charging (which seems unlikely) or XFCE Power Manager is not getting the battery level correctly. I am not super sure how to check what is truly going on and possibly fixing it, can anyone assist?
Thanks
I have a X240, which also has two batteries. Check the output of the acpi command:
Battery 0: Unknown, 79%
Battery 1: Unknown, 74%
The batteries will never charge at the same time but only in order, and drain in reverse order. Further, I have set here the maximum charging thresholds of the batteries to 80% (of current capacity, not initial/full capacity) using TLP in order to not wear them out.
If indeed one of your batteries is not charging at all, first check
a) if both batteries drain (first drain one, then the other)
b) if yes, if both batteries charge
c) and if yes, if only to a certain threshold.
In the case of (c), install tlp and acpi-call, then in /etc/default/tlp configure the values
# Main / Internal battery (values in %)
START_CHARGE_THRESH_BAT0=50
STOP_CHARGE_THRESH_BAT0=90
# Ultrabay / Slice / Replaceable battery (values in %)
START_CHARGE_THRESH_BAT1=50
STOP_CHARGE_THRESH_BAT1=90
and
sudo service tlp restart
sudo reboot
and check the charging process again.
Offline
so first off acpi wasn't installed. I additionally went through all the installation of tlp to get that setup. However, upon completion and a reboot it still seems that BAT1 is not charging. BAT0 is fine.
$ acpi
Battery 0: Unknown, 97%
Battery 1: Unknown, 0%
Do I just need to let the laptop completely discharge?
Offline
BTW, I have a T460s too and it is running Bunsenlabs (current release on Jessie base) and it has never had such an issue with charging of the second battery.
Offline
$ sudo tlp-stat -s -c -b
--- TLP 0.9 --------------------------------------------
+++ Configured Settings: /etc/default/tlp
TLP_ENABLE=1
TLP_DEFAULT_MODE=AC
DISK_IDLE_SECS_ON_AC=0
DISK_IDLE_SECS_ON_BAT=2
MAX_LOST_WORK_SECS_ON_AC=15
MAX_LOST_WORK_SECS_ON_BAT=60
SCHED_POWERSAVE_ON_AC=0
SCHED_POWERSAVE_ON_BAT=1
NMI_WATCHDOG=0
ENERGY_PERF_POLICY_ON_AC=performance
ENERGY_PERF_POLICY_ON_BAT=powersave
DISK_DEVICES="sda sdb"
DISK_APM_LEVEL_ON_AC="254 254"
DISK_APM_LEVEL_ON_BAT="128 128"
SATA_LINKPWR_ON_AC=max_performance
SATA_LINKPWR_ON_BAT=min_power
AHCI_RUNTIME_PM_TIMEOUT=15
PCIE_ASPM_ON_AC=performance
PCIE_ASPM_ON_BAT=powersave
RADEON_POWER_PROFILE_ON_AC=high
RADEON_POWER_PROFILE_ON_BAT=low
RADEON_DPM_STATE_ON_AC=performance
RADEON_DPM_STATE_ON_BAT=battery
RADEON_DPM_PERF_LEVEL_ON_AC=auto
RADEON_DPM_PERF_LEVEL_ON_BAT=auto
WIFI_PWR_ON_AC=off
WIFI_PWR_ON_BAT=on
WOL_DISABLE=Y
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=1
SOUND_POWER_SAVE_CONTROLLER=Y
BAY_POWEROFF_ON_BAT=0
BAY_DEVICE="sr0"
RUNTIME_PM_ON_AC=on
RUNTIME_PM_ON_BAT=auto
RUNTIME_PM_ALL=1
RUNTIME_PM_DRIVER_BLACKLIST="radeon nouveau"
USB_AUTOSUSPEND=1
USB_BLACKLIST_WWAN=1
RESTORE_DEVICE_STATE_ON_STARTUP=0
START_CHARGE_THRESH_BAT0=50
STOP_CHARGE_THRESH_BAT0=90
START_CHARGE_THRESH_BAT1=50
STOP_CHARGE_THRESH_BAT1=90
+++ System Info
System = LENOVO ThinkPad T470s 20HFCTO1WW
BIOS = N1WET35W (1.14 )
Release = Debian GNU/Linux 9.1 (stretch)
Kernel = 4.9.0-3-amd64 #1 SMP Debian 4.9.30-2+deb9u5 (2017-09-19) x86_64
/proc/cmdline = BOOT_IMAGE=/vmlinuz-4.9.0-3-amd64 root=/dev/mapper/talipaz--vg-root ro quiet
Init system = systemd v232
Boot mode = UEFI
+++ TLP Status
State = enabled
Last run = 01:24:45 PM, 113 sec(s) ago
Mode = AC
Power source = AC
+++ ThinkPad Extended Battery Functions
tp-smapi = inactive (kernel module 'tp_smapi' not installed)
tpacpi-bat = inactive (kernel module 'acpi_call' not installed)
+++ Battery Status
/sys/class/power_supply/BAT0/manufacturer = SMP
/sys/class/power_supply/BAT0/model_name = 00HW023
/sys/class/power_supply/BAT0/cycle_count = 1
/sys/class/power_supply/BAT0/energy_full_design = 23540 [mWh]
/sys/class/power_supply/BAT0/energy_full = 24060 [mWh]
/sys/class/power_supply/BAT0/energy_now = 23350 [mWh]
/sys/class/power_supply/BAT0/power_now = 0 [mW]
/sys/class/power_supply/BAT0/status = Unknown
Charge = 97.0 [%]
Capacity = 102.2 [%]
+++ Battery Status
/sys/class/power_supply/BAT1/manufacturer = SMP
/sys/class/power_supply/BAT1/model_name = 01AV406
/sys/class/power_supply/BAT1/cycle_count = (not supported)
/sys/class/power_supply/BAT1/energy_full_design = 26060 [mWh]
/sys/class/power_supply/BAT1/energy_full = 25340 [mWh]
/sys/class/power_supply/BAT1/energy_now = 0 [mWh]
/sys/class/power_supply/BAT1/power_now = 0 [mW]
/sys/class/power_supply/BAT1/status = Unknown
Charge = 0.0 [%]
Capacity = 97.2 [%]
$ acpi
Battery 0: Unknown, 97%
Battery 1: Unknown, 0%
$ sudo apt-cache policy tlp
tlp:
Installed: 0.9-3
Candidate: 0.9-3
Version table:
1.0-1~bpo9+1 100
100 http://deb.debian.org/debian stretch-backports/main amd64 Packages
*** 0.9-3 500
500 http://ftp.us.debian.org/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
$ sudo apt-cache policy tp-smapi-dkms
tp-smapi-dkms:
Installed: 0.42-1
Candidate: 0.42-1
Version table:
*** 0.42-1 500
500 http://ftp.us.debian.org/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
$ sudo apt-cache policy acpi
acpi:
Installed: 1.7-1+b1
Candidate: 1.7-1+b1
Version table:
*** 1.7-1+b1 500
500 http://ftp.us.debian.org/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
$ sudo apt-cache policy acpid
acpid:
Installed: 1:2.0.28-1+b1
Candidate: 1:2.0.28-1+b1
Version table:
*** 1:2.0.28-1+b1 500
500 http://ftp.us.debian.org/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
$ sudo apt-cache policy acpi-call-dkms
acpi-call-dkms:
Installed: 1.1.0-3
Candidate: 1.1.0-3
Version table:
1.1.0-4~bpo9+1 100
100 http://deb.debian.org/debian stretch-backports/main amd64 Packages
*** 1.1.0-3 500
500 http://ftp.us.debian.org/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
$ cat /etc/default/tlp |grep -i thresh
# Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module
# START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH value.
START_CHARGE_THRESH_BAT0=50
STOP_CHARGE_THRESH_BAT0=90
START_CHARGE_THRESH_BAT1=50
STOP_CHARGE_THRESH_BAT1=90
Last edited by nicholasalipaz (2017-10-09 20:35:32)
Offline
BTW, I have a T460s too and it is running Bunsenlabs (current release on Jessie base) and it has never had such an issue with charging of the second battery.
Check the output of this command from your jessie-based BunsenLabs system:
sudo dpkg --list | grep '^i\|acpi'
And also the same from the stretch-based machine should show if we missed something from the package list (unlikely).
Perhaps stretch has some new battery-related packages, you could investigate one of the "live" desktops and see if they work and if so what is installed in respect of ACPI.
Offline
Head_on_a_Stick are you sure about that grep command, seems like a lot of packages. Just checking.
Offline
btw, acpi was not installed before my last post with all the output
Offline
oh, and another interesting tidbit is that on my T460s (working correctly) BAT0 discharges first and BAT1 is currently at full capacity. Whereas on my T470s BAT0 discharges first (and is currently at full capacity on ac) yet BAT1 is at 0% and not being charged
Offline
are you sure about that grep command
Only vaguely
Sorry, I'm not booted in Debian atm so it was more of an educated guess really.
I'm sure you get the idea though — compare the ACPI packages installed in a working system with those on a non-working system to see if anything's missing.
Last edited by Head_on_a_Stick (2017-10-09 21:03:36)
Offline
oh, and another interesting tidbit is that on my T460s (working correctly) BAT0 discharges first and BAT1 is currently at full capacity. Whereas on my T470s BAT0 discharges first (and is currently at full capacity on ac) yet BAT1 is at 0% and not being charged
Hm, 470 is the newest and latest isn't it?
a) Does/did it charge under Windows?
b) BAT1 should be the external battery pack, right? Is there a way for you to exchange the packages between your computers to see if the new one isn't defective?
c) Try a newer kernel. The release of the 4.9 line predates the release date of your laptop; and in laptops it always takes a while for support to become refined. My x240 saw vast improvements over more than a full year of kernel releases when it was brand new.
d) What does `sudo tlp-stat` with the newer kernel say? Can you paste the output?
e) Any errors in `dmesg`?
Offline
@twolon
a) I never install windows on my machines, meh, so I wouldn't know. When I get a machine from lenovo I boot directly into the bios and setup to allow me to boot into a usb to install Bunsenlabs!
b) Both the batteries are internal, neither can be removed.
c) for the kernel, that is why I install Stretch since it has a much more recent kernel. Are you suggesting I install the kernel available in stretch-backports? A side-note here, I couldn't even install jessie being it would just brick the OS due to driver support issues with the graphics among other things
d) same as *c* above
e) will look
Offline
for the kernel, that is why I install Stretch since it has a much more recent kernel.
The kernel version in stretch was "frozen" at the release date (2017-06-17), as per Debian policy, so any hardware introduced after that date will not be supported — this is why there is already a backported kernel version for stretch:
https://packages.debian.org/stretch-bac … mage-amd64
To install it, follow my guide for jessie but use "stretch-backports" in /etc/apt/sources.list (obviously):
https://forums.bunsenlabs.org/viewtopic.php?id=1257
Last edited by Head_on_a_Stick (2017-10-10 06:07:28)
Offline
Okay, I have done a few things now.
Installed fd[powermon since that is the only package I found to be missing between my two laptops, probably unnecessary
Upgraded the kernel to 4.12
Upgraded acpi to stretch-backports release
Rebooting multiple times to be sure everything is in effect
I am now in the process of allowing the battery to completely discharge and will see how charging goes after that. Looks like it will take about 3-4 hours for the one battery to discharge. will find out after that if it made any difference.
As of now the BAT1 battery still won't charge. I am starting to lean towards a hardware issue.
Offline
I just called Lenovo support and they are going to have me send it in to replace the battery. I guess I will see what happens. Thanks for your time guys.
Offline