Chromebook C13 Yoga Gen 1 Chromebook – Tipps & Erfahrungen

iks230

Well-known member
Themenstarter
Registriert
8 Dez. 2021
Beiträge
695
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:
Dann fangen wir mal mit Fall 1 an:
Es blieb beim Pendeln.

Falls der EC weiter auf Pendeln beharrt, folgt Fall 2:
War nicht möglich, da dann die Ausgabe kam "Das Argument ist ungültig." 90/90 konnte so also nicht gesetzt werden. 89/90 war möglich, aber führte wieder zur Pendelei.

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.
Wäre dann fast wie eine Rekalibrierung, oder? Würde dem Akku vielleicht gut tun :D
 
@iks230 Der Kernelentwickler hat mir zwischenzeitlich bestätigt, dass der Entladevorgang nach dem Erreichen der Stop-Schwelle "works as designed" ist. Es gibt drei verschiedene Versionen der EC API
  • v1: kann keine Ladeschwellen (nur force-discharge)
  • v2: kann start und stop, zeigt aber das unerwünschte Entladeverladeverhalten sofern start < stop -- diese Version hat das hier behandelte Chromebook und alle Framework-Laptops
  • v3: implementiert start und stop korrekt -- nur in sehr neuen Chromebooks verwendet
Kernelpatches sind unterwegs und werden in 6.12.8 sowie 6.13 auftauchen. Abhängig von der EC API Version passiert nun folgendes:
  • v1: wird von TLP nicht unterstützt.
  • v2: es gibt nur noch die Stop-Schwelle (charge_control_end_threshold). Die Start-Schwelle wird Kernel-intern auf denselben Wert wie stop gesetzt um das unerwünschte Entladen zu unterbinden.
  • v3 es gibt beide Schwellen (charge_control_start_threshold, charge_control_end_threshold).
 
@iks230 Zwischenzeitlich ist der Kernel 6.12.8 in Debian Sid (unstable) verfügbar, es kann also weitergehen.
Pakete finden sich wie gehabt hier: https://download.linrunner.de/packages/

Zeig bitte zuerst:
Bash:
sudo tlp-stat -s -b -v
Falls dort das cros-ec plugin angezeigt wird
+++ Battery Care
Plugin: cros-ec
Supported features: charge threshold, recalibration
Driver usage:
* natacpi (cros_charge-control) = active (charge threshold, recalibration) - EC cmd v2
Parameter value ranges:
* STOP_CHARGE_THRESH_BAT0/1: 1..100(default)
kann es weitergehen.

Teste dann bitte das manuelle Setzen der Schwellen manuell mit tlp setcharge und das Ladeverhalten. Wenn das geklappt hat, habe ich noch eine automatisierten Test.
 
Danke für das Update :) Bin leider erst jetzt dazu gekommen.

Zuerst die Ausgabe von
Code:
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     = Debian GNU/Linux trixie/sid
Kernel         = 6.12.9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.9-1 (2025-01-10) x86_64
/proc/cmdline  = BOOT_IMAGE=/boot/vmlinuz-6.12.9-amd64 root=UUID=9dfd8861-6ef2-4856-a0fb-e28649e778a5 ro quiet
Init system    = systemd
Boot mode      = UEFI
Suspend mode   = s2idle shallow [deep]

+++ TLP Status
State          = enabled
RDW state      = enabled
Last run       = 21:08:40, 100 sec(s) ago
Mode           = AC
Power source   = AC

+++ Battery Care
Plugin: cros-ec
Supported features: charge threshold, recalibration
Driver usage:
* natacpi (cros_charge-control) = active (charge threshold, recalibration) - EC cmd v2
Parameter value ranges:
* 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                    =    110
/sys/class/power_supply/BAT0/charge_full_design             =   6650 [mAh]
/sys/class/power_supply/BAT0/charge_full                    =   5922 [mAh]
/sys/class/power_supply/BAT0/charge_now                     =   5922 [mAh]
/sys/class/power_supply/BAT0/current_now                    =      0 [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                    =   8611 [mV]

/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.1 [%]
Ladeschwellen habe ich dann auf 85/90 gesetzt, aber wie erwartet wurde nur die 90 übernommen.

Hab auf 85 Prozent entladen lassen und dann das Netzteil angeschlossen mit dem Ergebnis, dass er bei 88,6 % gestoppt hat und dort auch geblieben ist, also nicht wieder angefangen hat zu entladen trotz Netzteil:
Code:
--- TLP 1.8.0-alpha.0 --------------------------------------------

+++ Battery Care
Plugin: cros-ec
Supported features: charge threshold, recalibration
Driver usage:
* natacpi (cros_charge-control) = active (charge threshold, recalibration) - EC cmd v2
Parameter value ranges:
* 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                    =    110
/sys/class/power_supply/BAT0/charge_full_design             =   6650 [mAh]
/sys/class/power_supply/BAT0/charge_full                    =   5942 [mAh]
/sys/class/power_supply/BAT0/charge_now                     =   5265 [mAh]
/sys/class/power_supply/BAT0/current_now                    =      0 [mA]
/sys/class/power_supply/BAT0/status                         = Charging

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

Charge                                                      =   88.6 [%]
Capacity                                                    =   89.4 [%]
Zumindest die obere Ladeschwelle scheint zu funktionieren :)

Bzgl. der 88,6 Prozent: bei dem Wert hatte in der Vergangenheit die Pendelei nach unten wieder angefangen:
"Charging" bis 88,6 Prozent -> Wechsel zu "Discharging" trotz Netzteil
 
Zuletzt bearbeitet:
@iks230: das sieht einwandfrei aus. Warum das Laden bei 88.6% statt bei 90% endet, fällt wohl unter das Rundungsgeheimnis der EC-Firmware :).

Nun zum automatisierten Test:

1. Ggf. git und clitest (aus Debian Repos) installieren.
2. Main Branch clonen:
Bash:
git clone https://github.com/linrunner/TLP.git
Ins unit-tests Verzeichnis wechseln:
Bash:
cd TLP/unit-tests
Am Netzteil: Testskript ausführen und komplette Ausgabe posten:
Bash:
sudo ./test-bc_cros-ec-v2.sh
 
Zuletzt bearbeitet:
Ist der Test mit oder ohne Netzteil gedacht?

Beim ersten Versuch ohne Netzteil:
Code:
user@debian:~/TLP/unit-tests$ sudo ./test-bc_cros-ec-v2.sh
        # bata=BAT0 batb=BAT2 xinc=
#1    # +++ ChromeOS EC (cmd v2) laptops +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#2    #
#3    # --- tlp start
#4    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata} STOP_CHARGE_THRESH_${bata} START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[FAILED #4, line 16] sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata} STOP_CHARGE_THRESH_${bata} START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
@@ -1 +1 @@
-TLP started in AC mode (auto).
+TLP started in battery mode (auto).
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#5    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="60" STOP_CHARGE_THRESH_${bata}="100" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[FAILED #5, line 18] sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="60" STOP_CHARGE_THRESH_${bata}="100" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
@@ -1 +1 @@
-TLP started in AC mode (auto).
+TLP started in battery mode (auto).
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#6    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="0" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}= 2>&1 | sed -r "s/${bata}/BATA/"
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[FAILED #6, line 20] sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="0" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}= 2>&1 | sed -r "s/${bata}/BATA/"
@@ -1,2 +1,2 @@
 Error in configuration at STOP_CHARGE_THRESH_BATA="0": not specified, invalid or out of range (1..100). Battery skipped.
-TLP started in AC mode (auto).
+TLP started in battery mode (auto).
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#7    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="0" STOP_CHARGE_THRESH_${bata}="101" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}= 2>&1 | sed -r "s/${bata}/BATA/"
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[FAILED #7, line 23] sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="0" STOP_CHARGE_THRESH_${bata}="101" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}= 2>&1 | sed -r "s/${bata}/BATA/"
@@ -1,2 +1,2 @@
 Error in configuration at STOP_CHARGE_THRESH_BATA="101": not specified, invalid or out of range (1..100). Battery skipped.
-TLP started in AC mode (auto).
+TLP started in battery mode (auto).
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#8    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="86" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[FAILED #8, line 26] sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="86" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
@@ -1 +1 @@
-TLP started in AC mode (auto).
+TLP started in battery mode (auto).
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#9    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="DEF" STOP_CHARGE_THRESH_${bata}="DEF" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[FAILED #9, line 28] sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="DEF" STOP_CHARGE_THRESH_${bata}="DEF" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
@@ -1 +1 @@
-TLP started in AC mode (auto).
+TLP started in battery mode (auto).
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#10    sudo tlp start -- ${xinc} NATACPI_ENABLE=0 START_CHARGE_THRESH_${bata}="DEF" STOP_CHARGE_THRESH_${bata}="DEF"
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[FAILED #10, line 30] sudo tlp start -- ${xinc} NATACPI_ENABLE=0 START_CHARGE_THRESH_${bata}="DEF" STOP_CHARGE_THRESH_${bata}="DEF"
@@ -1 +1 @@
-TLP started in AC mode (auto).
+TLP started in battery mode (auto).
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#11    #
#12    # --- tlp setcharge w/o arguments
#13    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="60" STOP_CHARGE_THRESH_${bata}="100" 2>&1 | sed -r "s/${bata}/BATA/"
#14    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="0" 2>&1 | sed -r "s/${bata}/BATA/"
#15    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="0" STOP_CHARGE_THRESH_${bata}="101" 2>&1| sed -r "s/${bata}/BATA/"
#16    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="ABCDE" STOP_CHARGE_THRESH_${bata}="XYZZY" 2>&1 | sed -r "s/${bata}/BATA/"
#17    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="100" 2>&1 | sed -r "s/${bata}/BATA/"
#18    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="86" 2>&1 | sed -r "s/${bata}/BATA/"
#19    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="80" 2>&1 | sed -r "s/${bata}/BATA/"
#20    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="80" 2>&1 | sed -r "s/${bata}/BATA/"
#21    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="DEF" STOP_CHARGE_THRESH_${bata}="DEF" 2>&1 | sed -r "s/${bata}/BATA/"
#22    sudo tlp setcharge -- ${xinc} NATACPI_ENABLE=0 START_CHARGE_THRESH_${bata}="DEF" STOP_CHARGE_THRESH_${bata}="DEF" 2>&1 | sed -r "s/${bata}/BATA/"
#23    #
#24    # --- tlp setcharge w/ arguments
#25    sudo tlp setcharge 60 100 ${bata} -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#26    sudo tlp setcharge 0 0 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#27    sudo tlp setcharge 0 101 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#28    sudo tlp setcharge ABCDE 0 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#29    sudo tlp setcharge 0 XYZZY -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#30    sudo tlp setcharge 97 100 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#31    sudo tlp setcharge 0 66 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#32    sudo tlp setcharge 0 60 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#33    sudo tlp setcharge 0 60 -- ${xinc} X_THRESH_SIMULATE_STOP="100" 2>&1 | sed -r "s/${bata}/BATA/"
#34    sudo tlp setcharge 0 60 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#35    sudo tlp setcharge DEF DEF -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#36    sudo tlp setcharge ${batb} -- ${xinc} 2>&1 | sed -r "s/${batb}/BATB/"
#37    sudo tlp setcharge 0 3 ${batb} -- ${xinc} 2>&1 | sed -r "s/${batb}/BATB/"
#38    sudo tlp setcharge XYZZY ABCDE ${batb} -- ${xinc} 2>&1 | sed -r "s/${batb}/BATB/"
#39    #
#40    # --- tlp-stat
#41    sudo tlp-stat -b -- ${xinc} | grep "${bata}/charge_control_end_threshold" | sed -r "s/${bata}/BATA/"
#42    sudo tlp-stat -b -- ${xinc} X_THRESH_SIMULATE_READERR=1 | grep "${bata}/charge_control_end_threshold" | sed -r "s/${bata}/BATA/"
#43    #
#44    # --- Reset test machine to configured thresholds
#45    sudo tlp setcharge ${bata} -- ${xinc} > /dev/null 2>&1
#46    #

FAIL: 7 of 46 tests failed

+++ Test Summary ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
charge-thresholds_cros-ec-v2                       --> FAIL: 7 of 46 tests failed

Und dann mit Netzteil:
Code:
user@debian:~/TLP/unit-tests$ sudo ./test-bc_cros-ec-v2.sh
        # bata=BAT0 batb=BAT2 xinc=
#1    # +++ ChromeOS EC (cmd v2) laptops +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#2    #
#3    # --- tlp start
#4    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata} STOP_CHARGE_THRESH_${bata} START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
#5    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="60" STOP_CHARGE_THRESH_${bata}="100" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
#6    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="0" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}= 2>&1 | sed -r "s/${bata}/BATA/"
#7    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="0" STOP_CHARGE_THRESH_${bata}="101" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}= 2>&1 | sed -r "s/${bata}/BATA/"
#8    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="86" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
#9    sudo tlp start -- ${xinc} START_CHARGE_THRESH_${bata}="DEF" STOP_CHARGE_THRESH_${bata}="DEF" START_CHARGE_THRESH_${batb}= STOP_CHARGE_THRESH_${batb}=
#10    sudo tlp start -- ${xinc} NATACPI_ENABLE=0 START_CHARGE_THRESH_${bata}="DEF" STOP_CHARGE_THRESH_${bata}="DEF"
#11    #
#12    # --- tlp setcharge w/o arguments
#13    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="60" STOP_CHARGE_THRESH_${bata}="100" 2>&1 | sed -r "s/${bata}/BATA/"
#14    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="0" 2>&1 | sed -r "s/${bata}/BATA/"
#15    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="0" STOP_CHARGE_THRESH_${bata}="101" 2>&1| sed -r "s/${bata}/BATA/"
#16    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="ABCDE" STOP_CHARGE_THRESH_${bata}="XYZZY" 2>&1 | sed -r "s/${bata}/BATA/"
#17    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="100" 2>&1 | sed -r "s/${bata}/BATA/"
#18    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="86" 2>&1 | sed -r "s/${bata}/BATA/"
#19    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="80" 2>&1 | sed -r "s/${bata}/BATA/"
#20    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="na" STOP_CHARGE_THRESH_${bata}="80" 2>&1 | sed -r "s/${bata}/BATA/"
#21    sudo tlp setcharge -- ${xinc} START_CHARGE_THRESH_${bata}="DEF" STOP_CHARGE_THRESH_${bata}="DEF" 2>&1 | sed -r "s/${bata}/BATA/"
#22    sudo tlp setcharge -- ${xinc} NATACPI_ENABLE=0 START_CHARGE_THRESH_${bata}="DEF" STOP_CHARGE_THRESH_${bata}="DEF" 2>&1 | sed -r "s/${bata}/BATA/"
#23    #
#24    # --- tlp setcharge w/ arguments
#25    sudo tlp setcharge 60 100 ${bata} -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#26    sudo tlp setcharge 0 0 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#27    sudo tlp setcharge 0 101 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#28    sudo tlp setcharge ABCDE 0 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#29    sudo tlp setcharge 0 XYZZY -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#30    sudo tlp setcharge 97 100 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#31    sudo tlp setcharge 0 66 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#32    sudo tlp setcharge 0 60 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#33    sudo tlp setcharge 0 60 -- ${xinc} X_THRESH_SIMULATE_STOP="100" 2>&1 | sed -r "s/${bata}/BATA/"
#34    sudo tlp setcharge 0 60 -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#35    sudo tlp setcharge DEF DEF -- ${xinc} 2>&1 | sed -r "s/${bata}/BATA/"
#36    sudo tlp setcharge ${batb} -- ${xinc} 2>&1 | sed -r "s/${batb}/BATB/"
#37    sudo tlp setcharge 0 3 ${batb} -- ${xinc} 2>&1 | sed -r "s/${batb}/BATB/"
#38    sudo tlp setcharge XYZZY ABCDE ${batb} -- ${xinc} 2>&1 | sed -r "s/${batb}/BATB/"
#39    #
#40    # --- tlp-stat
#41    sudo tlp-stat -b -- ${xinc} | grep "${bata}/charge_control_end_threshold" | sed -r "s/${bata}/BATA/"
#42    sudo tlp-stat -b -- ${xinc} X_THRESH_SIMULATE_READERR=1 | grep "${bata}/charge_control_end_threshold" | sed -r "s/${bata}/BATA/"
#43    #
#44    # --- Reset test machine to configured thresholds
#45    sudo tlp setcharge ${bata} -- ${xinc} > /dev/null 2>&1
#46    #
OK: 46 of 46 tests passed

+++ Test Summary ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
charge-thresholds_cros-ec-v2                       --> OK: 46 of 46 tests passed
 
Perfekt. Am Netzteil war gedacht. Damit sind wir durch!

Herzlichen Dank für deine hervorragende Unterstützung beim Testen :) .

Beigetragen hat auch, dass der Kernelentwickler auf meinen Hinweis ruckzuck eine Lösung eingebaut hat.
 
Zuletzt bearbeitet:
Wird sich also auch mit dem 6.13er-Kernel nichts mehr ändern?
Es ist die ChromeOS EC Firmware v2, die das Pendeln verursacht. Da kann der Kernel nichts dran ändern. Es wird jetzt nur verhindert, dass man start != stop setzen kann. Ich denke nicht, dass Lenovo ein Update auf EC Firmware v3 bereitstellt, die die Schwellen wie wir es erwarten würden implementiert. Framework hat auch bei aktuellen Geräten noch v2.

Das hier sind die Änderungen von v2 nach v3: https://source.chromium.org/chromiu...de7e85d14fb449d2fae04400ae54f7915b86640;bpv=0

Dort ist der Grund für das seltsame Design bei v2 erwähnt:
Some boards have a sing capacitor problem with mode == IDLE. For such
boards, a host can specify EC_CHARGE_CONTROL_FLAG_NO_IDLE, which
makes the sustainer use DISCHARGE instead of IDLE. This is done by
setting lower != upper in V2, which doesn't support the flag.
In v3 kann der OEM, wenn sein Board das Problem der "singenden Kondensatoren" :ROFLMAO: hat, wählen, dass es deswegen Pendeln, statt den Ladestand halten soll. In v2 wird stets gependelt.
 
Ah okay, dann hatte ich da was verwechselt / falsch verstanden. Danke für die Aufklärung und auch Danke für deine Arbeit!
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben