Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chargeonce text output issue #773

Open
thomas2net opened this issue Dec 5, 2024 · 2 comments
Open

Chargeonce text output issue #773

thomas2net opened this issue Dec 5, 2024 · 2 comments

Comments

@thomas2net
Copy link

thomas2net commented Dec 5, 2024

[x] I've read and accepted the Bug Reporting Howto
[x] I've provided all required tlp-stat outputs via Gist (see below)

Describe the bug

This is a user interface issue.
I have thresholds:
charge_control_start_threshold = 79 [%]
charge_control_end_threshold = 80 [%]
My battery level is at 60%, connected to power supply, and I would like to charge back to 80% (which I had configured with setcharge 60 80).
So I execute: sudo tlp chargeonce
Output (confusing!):
"Setting temporary charge threshold for BAT0:
start = 79
Charging starts now, keep AC connected."

That's not what I would have expected in plain English.
Charging does not actually start!

Expected behavior

I should have read:
"Your current battery level is 60%.
We are about to charge to a level of 80%.
You are using a Thinkpad X1. Please briefly unplug and replug your laptop from the power adapter for charging to start."

Additional context

Add any other context about the problem here.
--- TLP 1.6.1 --------------------------------------------

+++ Configured Settings:
defaults.conf L0006: TLP_ENABLE="1"
defaults.conf L0007: TLP_WARN_LEVEL="3"
defaults.conf L0008: TLP_PERSISTENT_DEFAULT="0"
defaults.conf L0009: DISK_IDLE_SECS_ON_AC="0"
defaults.conf L0010: DISK_IDLE_SECS_ON_BAT="2"
defaults.conf L0011: MAX_LOST_WORK_SECS_ON_AC="15"
defaults.conf L0012: MAX_LOST_WORK_SECS_ON_BAT="60"
defaults.conf L0013: CPU_ENERGY_PERF_POLICY_ON_AC="balance_performance"
defaults.conf L0014: CPU_ENERGY_PERF_POLICY_ON_BAT="balance_power"
defaults.conf L0015: NMI_WATCHDOG="0"
defaults.conf L0016: DISK_DEVICES="nvme0n1 sda"
defaults.conf L0017: DISK_APM_LEVEL_ON_AC="254 254"
defaults.conf L0018: DISK_APM_LEVEL_ON_BAT="128 128"
defaults.conf L0019: DISK_APM_CLASS_DENYLIST="usb ieee1394"
defaults.conf L0020: DISK_IOSCHED="keep keep"
defaults.conf L0021: SATA_LINKPWR_ON_AC="med_power_with_dipm"
defaults.conf L0022: SATA_LINKPWR_ON_BAT="med_power_with_dipm"
defaults.conf L0023: AHCI_RUNTIME_PM_ON_AC="on"
defaults.conf L0024: AHCI_RUNTIME_PM_ON_BAT="auto"
defaults.conf L0025: AHCI_RUNTIME_PM_TIMEOUT="15"
defaults.conf L0026: PCIE_ASPM_ON_AC="default"
defaults.conf L0027: PCIE_ASPM_ON_BAT="default"
defaults.conf L0028: RADEON_DPM_PERF_LEVEL_ON_AC="auto"
defaults.conf L0029: RADEON_DPM_PERF_LEVEL_ON_BAT="auto"
defaults.conf L0030: RADEON_POWER_PROFILE_ON_AC="default"
defaults.conf L0031: RADEON_POWER_PROFILE_ON_BAT="default"
defaults.conf L0032: WIFI_PWR_ON_AC="off"
defaults.conf L0033: WIFI_PWR_ON_BAT="on"
defaults.conf L0034: WOL_DISABLE="Y"
defaults.conf L0035: SOUND_POWER_SAVE_ON_AC="1"
defaults.conf L0036: SOUND_POWER_SAVE_ON_BAT="1"
defaults.conf L0037: SOUND_POWER_SAVE_CONTROLLER="Y"
defaults.conf L0038: BAY_POWEROFF_ON_AC="0"
defaults.conf L0039: BAY_POWEROFF_ON_BAT="0"
defaults.conf L0040: BAY_DEVICE="sr0"
defaults.conf L0041: RUNTIME_PM_ON_AC="on"
defaults.conf L0042: RUNTIME_PM_ON_BAT="auto"
defaults.conf L0043: RUNTIME_PM_DRIVER_DENYLIST="mei_me nouveau radeon"
/etc/tlp.d/10-usb-autosuspend.conf L0001: USB_AUTOSUSPEND="0"
defaults.conf L0045: USB_EXCLUDE_AUDIO="1"
defaults.conf L0046: USB_EXCLUDE_BTUSB="0"
defaults.conf L0047: USB_EXCLUDE_PHONE="0"
defaults.conf L0048: USB_EXCLUDE_PRINTER="1"
defaults.conf L0049: USB_EXCLUDE_WWAN="0"
defaults.conf L0050: RESTORE_DEVICE_STATE_ON_STARTUP="0"
defaults.conf L0051: RESTORE_THRESHOLDS_ON_BAT="0"
defaults.conf L0052: NATACPI_ENABLE="1"
defaults.conf L0053: TPACPI_ENABLE="1"
defaults.conf L0054: TPSMAPI_ENABLE="1"

+++ System Info
System = LENOVO ThinkPad X1 Carbon Gen 9 20XWCTO1WW
BIOS = N32ET93W (1.69 )
EC Firmware = 1.36
OS Release = Ubuntu 24.04.1 LTS
Kernel = 6.8.0-49-generic #49-Ubuntu SMP PREEMPT_DYNAMIC Mon Nov 4 02:06:24 UTC 2024 x86_64
/proc/cmdline = BOOT_IMAGE=/boot/vmlinuz-6.8.0-49-generic root=UUID=REDACTED ro quiet splash vt.handoff=7
Init system = systemd v255 (255.4-1ubuntu8.4)
Boot mode = UEFI
Suspend mode = s2idle [deep]

+++ TLP Status
State = enabled
RDW state = enabled
Last run = 12:58:59, 448 sec(s) ago
Mode = AC
Power source = AC

+++ Processor
CPU model = 11th Gen Intel(R) Core(TM) i5-1145G7 @ 2.60GHz

/sys/devices/system/cpu/cpu0/cpufreq/scaling_driver = intel_pstate
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors = performance powersave
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq = 400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq = 4400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq = 400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq = 4400000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_preference = balance_performance [EPP]
/sys/devices/system/cpu/cpu0/cpufreq/energy_performance_available_preferences = default performance balance_performance balance_power power

/sys/devices/system/cpu/cpu1..cpu7: omitted for clarity, use -v to show all

/sys/devices/system/cpu/intel_pstate/status = active
/sys/devices/system/cpu/intel_pstate/min_perf_pct = 9 [%]
/sys/devices/system/cpu/intel_pstate/max_perf_pct = 100 [%]
/sys/devices/system/cpu/intel_pstate/no_turbo = 0
/sys/devices/system/cpu/intel_pstate/hwp_dynamic_boost = 0
/sys/devices/system/cpu/intel_pstate/turbo_pct = 81 [%]
/sys/devices/system/cpu/intel_pstate/num_pstates = 41
/sys/module/workqueue/parameters/power_efficient = Y
/proc/sys/kernel/nmi_watchdog = 0

+++ Platform Profile
/sys/firmware/acpi/platform_profile = balanced
/sys/firmware/acpi/platform_profile_choices = low-power balanced performance
/sys/devices/platform/thinkpad_acpi/dytc_lapmode = 0

+++ Temperatures
/proc/acpi/ibm/thermal = 48 -128 0 0 0 0 0 -128 [°C]
/proc/acpi/ibm/fan = 4578 [/min]

+++ File System
/proc/sys/vm/laptop_mode = 0
/proc/sys/vm/dirty_writeback_centisecs = 1500
/proc/sys/vm/dirty_expire_centisecs = 1500
/proc/sys/vm/dirty_ratio = 20
/proc/sys/vm/dirty_background_ratio = 10

+++ Disks
Devices = nvme0n1 sda

/dev/nvme0n1:
Type = NVMe
Disk ID = nvme-SAMSUNG_MZVL2512HCJQ-00BL7_REDACTED
Model = SAMSUNG MZVL2512HCJQ-00BL7
Firmware = EL2QGXA7
Temp = 42 °C
Scheduler = [none] mq-deadline (multi queue)

Runtime PM:
/sys/block/nvme0n1/device/power/control = on, autosuspend_delay_ms = (not available)

SMART info:
Critical Warning: 0x00
Temperature: 42 Celsius
Available Spare: 100%
Available Spare Threshold: 10%
Percentage Used: 2%
Data Units Written: 32’091’851 [16.4 TB]
Power Cycles: 2’404
Power On Hours: 577
Unsafe Shutdowns: 56
Media and Data Integrity Errors: 0

/dev/sda: not present.

+++ Intel Graphics
/sys/class/drm/card1/device/driver = i915

/sys/class/drm/card1/power/rc6_enable = 1 (enabled)
/sys/kernel/debug/dri/1/i915_fbc_status = FBC disabled: PSR2 enabled
/sys/kernel/debug/dri/1/i915_edp_psr_status = PSR mode: PSR2 enabled

/sys/class/drm/card1/gt_min_freq_mhz = 100 [MHz]
/sys/class/drm/card1/gt_max_freq_mhz = 1300 [MHz]
/sys/class/drm/card1/gt_boost_freq_mhz = 1300 [MHz]
/sys/class/drm/card1/gt_RPn_freq_mhz = 100 [MHz] (GPU min)
/sys/class/drm/card1/gt_RP0_freq_mhz = 1300 [MHz] (GPU max)

+++ Wireless
bluetooth = off (software)
nfc = none (no device)
wifi = on
wwan = none (no device)

hci0(btusb) : bluetooth, not connected
wlp0s20f3(iwlwifi) : wifi, connected, power management = off

+++ Audio
/sys/module/snd_hda_intel/parameters/power_save = 1
/sys/module/snd_hda_intel/parameters/power_save_controller = Y

+++ PCIe Active State Power Management
/sys/module/pcie_aspm/parameters/policy = [default] performance powersave powersupersave (using BIOS preferences)

+++ PCIe Runtime Power Management
Enable devices = (disabled)
Disable devices = (disabled)
Device denylist = (disabled)
Driver denylist = mei_me nouveau radeon

/sys/bus/pci/devices/0000:00:00.0/power/control = on (0x060000, Host bridge, no driver)
/sys/bus/pci/devices/0000:00:02.0/power/control = on (0x030000, VGA compatible controller, i915)
/sys/bus/pci/devices/0000:00:04.0/power/control = on (0x118000, Signal processing controller, proc_thermal)
/sys/bus/pci/devices/0000:00:06.0/power/control = on (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:07.0/power/control = on (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:07.2/power/control = on (0x060400, PCI bridge, pcieport)
/sys/bus/pci/devices/0000:00:08.0/power/control = on (0x088000, System peripheral, no driver)
/sys/bus/pci/devices/0000:00:0a.0/power/control = on (0x118000, Signal processing controller, intel_vsec)
/sys/bus/pci/devices/0000:00:0d.0/power/control = on (0x0c0330, USB controller, xhci_hcd)
/sys/bus/pci/devices/0000:00:0d.2/power/control = on (0x0c0340, USB controller, thunderbolt)
/sys/bus/pci/devices/0000:00:0d.3/power/control = on (0x0c0340, USB controller, thunderbolt)
/sys/bus/pci/devices/0000:00:14.0/power/control = on (0x0c0330, USB controller, xhci_hcd)
/sys/bus/pci/devices/0000:00:14.2/power/control = on (0x050000, RAM memory, no driver)
/sys/bus/pci/devices/0000:00:14.3/power/control = on (0x028000, Network controller, iwlwifi)
/sys/bus/pci/devices/0000:00:15.0/power/control = on (0x0c8000, Serial bus controller, intel-lpss)
/sys/bus/pci/devices/0000:00:16.0/power/control = auto (0x078000, Communication controller, mei_me)
/sys/bus/pci/devices/0000:00:16.3/power/control = on (0x070002, Serial controller, serial)
/sys/bus/pci/devices/0000:00:1f.0/power/control = on (0x060100, ISA bridge, no driver)
/sys/bus/pci/devices/0000:00:1f.3/power/control = on (0x040380, Audio device, sof-audio-pci-intel-tgl)
/sys/bus/pci/devices/0000:00:1f.4/power/control = on (0x0c0500, SMBus, i801_smbus)
/sys/bus/pci/devices/0000:00:1f.5/power/control = on (0x0c8000, Serial bus controller, intel-spi)
/sys/bus/pci/devices/0000:04:00.0/power/control = on (0x010802, Non-Volatile memory controller, nvme)

+++ USB
Autosuspend = disabled
Device allowlist = (not configured)
Device denylist = (not configured)
Exclude audio = enabled
Exclude bluetooth = disabled
Exclude phones = disabled
Exclude printers = enabled
Exclude WWAN = disabled

Bus 001 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 2.0 root hub (hub)
Bus 002 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 3.0 root hub (hub)
Bus 003 Device 001 ID 1d6b:0002 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 2.0 root hub (hub)
Bus 003 Device 003 ID 04f2:b6ea control = auto, autosuspend_delay_ms = 2000 -- Chicony Electronics Co., Ltd Integrated Camera (uvcvideo)
Bus 003 Device 007 ID 8087:0026 control = auto, autosuspend_delay_ms = 2000 -- Intel Corp. AX201 Bluetooth (btusb)
Bus 003 Device 015 ID 06cb:00fc control = auto, autosuspend_delay_ms = 2000 -- Synaptics, Inc. (no driver)
Bus 003 Device 016 ID 056a:0011 control = on, autosuspend_delay_ms = 2000 -- Wacom Co., Ltd ET-0405A [Graphire2 (4x5)] (usbhid)
Bus 004 Device 001 ID 1d6b:0003 control = auto, autosuspend_delay_ms = 0 -- Linux Foundation 3.0 root hub (hub)

+++ Battery Care
Plugin: thinkpad
Supported features: charge thresholds, recalibration
Driver usage:

  • natacpi (thinkpad_acpi) = active (charge thresholds, recalibration)
    Parameter value ranges:
  • START_CHARGE_THRESH_BAT0/1: 0(off)..96(default)..99
  • STOP_CHARGE_THRESH_BAT0/1: 1..100(default)

+++ ThinkPad Battery Status: BAT0 (Main / Internal)
/sys/class/power_supply/BAT0/manufacturer = Sunwoda
/sys/class/power_supply/BAT0/model_name = 5B10W13975
/sys/class/power_supply/BAT0/cycle_count = 97
/sys/class/power_supply/BAT0/energy_full_design = 57000 [mWh]
/sys/class/power_supply/BAT0/energy_full = 56990 [mWh]
/sys/class/power_supply/BAT0/energy_now = 40010 [mWh]
/sys/class/power_supply/BAT0/power_now = 42097 [mW]
/sys/class/power_supply/BAT0/status = Charging

/sys/class/power_supply/BAT0/charge_control_start_threshold = 79 [%]
/sys/class/power_supply/BAT0/charge_control_end_threshold = 80 [%]
/sys/class/power_supply/BAT0/charge_behaviour = [auto] inhibit-charge force-discharge

Charge = 70.2 [%]
Capacity = 100.0 [%]

@linrunner
Copy link
Owner

linrunner commented Dec 8, 2024

I tried to reproduce this: my X1 Carbon Gen9 with identical BIOS and EC version starts charging immediately after tlp chargeonce.

Over the years, TLP users have reported a lot of quirks in Lenovo's EC firmware. Trying to differentiate all this in TLP is pointless, because it would result in high technical debt. No thanks.

What I can offer you is a general note in the output, something like

Charging starts now, keep AC connected.
Note: If charging does not start, disconnect the charger for a short time and then reconnect it.

@thomas2net
Copy link
Author

Your offer sounds good to me, Linrunner. Many thanks.
I suggest, however, to explicitly recite in the output message the current detected charge percentage and the specified end of charge percentage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants