Chromebook C13 Yoga Gen 1 Chromebook – Tipps & Erfahrungen

iks230

Well-known member
Themenstarter
Registriert
8 Dez. 2021
Beiträge
686
Dieses Thema dient dazu einfach ein paar Tipps und Erfahrungen mit dem ThinkPad C13 Yoga Gen 1 Chromebook zu sammeln.

Meine Erfahrungen basieren auf diesem Modell: 20UX000GGE (Ryzen 5 3500C, 8GB RAM, 128GB NVMe-SSD) unter Debian testing mit Cinnamon. Im unten verlinkten Video wird auf Probleme mit Debian Bookworm eingegangen (ab 15:42).

HMM: https://download.lenovo.com/pccbbs/mobiles_pdf/c13_yoga_gen1_chromebook_hmm_en.pdf

User Guide: https://download.lenovo.com/pccbbs/mobiles_pdf/c13_yoga_gen1_chromebook_ug_en.pdf

USB-Ladebuchse: Auf den Seiten 32/33 des HMM werden die Ports erklärt. Dort wird nur der linke USB-C-Anschluss als "Power connector" bezeichnet (S. 32). Allerdings kann das Gerät auch mit dem rechten USB-C-Anschluss geladen werden (S. 33). Da der Power-Knopf rechts ist, nutze ich in der rechten USB-C-Buchse einen USB-C-Magnet-Adapter mit entsprechendem Kabel von Baseus.

Firmware: Dank des Chrultrabook-Projekts konnte ich eine coreboot-Variante installieren. Das Vorgehen wird im folgenden Video ganz gut erklärt (5:13 bis 13:29):


Unterschied zum Video: Die Frage nach dem Trackpoint kommt nicht mehr. Zudem scheint es im Video so, dass der erste Start nach dem Flashen ohne Akku einfach durchläuft. Hab ich genauso gemacht und mich begrüßte hingegen dauerhaft ein schwarzer Bildschirm inkl. kurzer Lüfteraktivität, sodass ich erst dachte, dass das Flashen schiefgelaufen sei. Lösung: Akku wieder einbauen plus die Tastenkombi aus Power + ESC + Reload.

Wi-Fi: Die verbaute Intel AX200 (Wi-Fi 6) konnte problemlos durch eine Intel AX210 (Wi-Fi 6E) ersetzt werden. Mit der Intel BE200 (Wi-Fi 7) gibt es Probleme (siehe auch). Falls ich darauf Zugriff bekomme, werde ich die Varianten von Qualcomm oder MediaTek testen.

SSD: Lässt sich relativ einfach tauschen (auch im Video zu sehen gegen 9:31). Mittlerweile habe ich eine 256GB-Variante verbaut.

TLP: Funktioniert nur eingeschränkt, da wichtige Funktionen (z. B. Ladeschwellen) anscheinend über die Firmware nicht verfügbar sind.

Tastatur-Layout: Remap missing keys with keyd hat mir geholfen ein weitgehend normales Tastatur-Layout zu bekommen.

Tastatur-Backlit: Lässt sich über Software steuern, aber bisher habe ich es nicht hinbekommen, es via Tastatur einzuschalten (ohne Software-Tastenkürzel). Da der Helligkeits-Wert nach einem Neustart erhalten bleibt, ist das Backlit dauerhaft auf 5 Prozent gesetzt, was für mich in dunkler Umgebung ausreichend zur Orientierung ist.

Akku: Hält zumindest bei meinem eher moderaten Nutzungsprofil ein bis zwei Tage durch (surfen, Medienkonsum, Office, Bildschirmhelligkeit zwischen 30 und 50 Prozent, Tastatur-Backlit auf 5 Prozent).

Audio: Funktioniert problemlos bei mir, entgegen der Behauptung im Video, dass das nicht funktionieren würde. Für den Fall, dass es nicht funktioniert, wird in der Chultrabook-Dokumentation auf ein eigenes Skript verwiesen.

Chromebook-Modi: Mit Original-Firmware bzw. ChromeOS wird die Tastatur im "Stand mode", "Tent mode" bzw. "Tablet mode" deaktiviert (User Guide: S. 18). Hier nutze ich ein Skript, dessen Verknüpfung auf dem Desktop liegt:
Bash:
#! /bin/bash
#  switch_keyboard.sh
#  http://ubuntuforums.org/showthread.php?t=2100744
#  https://www.linuxquestions.org/questions/bodhi-92/yoga-laptop-autodisable-keyboard-when-screen-folded-back-to-use-as-tablet-4175678048/

DEVICE="keyd virtual keyboard"
STATUS=`xinput list-props "$DEVICE" | grep 'Device Enabled' | sed 's/.*\([0-9]\)$/\1/'`

if [ "$STATUS" = "1" ]
then
    xinput set-prop "$DEVICE" 'Device Enabled' 0
    notify-send -t 100 "keyboard disabled" --icon=input-keyboard
elif [ "$STATUS" = "0" ]
then
    xinput set-prop "$DEVICE" 'Device Enabled' 1
    notify-send -t 100 "keyboard enabled" --icon=input-keyboard
else
    echo "Error : bad argument"
fi
Hinweis: Wenn das oben erwähnte keyd nicht genutzt wird, muss die Variable DEVICE angepasst werden.

Bildschirm-Drehung: Hier habe ich mir auch ein Skript (mit Verknüpfung auf dem Desktop) gebastelt , um den Bildschirm nach links bzw. wieder zurück zu drehen, da ich dies lieber manuell mache:
Bash:
#! /bin/bash
#  rotate_screen.sh
#  http://ubuntuforums.org/showthread.php?t=2100744
#  https://www.linuxquestions.org/questions/bodhi-92/yoga-laptop-autodisable-keyboard-when-screen-folded-back-to-use-as-tablet-4175678048/
#  https://unix.stackexchange.com/questions/578208/get-current-screen-orientation

STATUS=`xrandr -q --verbose | grep eDP | sed 's/primary //' | awk '{print $5}'`

if [ "$STATUS" = "normal" ]
then
    xrandr --output eDP --rotate left
    notify-send -t 100 "rotate left" --icon=video-display
elif [ "$STATUS" != "normal" ]
then
    xrandr --output eDP --rotate normal
    notify-send -t 100 "rotate normal" --icon=video-display
else
    echo "Error : bad argument"
fi
 
Zuletzt bearbeitet:
Welche Distro hast Du jetzt drauf? Da würden ja mehrere funktionieren. Dank dem Video weiß ich jetzt, dass man nicht das Board ausbauen muss, um an den WP-switch zu kommen, wie ich aus anderen Dokus plus HMM vermutet habe.
 
Sehr interessante Infos.

TLP: Funktioniert nur eingeschränkt, da wichtige Funktionen (z. B. Ladeschwellen) anscheinend über die Firmware nicht verfügbar sind.
Firmware allein reicht nicht, Du brauchst auch immer einen passenden Kerneltreiber dafür. Nur weil ThinkPad dransteht, heißt das noch lange nicht, dass auch thinkpad_acpi funktioniert. Das sieht man an den Thinkbooks, die ein Ideapad Innenleben zu haben scheinen und von thinkpad_acpi nicht unterstützt werden.

Falls das Teil die ChromeOS EC Firmware hat, besteht Hoffnung, denn es gibt neuerdings einen Treiber für Ladeschwellen und force-discharge

TLP verwendet diesen auch schon für Framework Laptops, die denselben EC beinhalten:

Falls Du Kernel 6.11 aus Sid installieren möchtest, würde mich die Ausgabe von
Bash:
grep . /sys/class/power_supply/*/*
sehr interessieren.
 
Falls Du Kernel 6.11 aus Sid installieren möchtest, würde mich die Ausgabe von
grep . /sys/class/power_supply/*/*
sehr interessieren.

Hoffe statt Debian ist auch ein Bluestar Linux mit 6.11.3er-Kernel in Ordnung:
Code:
[bslx@bluestar ~]$ grep . /sys/class/power_supply/*/*
grep: /sys/class/power_supply/AC/device: Is a directory
grep: /sys/class/power_supply/AC/hwmon0: Is a directory
/sys/class/power_supply/AC/online:0
grep: /sys/class/power_supply/AC/power: Is a directory
grep: /sys/class/power_supply/AC/subsystem: Is a directory
/sys/class/power_supply/AC/type:Mains
/sys/class/power_supply/AC/uevent:DEVTYPE=power_supply
/sys/class/power_supply/AC/uevent:POWER_SUPPLY_NAME=AC
/sys/class/power_supply/AC/uevent:POWER_SUPPLY_TYPE=Mains
/sys/class/power_supply/AC/uevent:POWER_SUPPLY_ONLINE=0
grep: /sys/class/power_supply/AC/wakeup25: Is a directory
/sys/class/power_supply/BAT0/alarm:0
/sys/class/power_supply/BAT0/capacity:69
/sys/class/power_supply/BAT0/capacity_level:Normal
/sys/class/power_supply/BAT0/charge_behaviour:[auto] inhibit-charge force-discharge
/sys/class/power_supply/BAT0/charge_control_end_threshold:100
/sys/class/power_supply/BAT0/charge_control_start_threshold:0
/sys/class/power_supply/BAT0/charge_full:5930000
/sys/class/power_supply/BAT0/charge_full_design:6650000
/sys/class/power_supply/BAT0/charge_now:4141000
/sys/class/power_supply/BAT0/current_now:701000
/sys/class/power_supply/BAT0/cycle_count:104
grep: /sys/class/power_supply/BAT0/device: Is a directory
grep: /sys/class/power_supply/BAT0/hwmon2: Is a directory
/sys/class/power_supply/BAT0/manufacturer:Sunwoda
/sys/class/power_supply/BAT0/model_name:L19D4PG
grep: /sys/class/power_supply/BAT0/power: Is a directory
/sys/class/power_supply/BAT0/present:1
/sys/class/power_supply/BAT0/serial_number:2190
/sys/class/power_supply/BAT0/status:Discharging
grep: /sys/class/power_supply/BAT0/subsystem: Is a directory
/sys/class/power_supply/BAT0/technology:Li-ion
/sys/class/power_supply/BAT0/type:Battery
/sys/class/power_supply/BAT0/uevent:DEVTYPE=power_supply
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_NAME=BAT0
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_TYPE=Battery
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_STATUS=Discharging
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_PRESENT=1
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_TECHNOLOGY=Li-ion
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CYCLE_COUNT=104
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_VOLTAGE_MIN_DESIGN=7680000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_VOLTAGE_NOW=7889000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CURRENT_NOW=701000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CHARGE_FULL_DESIGN=6650000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CHARGE_FULL=5930000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CHARGE_NOW=4141000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CAPACITY=69
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CAPACITY_LEVEL=Normal
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_MODEL_NAME=L19D4PG
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_MANUFACTURER=Sunwoda
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_SERIAL_NUMBER=2190
/sys/class/power_supply/BAT0/voltage_min_design:7680000
/sys/class/power_supply/BAT0/voltage_now:7889000
/sys/class/power_supply/CROS_USBPD_CHARGER0/current_max:1500000
grep: /sys/class/power_supply/CROS_USBPD_CHARGER0/device: Is a directory
grep: /sys/class/power_supply/CROS_USBPD_CHARGER0/hwmon6: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER0/input_current_limit:-1
/sys/class/power_supply/CROS_USBPD_CHARGER0/input_voltage_limit:-1
/sys/class/power_supply/CROS_USBPD_CHARGER0/manufacturer:0
/sys/class/power_supply/CROS_USBPD_CHARGER0/model_name:0
/sys/class/power_supply/CROS_USBPD_CHARGER0/online:0
grep: /sys/class/power_supply/CROS_USBPD_CHARGER0/power: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER0/status:Not charging
grep: /sys/class/power_supply/CROS_USBPD_CHARGER0/subsystem: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER0/type:USB
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:DEVTYPE=power_supply
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_NAME=CROS_USBPD_CHARGER0
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_TYPE=USB
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_INPUT_CURRENT_LIMIT=-1
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_INPUT_VOLTAGE_LIMIT=-1
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_ONLINE=0
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_STATUS=Not charging
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_CURRENT_MAX=1500000
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_VOLTAGE_MAX_DESIGN=0
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_VOLTAGE_NOW=0
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_MODEL_NAME=0
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_MANUFACTURER=0
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_USB_TYPE=Unknown [SDP] DCP CDP C PD PD_DRP BrickID
/sys/class/power_supply/CROS_USBPD_CHARGER0/usb_type:Unknown [SDP] DCP CDP C PD PD_DRP BrickID
/sys/class/power_supply/CROS_USBPD_CHARGER0/voltage_max_design:0
/sys/class/power_supply/CROS_USBPD_CHARGER0/voltage_now:0
/sys/class/power_supply/CROS_USBPD_CHARGER1/current_max:1500000
grep: /sys/class/power_supply/CROS_USBPD_CHARGER1/device: Is a directory
grep: /sys/class/power_supply/CROS_USBPD_CHARGER1/hwmon8: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER1/input_current_limit:-1
/sys/class/power_supply/CROS_USBPD_CHARGER1/input_voltage_limit:-1
/sys/class/power_supply/CROS_USBPD_CHARGER1/manufacturer:0
/sys/class/power_supply/CROS_USBPD_CHARGER1/model_name:0
/sys/class/power_supply/CROS_USBPD_CHARGER1/online:0
grep: /sys/class/power_supply/CROS_USBPD_CHARGER1/power: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER1/status:Not charging
grep: /sys/class/power_supply/CROS_USBPD_CHARGER1/subsystem: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER1/type:USB
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:DEVTYPE=power_supply
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_NAME=CROS_USBPD_CHARGER1
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_TYPE=USB
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_INPUT_CURRENT_LIMIT=-1
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_INPUT_VOLTAGE_LIMIT=-1
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_ONLINE=0
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_STATUS=Not charging
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_CURRENT_MAX=1500000
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_VOLTAGE_MAX_DESIGN=0
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_VOLTAGE_NOW=0
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_MODEL_NAME=0
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_MANUFACTURER=0
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_USB_TYPE=Unknown [SDP] DCP CDP C PD PD_DRP BrickID
/sys/class/power_supply/CROS_USBPD_CHARGER1/usb_type:Unknown [SDP] DCP CDP C PD PD_DRP BrickID
/sys/class/power_supply/CROS_USBPD_CHARGER1/voltage_max_design:0
/sys/class/power_supply/CROS_USBPD_CHARGER1/voltage_now:0
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/capacity:0
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/device: Is a directory
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/hwmon9: Is a directory
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/model_name:GDIX0000:00 27C6:0ED1
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/online:1
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/power: Is a directory
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/powers: Is a directory
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/present:1
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/scope:Device
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/status:Unknown
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/subsystem: Is a directory
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/type:Battery
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:DEVTYPE=power_supply
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_NAME=hid-0018:27C6:0ED1.0001-battery
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_TYPE=Battery
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_PRESENT=1
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_ONLINE=1
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_CAPACITY=0
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_MODEL_NAME=GDIX0000:00 27C6:0ED1
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_STATUS=Unknown
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_SCOPE=Device
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/wakeup50: Is a directory
 
/sys/class/power_supply/BAT0/charge_behaviour:[auto] inhibit-charge force-discharge
/sys/class/power_supply/BAT0/charge_control_end_threshold:100
/sys/class/power_supply/BAT0/charge_control_start_threshold:0
Prima. Ist alles da, was man für Ladeschwellen & Co. braucht ...
Beitrag automatisch zusammengeführt:

Zeig die Ausgabe von
Bash:
grep . /sys/class/power_supply/*/*
bitte nochmal am Netzteil.

Um sicherzugehen, dass das richtige Modul geladen ist, außerdem:
Bash:
ls -la /sys/module/cros_charge_control
Beitrag automatisch zusammengeführt:

Anscheinend hat es nicht die bekannte coreboot-Schrulle. Denn das hier sieht tatsächlich aus wie Werte in mA(h):
Code:
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CHARGE_FULL_DESIGN=6.650,000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CHARGE_FULL=5.930,000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CHARGE_NOW=4.141,000
EDIT: 6,65 Ah * 7,68 V = 51,07 Wh - passt zu den von dir oben verlinkten Specs.
 
Zuletzt bearbeitet von einem Moderator:
(Nachtrag: Die Ausgaben sind von einem Live-System, falls das eine Rolle spielt.)

Bitteschön :-)

Um sicherzugehen, dass das richtige Modul geladen ist, außerdem:
ls -la /sys/module/cros_charge_control

Code:
total 0
drwxr-xr-x   7 root root    0 Oct 15 17:55 .
drwxr-xr-x 293 root root    0 Oct 15 17:55 ..
-r--r--r--   1 root root 4096 Oct 15 17:55 coresize
drwxr-xr-x   2 root root    0 Oct 15 17:55 drivers
drwxr-xr-x   2 root root    0 Oct 15 17:55 holders
-r--r--r--   1 root root 4096 Oct 15 17:55 initsize
-r--r--r--   1 root root 4096 Oct 15 17:55 initstate
drwxr-xr-x   2 root root    0 Oct 15 17:55 notes
drwxr-xr-x   2 root root    0 Oct 15 17:55 parameters
-r--r--r--   1 root root 4096 Oct 15 17:55 refcnt
drwxr-xr-x   2 root root    0 Oct 15 17:55 sections
-r--r--r--   1 root root 4096 Oct 15 17:55 srcversion
-r--r--r--   1 root root 4096 Oct 15 17:55 taint
--w-------   1 root root 4096 Oct 15 17:55 uevent

Zeig die Ausgabe von
grep . /sys/class/power_supply/*/*
bitte nochmal am Netzteil.

Code:
grep: /sys/class/power_supply/AC/device: Is a directory
grep: /sys/class/power_supply/AC/hwmon0: Is a directory
/sys/class/power_supply/AC/online:1
grep: /sys/class/power_supply/AC/power: Is a directory
grep: /sys/class/power_supply/AC/subsystem: Is a directory
/sys/class/power_supply/AC/type:Mains
/sys/class/power_supply/AC/uevent:DEVTYPE=power_supply
/sys/class/power_supply/AC/uevent:POWER_SUPPLY_NAME=AC
/sys/class/power_supply/AC/uevent:POWER_SUPPLY_TYPE=Mains
/sys/class/power_supply/AC/uevent:POWER_SUPPLY_ONLINE=1
grep: /sys/class/power_supply/AC/wakeup25: Is a directory
/sys/class/power_supply/BAT0/alarm:0
/sys/class/power_supply/BAT0/capacity:100
/sys/class/power_supply/BAT0/capacity_level:Normal
/sys/class/power_supply/BAT0/charge_behaviour:[auto] inhibit-charge force-discharge
/sys/class/power_supply/BAT0/charge_control_end_threshold:100
/sys/class/power_supply/BAT0/charge_control_start_threshold:0
/sys/class/power_supply/BAT0/charge_full:5930000
/sys/class/power_supply/BAT0/charge_full_design:6650000
/sys/class/power_supply/BAT0/charge_now:5930000
/sys/class/power_supply/BAT0/current_now:734000
/sys/class/power_supply/BAT0/cycle_count:104
grep: /sys/class/power_supply/BAT0/device: Is a directory
grep: /sys/class/power_supply/BAT0/hwmon2: Is a directory
/sys/class/power_supply/BAT0/manufacturer:Sunwoda
/sys/class/power_supply/BAT0/model_name:L19D4PG
grep: /sys/class/power_supply/BAT0/power: Is a directory
/sys/class/power_supply/BAT0/present:1
/sys/class/power_supply/BAT0/serial_number:2190
/sys/class/power_supply/BAT0/status:Charging
grep: /sys/class/power_supply/BAT0/subsystem: Is a directory
/sys/class/power_supply/BAT0/technology:Li-ion
/sys/class/power_supply/BAT0/type:Battery
/sys/class/power_supply/BAT0/uevent:DEVTYPE=power_supply
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_NAME=BAT0
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_TYPE=Battery
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_STATUS=Charging
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_PRESENT=1
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_TECHNOLOGY=Li-ion
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CYCLE_COUNT=104
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_VOLTAGE_MIN_DESIGN=7680000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_VOLTAGE_NOW=8681000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CURRENT_NOW=734000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CHARGE_FULL_DESIGN=6650000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CHARGE_FULL=5930000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CHARGE_NOW=5930000
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CAPACITY=100
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_CAPACITY_LEVEL=Normal
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_MODEL_NAME=L19D4PG
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_MANUFACTURER=Sunwoda
/sys/class/power_supply/BAT0/uevent:POWER_SUPPLY_SERIAL_NUMBER=2190
/sys/class/power_supply/BAT0/voltage_min_design:7680000
/sys/class/power_supply/BAT0/voltage_now:8681000
/sys/class/power_supply/CROS_USBPD_CHARGER0/current_max:3250000
grep: /sys/class/power_supply/CROS_USBPD_CHARGER0/device: Is a directory
grep: /sys/class/power_supply/CROS_USBPD_CHARGER0/hwmon7: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER0/input_current_limit:-1
/sys/class/power_supply/CROS_USBPD_CHARGER0/input_voltage_limit:-1
/sys/class/power_supply/CROS_USBPD_CHARGER0/manufacturer:0
/sys/class/power_supply/CROS_USBPD_CHARGER0/model_name:0
/sys/class/power_supply/CROS_USBPD_CHARGER0/online:1
grep: /sys/class/power_supply/CROS_USBPD_CHARGER0/power: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER0/status:Charging
grep: /sys/class/power_supply/CROS_USBPD_CHARGER0/subsystem: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER0/type:USB
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:DEVTYPE=power_supply
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_NAME=CROS_USBPD_CHARGER0
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_TYPE=USB
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_INPUT_CURRENT_LIMIT=-1
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_INPUT_VOLTAGE_LIMIT=-1
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_ONLINE=1
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_STATUS=Charging
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_CURRENT_MAX=3250000
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_VOLTAGE_MAX_DESIGN=20000000
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_VOLTAGE_NOW=19392000
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_MODEL_NAME=0
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_MANUFACTURER=0
/sys/class/power_supply/CROS_USBPD_CHARGER0/uevent:POWER_SUPPLY_USB_TYPE=Unknown SDP DCP CDP C [PD] PD_DRP BrickID
/sys/class/power_supply/CROS_USBPD_CHARGER0/usb_type:Unknown SDP DCP CDP C [PD] PD_DRP BrickID
/sys/class/power_supply/CROS_USBPD_CHARGER0/voltage_max_design:20000000
/sys/class/power_supply/CROS_USBPD_CHARGER0/voltage_now:19392000
/sys/class/power_supply/CROS_USBPD_CHARGER1/current_max:1500000
grep: /sys/class/power_supply/CROS_USBPD_CHARGER1/device: Is a directory
grep: /sys/class/power_supply/CROS_USBPD_CHARGER1/hwmon8: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER1/input_current_limit:-1
/sys/class/power_supply/CROS_USBPD_CHARGER1/input_voltage_limit:-1
/sys/class/power_supply/CROS_USBPD_CHARGER1/manufacturer:0
/sys/class/power_supply/CROS_USBPD_CHARGER1/model_name:0
/sys/class/power_supply/CROS_USBPD_CHARGER1/online:0
grep: /sys/class/power_supply/CROS_USBPD_CHARGER1/power: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER1/status:Not charging
grep: /sys/class/power_supply/CROS_USBPD_CHARGER1/subsystem: Is a directory
/sys/class/power_supply/CROS_USBPD_CHARGER1/type:USB
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:DEVTYPE=power_supply
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_NAME=CROS_USBPD_CHARGER1
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_TYPE=USB
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_INPUT_CURRENT_LIMIT=-1
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_INPUT_VOLTAGE_LIMIT=-1
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_ONLINE=0
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_STATUS=Not charging
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_CURRENT_MAX=1500000
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_VOLTAGE_MAX_DESIGN=0
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_VOLTAGE_NOW=0
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_MODEL_NAME=0
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_MANUFACTURER=0
/sys/class/power_supply/CROS_USBPD_CHARGER1/uevent:POWER_SUPPLY_USB_TYPE=Unknown [SDP] DCP CDP C PD PD_DRP BrickID
/sys/class/power_supply/CROS_USBPD_CHARGER1/usb_type:Unknown [SDP] DCP CDP C PD PD_DRP BrickID
/sys/class/power_supply/CROS_USBPD_CHARGER1/voltage_max_design:0
/sys/class/power_supply/CROS_USBPD_CHARGER1/voltage_now:0
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/capacity:0
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/device: Is a directory
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/hwmon9: Is a directory
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/model_name:GDIX0000:00 27C6:0ED1
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/online:1
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/power: Is a directory
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/powers: Is a directory
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/present:1
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/scope:Device
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/status:Unknown
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/subsystem: Is a directory
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/type:Battery
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:DEVTYPE=power_supply
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_NAME=hid-0018:27C6:0ED1.0001-battery
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_TYPE=Battery
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_PRESENT=1
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_ONLINE=1
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_CAPACITY=0
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_MODEL_NAME=GDIX0000:00 27C6:0ED1
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_STATUS=Unknown
/sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/uevent:POWER_SUPPLY_SCOPE=Device
grep: /sys/class/power_supply/hid-0018:27C6:0ED1.0001-battery/wakeup50: Is a directory
 
Zuletzt bearbeitet:
@iks230 Ich habe das Framework Plugin spontan in ein generisches für alle Laptops mit ChromeOS EC verwandelt und bitte dich um einen Test.

1.8 Alpha Pakete für Arch findest Du hier: https://download.linrunner.de/packages/

Die Testschritte sind bei GitHub beschrieben: https://github.com/linrunner/TLP/issues/765

Für das automatische Testskript benötigst Du clitest aus dem AUR.

ps. der automatische Wechsel AC <-> BAT funktioniert, das kann man den Ausgaben von /sys/class/power_supply/** entnehmen.
 
Zuletzt bearbeitet:
Hoffe mal es passt so, da ich noch nicht so vertraut mit Arch bin (und ggf. zwei Tests zuviel gemacht habe):




Wahrscheinlich mehr Tests als du gebraucht hast, aber vielleicht trotzdem irgendwie hilfreich.


Und noch die TLP-Ausgabe:

Code:
--- TLP 1.8.0-alpha.0 --------------------------------------------

+++ System Info
System         = Google rev6 Morphius
BIOS           = MrChromebox-2405.0
EC Firmware    = 0.0
OS Release     = Arch Linux
Kernel         = 6.11.3-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 10 Oct 2024 20:11:06 +0000 x86_64
/proc/cmdline  = initrd=\EFI\archiso\intel_ucode.img initrd=\EFI\archiso\amd_ucode.img initrd=\EFI\archiso\archiso.img archisobasedir=arch archisolabel=BSLX_202410 ipv6.disable=1 copytoram=no
Init system    = systemd
Boot mode      = UEFI
Suspend mode   = s2idle shallow [deep]

+++ TLP Status
State          = enabled
RDW state      = enabled
Last run       = 08:06:48 PM, 135 sec(s) ago
Mode           = AC
Power source   = AC

+++ Battery Care
Plugin: chromeos-ec
Supported features: charge thresholds, recalibration
Driver usage:
* natacpi (cros_charge_control) = active (charge thresholds, recalibration)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  0(off)..99
* STOP_CHARGE_THRESH_BAT0/1:   1..100(default)

+++ Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = Sunwoda
/sys/class/power_supply/BAT0/model_name                     = L19D4PG
/sys/class/power_supply/BAT0/cycle_count                    =    104
/sys/class/power_supply/BAT0/charge_full_design             =   6650 [mAh]
/sys/class/power_supply/BAT0/charge_full                    =   5930 [mAh]
/sys/class/power_supply/BAT0/charge_now                     =   5930 [mAh]
/sys/class/power_supply/BAT0/current_now                    =    864 [mA]
/sys/class/power_supply/BAT0/status                         = Charging

/sys/class/power_supply/BAT0/voltage_min_design             =   7680 [mV]
/sys/class/power_supply/BAT0/voltage_now                    =   8674 [mV]

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

Charge                                                      =  100.0 [%]
Capacity                                                    =   89.2 [%]
 
Zuletzt bearbeitet:
@iks230 sorry, ich habe beim Testskript nicht berücksichtigt, dass der Akku auch BAT0 heißen kann, wie in deinem Fall. clitest ist sehr simpel gestrickt und macht nur Textvergleiche.

Also bitte nochmal NUR mit diesem angepassten Skript: https://github.com/linrunner/TLP/bl...unit-tests/charge-thresholds_chromeos-ec-BAT0

Bitte die anderen Skripte nicht aufrufen: charge-thresholds_chromeos-ec-simulate nutze ich zum Testen der Programmlogik ohne über die Zielhardware zu verfügen. charge-thresholds_thinkpad hingegen ist für echte ThinkPad-Hardware.

Dann hoffe ich, dass Du dich auch traust
Bash:
sudo tlp discharge
auszuprobieren. Du musst nicht ganz entladen, anlaufen lassen und mit Control-C abbrechen reicht auch.

Die Funktion ist standardmäßig blockiert, denn die ChromeOS EC Firmware beendet das Entladen nicht automatisch, stattdessen schaltet sich der Laptop hart aus. Ist leider nicht so clever wie beim ThinkPad EC implementiert.

TLP fragt also in einer Schleife den Akku-Ladestand ab und beendet, sobald ein aus der momentanen Stromaufnahme berechnetes Ladestands-Limit unterschritten wird.

Um discharge freizuschalten, musst Du deiner Konfiguration den in der Warnung angegebenen Parameter hinzufügen.

 
Zuletzt bearbeitet:
Hab die drei falschen Tests wieder gelöscht. Hier nun der Test mit dem neuen Skript:

Spoiler: OK: 47 of 47 tests passed

Bzgl. discharge:
Code:
Currently discharging battery BAT0:
remaining charge   =   5930 [mAh]
discharge limit    =   3001 [mAh]
remaining time     =    188 [min]
current            =    931 [mW]
voltage            =   8447 [mV]
remaining percent  =    100 [%]
status             = Discharging
force-discharge    = 1
Caution: make sure all data is saved and backups are in place.
Press Ctrl+C to cancel.
Das hab ich ca. fünf Minuten laufen lassen, aber es blieb ohne Veränderung auf 100 Prozent. Hab nebenbei gesurft um irgendeine Last zu erzeugen, aber da hat sich bei den Prozenten nichts getan.

Der Tooltip beim Akku-Symbol hat das angezeigt:
Battery at 100%, plugged in but still discharging.
The power supply is not powerful enough to charge the battery.
5:10 remaining
Middle-click to disable automatic sleep and screen locking.

Hab X_BAT_DISCHG_END auch mal testweise zu hoch angesetzt (6000), da kam dann direkt:
Code:
Error: battery BAT0 is already empty.

Hoffe das hilft weiter :)
 
Hab die drei falschen Tests wieder gelöscht. Hier nun der Test mit dem neuen Skript:

Spoiler: OK: 47 of 47 tests passed
Super. Perfektes Ergebnis.

Teste doch bitte noch von Hand ob konfigurierte Schwellen auch tatsächlich ziehen - dran denken die geänderte Konfiguration mit
tlp start oder tlp setcharge zu aktivieren).

Bzgl. discharge:
Code:
Currently discharging battery BAT0:
remaining charge   =   5930 [mAh]
discharge limit    =   3001 [mAh]
remaining time     =    188 [min]
current            =    931 [mW]
voltage            =   8447 [mV]
remaining percent  =    100 [%]
status             = Discharging
force-discharge    = 1
Caution: make sure all data is saved and backups are in place.
Press Ctrl+C to cancel.
Das hab ich ca. fünf Minuten laufen lassen, aber es blieb ohne Veränderung auf 100 Prozent. Hab nebenbei gesurft um irgendeine Last zu erzeugen, aber da hat sich bei den Prozenten nichts getan.
Sehr seltsam. Es wird ja ein Endladestrom von ca. 900 mA angezeigt. Ändert sich der Wert von remaining charge?
 
Sehr seltsam. Es wird ja ein Endladestrom von ca. 900 mA angezeigt. Ändert sich der Wert von remaining charge?
Der Wert blieb konstant auf 5930 [mAh].

Teste doch bitte noch von Hand ob konfigurierte Schwellen auch tatsächlich ziehen - dran denken die geänderte Konfiguration mit
tlp start oder tlp setcharge zu aktivieren).
Ergebnis (mit setcharge):
Code:
Setting temporary charge thresholds for BAT0:
  start =  85
  stop  =  90

Ausgabe von sudo tlp-stat -s -b -v:
Code:
--- TLP 1.8.0-alpha.0 --------------------------------------------

+++ System Info
System         = Google rev6 Morphius
BIOS           = MrChromebox-2405.0
EC Firmware    = 0.0
OS Release     = Arch Linux
Kernel         = 6.11.3-arch1-1 #1 SMP PREEMPT_DYNAMIC Thu, 10 Oct 2024 20:11:06 +0000 x86_64
/proc/cmdline  = initrd=\EFI\archiso\intel_ucode.img initrd=\EFI\archiso\amd_ucode.img initrd=\EFI\archiso\archiso.img archisobasedir=arch archisolabel=BSLX_202410 ipv6.disable=1 copytoram=no
Init system    = systemd
Boot mode      = UEFI
Suspend mode   = s2idle shallow [deep]

+++ TLP Status
State          = enabled
RDW state      = enabled
Last run       = 06:04:06 PM, 1001 sec(s) ago
Mode           = battery
Power source   = battery

+++ Battery Care
Plugin: chromeos-ec
Supported features: charge thresholds, recalibration
Driver usage:
* natacpi (cros_charge_control) = active (charge thresholds, recalibration)
Parameter value ranges:
* START_CHARGE_THRESH_BAT0/1:  0(off)..99
* STOP_CHARGE_THRESH_BAT0/1:   1..100(default)

+++ Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = Sunwoda
/sys/class/power_supply/BAT0/model_name                     = L19D4PG
/sys/class/power_supply/BAT0/cycle_count                    =    105
/sys/class/power_supply/BAT0/charge_full_design             =   6650 [mAh]
/sys/class/power_supply/BAT0/charge_full                    =   5930 [mAh]
/sys/class/power_supply/BAT0/charge_now                     =   5283 [mAh]
/sys/class/power_supply/BAT0/current_now                    =    879 [mA]
/sys/class/power_supply/BAT0/status                         = Discharging

/sys/class/power_supply/BAT0/voltage_min_design             =   7680 [mV]
/sys/class/power_supply/BAT0/voltage_now                    =   8244 [mV]

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

Charge                                                      =   89.1 [%]
Capacity                                                    =   89.2 [%]

Ich habe folgendes Verhalten bemerkt: watch sudo tlp-stat -b ausgeführt:
  • Akku war bei ca. 88 Prozent -> Netzteil angeschlossen
  • für 10 Sekunden stand "Charging" da, dann wechselte es trotz Netzteil zu "Discharging"
  • Netzteil erneut angeschlossen -> gleiches Spiel
  • Akku ohne Netzteil auf 84 Prozent sinken lassen -> Netzteil angeschlossen
  • "Charging" bis 88,6 Prozent -> Wechsel zu "Discharging" trotz Netzteil
  • hab es mit Netzteil bis 83 Prozent laufen lassen zu schauen, ob es nochmal wechselt -> nicht passiert
  • Netzteil ab und nochmal neu dran: gleiches Spiel, also "Charging" bis 88,6 Prozent -> Wechsel zu "Discharging" trotz Netzteil
Beim Akku-Tooltip stand bei angeschlossenem Netzteil wieder die Meldung The power supply is not powerful enough to charge the battery.

Habe das Original-Netzteil (65W) verwendet (beide Ladeanschlüsse ausprobiert).

Edit:

Mir ist aufgefallen, dass ich das Live-System die ganze Zeit ohne iommu=pt gestartet habe. Weiß nicht, ob das einen Unterschied macht? Dass das System mit dem Parameter gestartet werden soll steht dort:

Edit 2:

Die Ladeschwellen bleiben erhalten, was ich an den folgenden Beobachtungen gemerkt habe:
  • Im ausgeschalteten Zustand das Netzteil angeschlossen und ne Weile laden lassen -> nach dem Start meines regulären Debian-Systems war der Akku nur zu 88,x Prozent aufgeladen.
  • Ebenso ist das oben beschriebene Lade-Verhalten (laden bis 88,6 Prozent, danach "Discharging") nun auch in meinem regulären Debian-System zu beobachten.
Ich starte dann mal das Live-System um die Ladeschwellen (hoffentlich) wieder zu entfernen.

Edit 3: Waren durch die Neu-Installation von tlp auf dem Live-System wieder weg und der Akku ist nun wieder bei 100 Prozent angekommen.

Der Akku hat übrigens einen leichten Knacks: Springt von 93/94 Prozent direkt auf 100 Prozent. Keine Ahnung, ob das auch eine Rolle spielen kann bei dem Verhalten.
 
Zuletzt bearbeitet:
Das Verhalten deines EC erscheint auf den ersten Blick ziemlich verrückt.

Aber schauen wir mal genauer rein in deine Beobachtungen:

1. tlp discharge
Der Wert blieb konstant auf 5930 [mAh].
könnte zusammenhängen mit
Der Akku hat übrigens einen leichten Knacks: Springt von 93/94 Prozent direkt auf 100 Prozent. Keine Ahnung, ob das auch eine Rolle spielen kann bei dem Verhalten.
Wenn er beim Laden springt, könnte das auch beim Entladen passieren.

Kannst Du mal länger laufen lassen bis sich doch etwas tut?

2. Ladeschwellen
Ich habe folgendes Verhalten bemerkt: watch sudo tlp-stat -b ausgeführt:
  • Akku war bei ca. 88 Prozent -> Netzteil angeschlossen
  • für 10 Sekunden stand "Charging" da, dann wechselte es trotz Netzteil zu "Discharging"
Vielleicht meint "discharging" einfach nur "not charging", denn zwischen 85 und 90% soll er ja nicht laden.
  • Netzteil erneut angeschlossen -> gleiches Spiel
  • Akku ohne Netzteil auf 84 Prozent sinken lassen -> Netzteil angeschlossen
Nun darf er laden ...
  • "Charging" bis 88,6 Prozent -> Wechsel zu "Discharging" trotz Netzteil
Passt zur Hypothese "discharging" = "not charging".
  • hab es mit Netzteil bis 83 Prozent laufen lassen zu schauen, ob es nochmal wechselt -> nicht passiert
Heißt das, dass es bei "discharging" tatsächlich entlädt? Ist ein Entladestrom zu sehen in /sys/class/power_supply/BAT0/current_now ?
  • Netzteil ab und nochmal neu dran: gleiches Spiel, also "Charging" bis 88,6 Prozent -> Wechsel zu "Discharging" trotz Netzteil
Falls er wirklich anfängt zu entladen, sobald Ladeschwellen gesetzt sind und das Laden stoppen müsste, würde ich bei der Einschätzung "EC Firmware spielt verrückt" bleiben. Am Akku kann das eigentlich nicht liegen.

Normalisiert sich denn das Lade-/Entladeverhalten, sobald Du die Schwellen rausnimmst (tlp fullcharge) ?

Beim Akku-Tooltip stand bei angeschlossenem Netzteil wieder die Meldung The power supply is not powerful enough to charge the battery.Habe das Original-Netzteil (65W) verwendet (beide Ladeanschlüsse ausprobiert).
Die Meldung finde ich das krasseste Symptom. Verschwindet sie ohne Ladeschwellen, also nach einem tlp fullcharge?

Mir ist aufgefallen, dass ich das Live-System die ganze Zeit ohne iommu=pt gestartet habe. Weiß nicht, ob das einen Unterschied macht? Dass das System mit dem Parameter gestartet werden soll steht dort:
Vielleicht wäre es einfacher, wenn Du mit dem installierten Debian Sid weitertestest. Ich stelle heute nachmittag mal Pakete online.

Die Ladeschwellen bleiben erhalten, was ich an den folgenden Beobachtungen gemerkt habe:
  • Im ausgeschalteten Zustand das Netzteil angeschlossen und ne Weile laden lassen -> nach dem Start meines regulären Debian-Systems war der Akku nur zu 88,x Prozent aufgeladen.
Ich starte dann mal das Live-System um die Ladeschwellen (hoffentlich) wieder zu entfernen.

Edit 3: Waren durch die Neu-Installation von tlp auf dem Live-System wieder weg und der Akku ist nun wieder bei 100 Prozent angekommen.
Ob Du TLP installierst oder deinstallierst ändert definitiv nichts an den Schwellen.

Schwellen zurücksetzen macht die EC Firmware. Der Kernelentwickler schrieb mir dazu (er testet auf Framework Hardware):
  1. Nach Resume (s2idle) - der Wert bleibt erhalten
  2. Systemstart nach Poweroff/Hibernate - der Wert wird verworfen
Ich leite daraus ab, dass die Schwellen beim Einschalten gelöscht werden und neu gesetzt werden müssen, was TLP auch tut. Nach dem Ausschalten bleiben sie erstmal aktiv. Aber das hier würde nur passen, wenn Du einen Warmstart vom Livesystem nach Debian gemacht hast:
  • Ebenso ist das oben beschriebene Lade-Verhalten (laden bis 88,6 Prozent, danach "Discharging") nun auch in meinem regulären Debian-System zu beobachten.
Ein Kaltstart sollte die Schwellen löschen.

Die Details sind aber letztlich hier egal. Kann auch sein, dass Framework anders tickt. TLP setzt die Schwellen wo nötig und gut.

Das obige verrückte Verhalten ist das Problem. Falls das nicht nur bei deinem Exemplar auftritt, macht es keinen Sinn das Plugin zu veröffentlichen.

Danke für deine Mühe beim Testen bisher! (y)
 
Zuletzt bearbeitet:
Vielleicht wäre es einfacher, wenn Du mit dem installierten Debian Sid weitertestest. Ich stelle heute nachmittag mal Pakete online.
Ist aktuell noch kein Debian Unstable (deshalb das Arch-Live-Image), aber ich wollte die Kiste eh mal neu aufsetzen und nutze das als Gelegenheit. Dann warte ich mal auf die Debian-Pakete :-)
 
Kannst Du mal länger laufen lassen bis sich doch etwas tut?
Nochmal bei 100 Prozent versucht -> keine Änderung zum bisherigen Verhalten.

Bei 85 Prozent gestartet -> hat geklappt. Habs so lange laufen lassen bis er auf 83 Prozent war.

Heißt das, dass es bei "discharging" tatsächlich entlädt? Ist ein Entladestrom zu sehen in /sys/class/power_supply/BAT0/current_now ?
Ladeschwellen diesmal 75/80. Bei 77 Prozent Netzteil dran. Nebenbei zweite Konsole mit watch grep . /sys/class/power_supply/BAT0/current_now geöffnet.

Bis 79,x Prozent "Charging" und der Wert von current_now lag bei 2.800.000. Dann Wechsel zu "Discharging" und der Wert schwankte zwischen 800.000 und 1.300.000 (die ganzen Zahlen natürlich ohne . dazwischen – nur zur besseren Lesbarkeit).

Ging dann unter die 75 Prozent, weiterhin "Discharging" mit gleichbleibenden Werteschwankungen. Netzteil ab und wieder dran: wieder current_now von 2.800.000 bis kurz vor 80 Prozent, dann gings wieder runter unterhalb von 75 Prozent mit den Werteschwankungen zwischen 800.000 und 1.300.000.

Bei Standby und Hibernation scheint er sich an die Ladeschwellen zu halten. Also weder laden noch entladen, wenn er z. B. bei 77 Prozent ist und ich das Netzteil anschließe (egal ob mit dem Netzteil in Standby/Hibernate gegangen wird oder erst danach eingesteckt).

Nach dem Ausschalten bleiben sie erstmal aktiv.
Jap, hat nicht weiter als 76 Prozent geladen, trotz halber Stunde am Netzteil.

Allein diese Funktion (also Ladestop im ausgeschalteten Zustand) würde mir bereits reichen, da das Gerät in der Regel bei meinem aktuellen Nutzungsprofil ein bis zwei Tage durchhält und dann immer erst irgendwann abends geladen wird.

Ein Kaltstart sollte die Schwellen löschen.
Waren gelöscht, also 0/100.

Aber das hier würde nur passen, wenn Du einen Warmstart vom Livesystem nach Debian gemacht hast:
Weiß ich gerade nicht mehr, ob es direkt ein Warmstart vom Arch-Live-System zu Debian war. Jedenfalls unter dem neuen Debian Unstable-System sind sie nach einem Warmstart wieder auf 0/100 gesetzt.

Ergänzend: Nach Suspend und Hibernate waren sie jeweils noch gesetzt.

Die Meldung finde ich das krasseste Symptom. Verschwindet sie ohne Ladeschwellen, also nach einem tlp fullcharge?
Ja. Sie kommt nur bei sudo tlp discharge und wenn bei der Nutzung von Ladeschwellen er von "Charging" zu "Discharging" wechselt, wie oben beschrieben.


Hoffe, ich bin auf alles eingegangen, was wichtig war?

Falls es eine Rolle spielt: Das Arch-Live-System hatte den 6.11.3er-Kernel, das Debian Unstable hat gerade den 6.11.2er-Kernel.

Der Discord-Channel ist leider nicht mehr zugänglich, aber vielleicht finden sich in dem dortigen Forum noch weitere Leute für Tests?
 
Zuletzt bearbeitet:
Ich bekam die Info, dass das verrückte Verhalten "works as designed" ist. Der EC pendelt tatsächlich bei angeschlossenem Netzteil zwischen Stop und Start Schwelle. Der das entworfen hat, wusste nicht was er tut :rolleyes:.

Fazit: die Start-Schwelle darf nicht benutzt werden, Du setzt Sie auf Null, auch in der Config - START_CHARGE_THRESH_BAT0=0

Damit wird dein Test einfacher: Du prüfst nur, ob die Stop-Schwelle zieht und ob die The power supply is not powerful enough to charge the battery Meldung weg ist.

Nochmal bei 100 Prozent versucht -> keine Änderung zum bisherigen Verhalten.
Bei 85 Prozent gestartet -> hat geklappt. Habs so lange laufen lassen bis er auf 83 Prozent war.
Bei 100% einfach noch viel länger warten? Wie lange müsste es denn dauern um von 100% auf 85% zu kommen? Dividier mal die Kapazität (mAh) durch den angezeigtem Strom (mA).

Der Discord-Channel ist leider nicht mehr zugänglich, aber vielleicht finden sich in dem dortigen Forum noch weitere Leute für Tests?
Ich warte jetzt erstmal bis der Kernelentwickler aus dem Urlaub kommt (in 3 Wochen). Dann testet er die Entladefunktion.

Bevor ich weitere Tester involviere, wird noch im Plugin die Start Schwelle deaktiviert und auf Null fixiert.
 
Damit wird dein Test einfacher: Du prüfst nur, ob die Stop-Schwelle zieht und ob die The power supply is not powerful enough to charge the batteryMeldung weg ist.
Test mit 0/85. Lädt bis kurz vor 85 Prozent, dann wieder "Discharging" und die Meldung zum Netzteil bleibt gleich. Hab es jetzt bis 80 Prozent laufen lassen.

Dividier mal die Kapazität (mAh) durch den angezeigtem Strom (mA).
5920 durch 780 macht (gerundet) 7,59.

Bei 100% einfach noch viel länger warten? Wie lange müsste es denn dauern um von 100% auf 85% zu kommen?
Nach über einer Viertelstunde ist er direkt von 100 auf 93 Prozent gesprungen. Liegt wohl an meinem Akku und vermutlich defekten Zellen.

Danke für deine Mühe beim Testen bisher! (y)
Danke auch dir für die Entwicklung :-)
 
Das wird ja immer unterhaltsamer :rolleyes:. Also wie bekommen wir jetzt die Startschwelle deaktiviert? Arbeitshypothesen:
  1. charge_control_start_threshold gar nicht schreiben
  2. charge_control_start_threshold = charge_control_end_threshold setzen
Beides geht mit dem derzeitigen Plugin nicht und ich möchte den Code erst anpassen, wenn wir wissen wie es funktioniert. Also Testen im Handbetrieb.

Bitte zuerst die Schwellen-Werte in der TLP-Konfiguration vollständig auskommentieren. Danach Warmstart (löscht die Schwellen).

Dann fangen wir mal mit Fall 1 an:
Bash:
echo "90" | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold
Setz vielleicht einen knapp über dem momentanen Ladestand liegenden Schwellwert ein, dann geht der Test schneller :).

Falls der EC weiter auf Pendeln beharrt, folgt Fall 2:
Bash:
echo "90" | sudo tee /sys/class/power_supply/BAT0/charge_control_end_threshold
echo "90" | sudo tee /sys/class/power_supply/BAT0/charge_control_start_threshold

5920 durch 780 macht (gerundet) 7,59.
7,59 Stunden für 100% Entladung macht 1,14 Stunden für die ersten 15%. Passt in der Realität nicht ganz:
Nach über einer Viertelstunde ist er direkt von 100 auf 93 Prozent gesprungen. Liegt wohl an meinem Akku und vermutlich defekten Zellen.
Ich würde sagen, tlp discharge funktioniert soweit.

Eine vollständige Entladung, samt Prüfung, ob TLP das Entladen rechtzeitig beendet, bevor sich das Chromebook abschaltet, würde mich natürlich sehr interessieren - möchte ich dir in Anbetracht des angeknacksten Akkus jedoch ersparen.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben