maniacx / Battery-Health-Charging

GNU General Public License v3.0
157 stars 14 forks source link

Another Samsung laptops #94

Closed albersonmiranda closed 3 weeks ago

albersonmiranda commented 4 weeks ago

Extension isn't compatible with my Samsung X30 (2020):

# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
    Manufacturer: SAMSUNG ELECTRONICS CO., LTD.
    Product Name: 550XCJ/550XCR
    Version: P14RFH
    Family: Notebook 5 Series

Nonetheless, I do have /sys/class/power_supply/BAT1/capacity currently set to 85 (legacy from previous Windows installation). Also sys/class/power_supply/BAT1/uevent with all settings:

POWER_SUPPLY_NAME=BAT1
POWER_SUPPLY_TYPE=Battery
POWER_SUPPLY_STATUS=Charging
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=45
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11400000
POWER_SUPPLY_VOLTAGE_NOW=12230000
POWER_SUPPLY_CURRENT_NOW=0
POWER_SUPPLY_CHARGE_FULL_DESIGN=3780000
POWER_SUPPLY_CHARGE_FULL=3500000
POWER_SUPPLY_CHARGE_NOW=2975000
POWER_SUPPLY_CAPACITY=85
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_MODEL_NAME=SR Real Battery
POWER_SUPPLY_MANUFACTURER=SAMSUNG Electronics
POWER_SUPPLY_SERIAL_NUMBER=123456789

I can't change it back to 100 to test it but it seems to be a way.

maniacx commented 4 weeks ago

If you laptop X30 notebook has the feature to change charging threshold, then most likely you can linux kernel will support it and so will this extension. The charging threshold is not a software feature but is a hardware feature that manufcaturer provide on a BIOS level, so the charging threshold are applied even when the laptop is powered OFF. So here are some question.

  1. Does you laptop, have the feature to turn on/off "Battery life extender" in Windows or in BIOS. Are you able to use this feature? If no, then most likely you wont find support in Linux as well
  2. If yes, than most likely samsungs WMI for linux kernel will detect it (unless the way to read Embeeded controller is different) If linux kernel has detected your model is compatible, these path will be exposed in sysfs. you can check by using ls command in terminal
ls /sys/devices/platform/samsung/

You should see battery_life_extender sysfs path in this output.

If the path is present you can enable charging threshold by writing 1 to it or disable charging threshold by writing 0

echo '1' | sudo tee /sys/devices/platform/samsung/battery_life_extender

If this works, then the extension is compatible with your model.

Post your output for ls /sys/devices/platform/samsung/ and you kernel version and your linux distribution your are using (ex Fedora 39, Ubuntu 22.04)

albersonmiranda commented 3 weeks ago

@maniacx yep, I used to let it turned on in my previous installation (Windows) via Samsung settings. Then I made a Ubuntu fresh install (no dual boot) and now I can't turn it back to 100%.

Unfortunately, /sys/devices/platform/samsung/ doesn't exists: ls: não foi possível acessar '/sys/devices/platform/samsung/': Arquivo ou diretório inexistente (pt-BR 🇧🇷)

I'm on OS: Ubuntu 22.04.4 LTS x86_64 Host: 550XCJ/550XCR P14RFH Kernel: 6.5.0-35-generic DE: GNOME 42.9 WM: Mutter

maniacx commented 3 weeks ago

copy paste these command in terminal and post the output.

echo '--- sys_vendor ---'
cat /sys/devices/virtual/dmi/id/sys_vendor

echo '--- board_name ---'
cat /sys/devices/virtual/dmi/id/board_name

echo '--- chassis_type ---'
cat /sys/devices/virtual/dmi/id/chassis_type

echo '--- product_name ---'
cat /sys/devices/virtual/dmi/id/product_name

echo '--- ls-bat ---'
ls -l /sys/class/power_supply/BAT1/

echo '--- ls-platform ---'
ls -l /sys/devices/platform/

echo '--- ls-platform ---'
ls -l /sys/devices/platform/

echo '--- ls-module ---'
ls -l /sys/module/
albersonmiranda commented 3 weeks ago
--- sys_vendor ---
SAMSUNG ELECTRONICS CO., LTD.
--- board_name ---
NP550XCJ-XS1BR
--- chassis_type ---
10
--- product_name ---
550XCJ/550XCR
--- ls-bat ---
total 0
-rw-r--r-- 1 root root 4096 jun  1 16:36 alarm
-r--r--r-- 1 root root 4096 jun  1 08:52 capacity
-r--r--r-- 1 root root 4096 jun  1 16:36 capacity_level
-r--r--r-- 1 root root 4096 jun  1 15:19 charge_full
-r--r--r-- 1 root root 4096 jun  1 16:36 charge_full_design
-r--r--r-- 1 root root 4096 jun  1 15:19 charge_now
-r--r--r-- 1 root root 4096 jun  1 15:19 current_now
-r--r--r-- 1 root root 4096 jun  1 08:52 cycle_count
lrwxrwxrwx 1 root root    0 jun  1 16:36 device -> ../../../PNP0C0A:00
drwxr-xr-x 3 root root    0 jun  1 08:52 hwmon2
-r--r--r-- 1 root root 4096 jun  1 16:36 manufacturer
-r--r--r-- 1 root root 4096 jun  1 16:36 model_name
drwxr-xr-x 2 root root    0 jun  1 16:36 power
-r--r--r-- 1 root root 4096 jun  1 15:19 present
-r--r--r-- 1 root root 4096 jun  1 16:36 serial_number
-r--r--r-- 1 root root 4096 jun  1 15:19 status
lrwxrwxrwx 1 root root    0 jun  1 14:34 subsystem -> ../../../../../../../../../class/power_supply
-r--r--r-- 1 root root 4096 jun  1 16:36 technology
-r--r--r-- 1 root root 4096 jun  1 08:52 type
-rw-r--r-- 1 root root 4096 jun  1 14:34 uevent
-r--r--r-- 1 root root 4096 jun  1 15:19 voltage_min_design
-r--r--r-- 1 root root 4096 jun  1 15:19 voltage_now
--- ls-platform ---
total 0
drwxr-xr-x 3 root root    0 jun  1 16:36  ACPI0003:00
drwxr-xr-x 3 root root    0 jun  1 16:36  ACPI000C:00
drwxr-xr-x 3 root root    0 jun  1 16:36  acpi-cpufreq
drwxr-xr-x 4 root root    0 jun  1 08:52  coretemp.0
drwxr-xr-x 3 root root    0 jun  1 16:36  efivars.0
drwxr-xr-x 3 root root    0 jun  1 16:36  eisa.0
drwxr-xr-x 4 root root    0 jun  1 16:36 'Fixed MDIO bus.0'
drwxr-xr-x 4 root root    0 jun  1 08:52  i8042
drwxr-xr-x 3 root root    0 jun  1 16:36  INT33A1:00
drwxr-xr-x 4 root root    0 jun  1 08:52  INT3400:00
drwxr-xr-x 3 root root    0 jun  1 08:52  intel_rapl_msr.0
drwxr-xr-x 3 root root    0 jun  1 16:36  kgdboc
drwxr-xr-x 3 root root    0 jun  1 16:36  microcode
drwxr-xr-x 3 root root    0 jun  1 16:36  MSFT0101:00
drwxr-xr-x 3 root root    0 jun  1 16:36  pcspkr
drwxr-xr-x 3 root root    0 jun  1 16:36  PNP0C0C:00
drwxr-xr-x 3 root root    0 jun  1 16:36  PNP0C0D:00
drwxr-xr-x 4 root root    0 jun  1 08:52  PNP0C14:03
drwxr-xr-x 4 root root    0 jun  1 08:52  PNP0C14:04
drwxr-xr-x 4 root root    0 jun  1 08:52  PNP0C14:05
drwxr-xr-x 2 root root    0 jun  1 16:36  power
drwxr-xr-x 4 root root    0 jun  1 08:52  reg-dummy
drwxr-xr-x 3 root root    0 jun  1 08:52  regulatory.0
drwxr-xr-x 3 root root    0 jun  1 16:36  rtc-efi.0
drwxr-xr-x 3 root root    0 jun  1 16:36  SAM0427:00
drwxr-xr-x 5 root root    0 jun  1 08:52  serial8250
drwxr-xr-x 3 root root    0 jun  1 08:52  snd-soc-dummy
-rw-r--r-- 1 root root 4096 jun  1 11:25  uevent
drwxr-xr-x 6 root root    0 jun  1 08:52  USBC000:00
--- ls-platform ---
total 0
drwxr-xr-x 3 root root    0 jun  1 16:36  ACPI0003:00
drwxr-xr-x 3 root root    0 jun  1 16:36  ACPI000C:00
drwxr-xr-x 3 root root    0 jun  1 16:36  acpi-cpufreq
drwxr-xr-x 4 root root    0 jun  1 08:52  coretemp.0
drwxr-xr-x 3 root root    0 jun  1 16:36  efivars.0
drwxr-xr-x 3 root root    0 jun  1 16:36  eisa.0
drwxr-xr-x 4 root root    0 jun  1 16:36 'Fixed MDIO bus.0'
drwxr-xr-x 4 root root    0 jun  1 08:52  i8042
drwxr-xr-x 3 root root    0 jun  1 16:36  INT33A1:00
drwxr-xr-x 4 root root    0 jun  1 08:52  INT3400:00
drwxr-xr-x 3 root root    0 jun  1 08:52  intel_rapl_msr.0
drwxr-xr-x 3 root root    0 jun  1 16:36  kgdboc
drwxr-xr-x 3 root root    0 jun  1 16:36  microcode
drwxr-xr-x 3 root root    0 jun  1 16:36  MSFT0101:00
drwxr-xr-x 3 root root    0 jun  1 16:36  pcspkr
drwxr-xr-x 3 root root    0 jun  1 16:36  PNP0C0C:00
drwxr-xr-x 3 root root    0 jun  1 16:36  PNP0C0D:00
drwxr-xr-x 4 root root    0 jun  1 08:52  PNP0C14:03
drwxr-xr-x 4 root root    0 jun  1 08:52  PNP0C14:04
drwxr-xr-x 4 root root    0 jun  1 08:52  PNP0C14:05
drwxr-xr-x 2 root root    0 jun  1 16:36  power
drwxr-xr-x 4 root root    0 jun  1 08:52  reg-dummy
drwxr-xr-x 3 root root    0 jun  1 08:52  regulatory.0
drwxr-xr-x 3 root root    0 jun  1 16:36  rtc-efi.0
drwxr-xr-x 3 root root    0 jun  1 16:36  SAM0427:00
drwxr-xr-x 5 root root    0 jun  1 08:52  serial8250
drwxr-xr-x 3 root root    0 jun  1 08:52  snd-soc-dummy
-rw-r--r-- 1 root root 4096 jun  1 11:25  uevent
drwxr-xr-x 6 root root    0 jun  1 08:52  USBC000:00
--- ls-module ---
total 0
drwxr-xr-x 3 root root    0 jun  1 16:36 8250
drwxr-xr-x 5 root root    0 jun  1 08:52 ac97_bus
drwxr-xr-x 3 root root    0 jun  1 16:36 acpi
drwxr-xr-x 3 root root    0 jun  1 16:36 acpi_cpufreq
drwxr-xr-x 5 root root    0 jun  1 08:52 acpi_pad
drwxr-xr-x 3 root root    0 jun  1 16:36 acpiphp
drwxr-xr-x 5 root root    0 jun  1 08:52 acpi_thermal_rel
drwxr-xr-x 5 root root    0 jun  1 08:52 aesni_intel
drwxr-xr-x 5 root root    0 jun  1 08:52 af_alg
drwxr-xr-x 7 root root    0 jun  1 08:52 ahci
drwxr-xr-x 5 root root    0 jun  1 08:52 algif_hash
drwxr-xr-x 5 root root    0 jun  1 08:52 algif_skcipher
drwxr-xr-x 3 root root    0 jun  1 16:36 apparmor
drwxr-xr-x 2 root root    0 jun  1 16:36 ata_generic
drwxr-xr-x 2 root root    0 jun  1 16:36 ata_piix
drwxr-xr-x 5 root root    0 jun  1 08:52 autofs4
drwxr-xr-x 3 root root    0 jun  1 16:36 battery
drwxr-xr-x 5 root root    0 jun  1 08:52 binfmt_misc
drwxr-xr-x 3 root root    0 jun  1 16:36 blk_cgroup
drwxr-xr-x 3 root root    0 jun  1 16:36 blk_crypto
drwxr-xr-x 3 root root    0 jun  1 16:36 block
drwxr-xr-x 6 root root    0 jun  1 08:52 bluetooth
drwxr-xr-x 6 root root    0 jun  1 08:52 bnep
drwxr-xr-x 5 root root    0 jun  1 08:52 btbcm
drwxr-xr-x 5 root root    0 jun  1 08:52 btintel
drwxr-xr-x 5 root root    0 jun  1 08:52 btmtk
drwxr-xr-x 5 root root    0 jun  1 08:52 btrtl
drwxr-xr-x 7 root root    0 jun  1 08:52 btusb
drwxr-xr-x 3 root root    0 jun  1 16:36 button
drwxr-xr-x 5 root root    0 jun  1 08:54 ccm
drwxr-xr-x 6 root root    0 jun  1 08:52 cec
drwxr-xr-x 6 root root    0 jun  1 08:52 cfg80211
drwxr-xr-x 3 root root    0 jun  1 16:36 clocksource
drwxr-xr-x 5 root root    0 jun  1 08:52 cmac
drwxr-xr-x 5 root root    0 jun  1 08:52 cmdlinepart
-r--r--r-- 1 root root 4096 jun  1 16:36 compression
drwxr-xr-x 2 root root    0 jun  1 16:36 configfs
drwxr-xr-x 6 root root    0 jun  1 08:52 coretemp
drwxr-xr-x 3 root root    0 jun  1 16:36 cpufreq
drwxr-xr-x 3 root root    0 jun  1 16:36 cpuidle
drwxr-xr-x 5 root root    0 jun  1 08:52 crc32_pclmul
drwxr-xr-x 3 root root    0 jun  1 16:36 crc64_rocksoft
drwxr-xr-x 3 root root    0 jun  1 16:36 crc_t10dif
drwxr-xr-x 5 root root    0 jun  1 08:52 crct10dif_pclmul
drwxr-xr-x 5 root root    0 jun  1 08:52 cryptd
drwxr-xr-x 3 root root    0 jun  1 16:36 cryptomgr
drwxr-xr-x 5 root root    0 jun  1 08:52 crypto_simd
drwxr-xr-x 3 root root    0 jun  1 16:36 debug_core
drwxr-xr-x 3 root root    0 jun  1 16:36 device_hmem
drwxr-xr-x 3 root root    0 jun  1 16:36 dm_mod
drwxr-xr-x 3 root root    0 jun  1 16:36 dns_resolver
drwxr-xr-x 6 root root    0 jun  1 08:52 drm
drwxr-xr-x 5 root root    0 jun  1 08:52 drm_buddy
drwxr-xr-x 6 root root    0 jun  1 08:52 drm_display_helper
drwxr-xr-x 6 root root    0 jun  1 08:52 drm_kms_helper
drwxr-xr-x 3 root root    0 jun  1 16:36 dynamic_debug
drwxr-xr-x 5 root root    0 jun  1 08:52 ecc
drwxr-xr-x 5 root root    0 jun  1 08:52 ecdh_generic
drwxr-xr-x 3 root root    0 jun  1 16:36 edac_core
drwxr-xr-x 2 root root    0 jun  1 16:36 edd
drwxr-xr-x 6 root root    0 jun  1 08:52 efi_pstore
drwxr-xr-x 3 root root    0 jun  1 16:36 ehci_hcd
drwxr-xr-x 3 root root    0 jun  1 16:36 eisa_bus
drwxr-xr-x 3 root root    0 jun  1 16:36 fb
drwxr-xr-x 3 root root    0 jun  1 16:36 firmware_class
drwxr-xr-x 3 root root    0 jun  1 16:36 fscrypto
drwxr-xr-x 3 root root    0 jun  1 16:36 fuse
drwxr-xr-x 5 root root    0 jun  1 08:52 ghash_clmulni_intel
drwxr-xr-x 3 root root    0 jun  1 16:36 gpiolib_acpi
drwxr-xr-x 3 root root    0 jun  1 16:36 grant_table
drwxr-xr-x 3 root root    0 jun  1 16:36 haltpoll
drwxr-xr-x 6 root root    0 jun  1 08:52 hid
drwxr-xr-x 6 root root    0 jun  1 08:52 hid_generic
drwxr-xr-x 6 root root    0 jun  1 08:52 hid_multitouch
drwxr-xr-x 6 root root    0 jun  1 08:52 i2c_algo_bit
drwxr-xr-x 5 root root    0 jun  1 08:52 i2c_hid
drwxr-xr-x 6 root root    0 jun  1 08:52 i2c_hid_acpi
drwxr-xr-x 7 root root    0 jun  1 08:52 i2c_i801
drwxr-xr-x 6 root root    0 jun  1 08:52 i2c_smbus
drwxr-xr-x 3 root root    0 jun  1 16:36 i8042
drwxr-xr-x 7 root root    0 jun  1 08:52 i915
drwxr-xr-x 6 root root    0 jun  1 08:52 idma64
drwxr-xr-x 3 root root    0 jun  1 16:36 ima
drwxr-xr-x 5 root root    0 jun  1 08:52 input_leds
drwxr-xr-x 6 root root    0 jun  1 08:52 int3400_thermal
drwxr-xr-x 6 root root    0 jun  1 08:52 int3403_thermal
drwxr-xr-x 5 root root    0 jun  1 08:52 int340x_thermal_zone
drwxr-xr-x 5 root root    0 jun  1 08:52 intel_cstate
drwxr-xr-x 3 root root    0 jun  1 16:36 intel_idle
drwxr-xr-x 5 root root    0 jun  1 08:52 intel_lpss
drwxr-xr-x 6 root root    0 jun  1 08:52 intel_lpss_pci
drwxr-xr-x 7 root root    0 jun  1 08:52 intel_pch_thermal
drwxr-xr-x 3 root root    0 jun  1 16:36 intel_pmc_core
drwxr-xr-x 6 root root    0 jun  1 08:52 intel_powerclamp
drwxr-xr-x 5 root root    0 jun  1 08:52 intel_rapl_common
drwxr-xr-x 6 root root    0 jun  1 08:52 intel_rapl_msr
drwxr-xr-x 5 root root    0 jun  1 08:52 intel_soc_dts_iosf
drwxr-xr-x 5 root root    0 jun  1 08:52 intel_tcc_cooling
drwxr-xr-x 5 root root    0 jun  1 08:52 ip_tables
drwxr-xr-x 3 root root    0 jun  1 16:36 ipv6
drwxr-xr-x 5 root root    0 jun  1 08:52 irqbypass
drwxr-xr-x 6 root root    0 jun  1 08:52 iwlmvm
drwxr-xr-x 7 root root    0 jun  1 08:52 iwlwifi
drwxr-xr-x 3 root root    0 jun  1 16:36 jitterentropy_testing
drwxr-xr-x 5 root root    0 jun  1 08:52 joydev
drwxr-xr-x 3 root root    0 jun  1 16:36 kdb
drwxr-xr-x 3 root root    0 jun  1 16:36 kernel
drwxr-xr-x 3 root root    0 jun  1 16:36 keyboard
drwxr-xr-x 3 root root    0 jun  1 16:36 kfence
drwxr-xr-x 3 root root    0 jun  1 16:36 kgdb_nmi
drwxr-xr-x 3 root root    0 jun  1 16:36 kgdboc
drwxr-xr-x 6 root root    0 jun  1 08:52 kvm
drwxr-xr-x 6 root root    0 jun  1 08:52 kvm_intel
drwxr-xr-x 5 root root    0 jun  1 08:52 ledtrig_audio
drwxr-xr-x 6 root root    0 jun  1 08:52 libahci
drwxr-xr-x 5 root root    0 jun  1 08:52 libarc4
drwxr-xr-x 3 root root    0 jun  1 16:36 libata
drwxr-xr-x 3 root root    0 jun  1 16:36 libnvdimm
drwxr-xr-x 3 root root    0 jun  1 16:36 loop
drwxr-xr-x 6 root root    0 jun  1 08:52 lp
drwxr-xr-x 6 root root    0 jun  1 08:52 mac80211
drwxr-xr-x 5 root root    0 jun  1 08:52 mac_hid
drwxr-xr-x 5 root root    0 jun  1 08:52 mc
drwxr-xr-x 3 root root    0 jun  1 16:36 md_mod
drwxr-xr-x 5 root root    0 jun  1 08:52 mei
drwxr-xr-x 6 root root    0 jun  1 08:52 mei_hdcp
drwxr-xr-x 6 root root    0 jun  1 08:52 mei_me
drwxr-xr-x 6 root root    0 jun  1 08:52 mei_pxp
drwxr-xr-x 3 root root    0 jun  1 16:36 memory_hotplug
drwxr-xr-x 6 root root    0 jun  1 08:52 memstick
drwxr-xr-x 3 root root    0 jun  1 16:36 module
drwxr-xr-x 3 root root    0 jun  1 16:36 mousedev
drwxr-xr-x 6 root root    0 jun  1 08:52 msr
drwxr-xr-x 5 root root    0 jun  1 08:52 mtd
drwxr-xr-x 5 root root    0 jun  1 08:52 mxm_wmi
drwxr-xr-x 3 root root    0 jun  1 16:36 netpoll
drwxr-xr-x 5 root root    0 jun  1 08:52 nls_iso8859_1
drwxr-xr-x 3 root root    0 jun  1 16:36 nmi_backtrace
drwxr-xr-x 6 root root    0 jun  1 08:52 nvidia
drwxr-xr-x 6 root root    0 jun  1 08:52 nvidia_drm
drwxr-xr-x 6 root root    0 jun  1 08:52 nvidia_modeset
drwxr-xr-x 6 root root    0 jun  1 08:52 nvidia_uvm
drwxr-xr-x 3 root root    0 jun  1 16:36 page_alloc
drwxr-xr-x 3 root root    0 jun  1 16:36 page_reporting
drwxr-xr-x 5 root root    0 jun  1 08:52 parport
drwxr-xr-x 7 root root    0 jun  1 08:52 parport_pc
drwxr-xr-x 2 root root    0 jun  1 16:36 pata_sis
drwxr-xr-x 2 root root    0 jun  1 16:36 pcc_cpufreq
drwxr-xr-x 3 root root    0 jun  1 16:36 pcie_aspm
drwxr-xr-x 3 root root    0 jun  1 16:36 pciehp
drwxr-xr-x 3 root root    0 jun  1 16:36 pci_hotplug
drwxr-xr-x 6 root root    0 jun  1 08:52 pinctrl_cannonlake
drwxr-xr-x 5 root root    0 jun  1 08:52 polyval_clmulni
drwxr-xr-x 5 root root    0 jun  1 08:52 polyval_generic
drwxr-xr-x 6 root root    0 jun  1 08:52 ppdev
drwxr-xr-x 3 root root    0 jun  1 16:36 ppp_generic
drwxr-xr-x 3 root root    0 jun  1 16:36 printk
drwxr-xr-x 3 root root    0 jun  1 16:36 processor
drwxr-xr-x 5 root root    0 jun  1 08:52 processor_thermal_device
drwxr-xr-x 6 root root    0 jun  1 08:52 processor_thermal_device_pci_legacy
drwxr-xr-x 5 root root    0 jun  1 08:52 processor_thermal_mbox
drwxr-xr-x 5 root root    0 jun  1 08:52 processor_thermal_rapl
drwxr-xr-x 5 root root    0 jun  1 08:52 processor_thermal_rfim
drwxr-xr-x 3 root root    0 jun  1 16:36 pstore
drwxr-xr-x 6 root root    0 jun  1 08:52 r8169
drwxr-xr-x 3 root root    0 jun  1 16:36 random
drwxr-xr-x 5 root root    0 jun  1 08:52 rapl
drwxr-xr-x 5 root root    0 jun  1 08:52 rc_core
drwxr-xr-x 3 root root    0 jun  1 16:36 rcupdate
drwxr-xr-x 3 root root    0 jun  1 16:36 rcutree
drwxr-xr-x 6 root root    0 jun  1 08:52 realtek
drwxr-xr-x 6 root root    0 jun  1 08:53 rfcomm
drwxr-xr-x 3 root root    0 jun  1 16:36 rfkill
drwxr-xr-x 3 root root    0 jun  1 16:36 rng_core
drwxr-xr-x 3 root root    0 jun  1 16:36 rtc_cmos
drwxr-xr-x 7 root root    0 jun  1 08:52 rtsx_usb
drwxr-xr-x 6 root root    0 jun  1 08:52 rtsx_usb_ms
drwxr-xr-x 6 root root    0 jun  1 08:52 rtsx_usb_sdmmc
drwxr-xr-x 5 root root    0 jun  1 08:52 sch_fq_codel
drwxr-xr-x 3 root root    0 jun  1 16:36 scsi_mod
drwxr-xr-x 3 root root    0 jun  1 16:36 secretmem
drwxr-xr-x 6 root root    0 jun  1 08:52 serio_raw
drwxr-xr-x 3 root root    0 jun  1 16:36 sg
drwxr-xr-x 5 root root    0 jun  1 08:52 sha1_ssse3
drwxr-xr-x 5 root root    0 jun  1 08:52 sha256_ssse3
drwxr-xr-x 3 root root    0 jun  1 16:36 shpchp
drwxr-xr-x 6 root root    0 jun  1 08:52 snd
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_compress
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_hda_codec
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_hda_codec_generic
drwxr-xr-x 7 root root    0 jun  1 08:52 snd_hda_codec_hdmi
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_hda_codec_realtek
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_hda_core
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_hda_ext_core
drwxr-xr-x 7 root root    0 jun  1 08:52 snd_hda_intel
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_hwdep
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_intel_dspcfg
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_intel_sdw_acpi
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_pcm
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_pcm_dmaengine
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_rawmidi
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_seq
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_seq_device
drwxr-xr-x 7 root root    0 jun  1 08:52 snd_seq_midi
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_seq_midi_event
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_soc_acpi
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_soc_acpi_intel_match
drwxr-xr-x 7 root root    0 jun  1 08:52 snd_soc_core
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_soc_hdac_hda
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_sof
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_sof_intel_hda
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_sof_intel_hda_common
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_sof_intel_hda_mlink
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_sof_pci
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_sof_pci_intel_cnl
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_sof_utils
drwxr-xr-x 5 root root    0 jun  1 08:52 snd_sof_xtensa_dsp
drwxr-xr-x 6 root root    0 jun  1 08:52 snd_timer
drwxr-xr-x 6 root root    0 jun  1 08:52 soundcore
drwxr-xr-x 5 root root    0 jun  1 08:52 soundwire_bus
drwxr-xr-x 6 root root    0 jun  1 08:52 soundwire_cadence
drwxr-xr-x 5 root root    0 jun  1 08:52 soundwire_generic_allocation
drwxr-xr-x 7 root root    0 jun  1 08:52 soundwire_intel
drwxr-xr-x 5 root root    0 jun  1 08:52 spi_intel
drwxr-xr-x 6 root root    0 jun  1 08:52 spi_intel_pci
drwxr-xr-x 6 root root    0 jun  1 08:52 spi_nor
drwxr-xr-x 3 root root    0 jun  1 16:36 spurious
drwxr-xr-x 3 root root    0 jun  1 16:36 srcutree
drwxr-xr-x 3 root root    0 jun  1 16:36 sr_mod
drwxr-xr-x 3 root root    0 jun  1 16:36 suspend
drwxr-xr-x 3 root root    0 jun  1 16:36 sysrq
drwxr-xr-x 3 root root    0 jun  1 16:36 tcp_cubic
drwxr-xr-x 3 root root    0 jun  1 16:36 thermal
drwxr-xr-x 5 root root    0 jun  1 09:40 tls
drwxr-xr-x 3 root root    0 jun  1 16:36 tpm
drwxr-xr-x 2 root root    0 jun  1 16:36 tpm_crb
drwxr-xr-x 3 root root    0 jun  1 16:36 tpm_tis
drwxr-xr-x 2 root root    0 jun  1 16:36 tpm_tis_core
drwxr-xr-x 6 root root    0 jun  1 08:52 ttm
drwxr-xr-x 5 root root    0 jun  1 08:52 typec
drwxr-xr-x 5 root root    0 jun  1 08:52 typec_ucsi
drwxr-xr-x 6 root root    0 jun  1 08:52 ucsi_acpi
drwxr-xr-x 3 root root    0 jun  1 16:36 udmabuf
drwxr-xr-x 3 root root    0 jun  1 16:36 uhci_hcd
drwxr-xr-x 3 root root    0 jun  1 16:36 usbcore
drwxr-xr-x 5 root root    0 jun  1 08:52 uvc
drwxr-xr-x 7 root root    0 jun  1 08:52 uvcvideo
drwxr-xr-x 3 root root    0 jun  1 16:36 uv_nmi
drwxr-xr-x 6 root root    0 jun  1 08:52 video
drwxr-xr-x 6 root root    0 jun  1 08:52 videobuf2_common
drwxr-xr-x 5 root root    0 jun  1 08:52 videobuf2_memops
drwxr-xr-x 6 root root    0 jun  1 08:52 videobuf2_v4l2
drwxr-xr-x 5 root root    0 jun  1 08:52 videobuf2_vmalloc
drwxr-xr-x 5 root root    0 jun  1 08:52 videodev
drwxr-xr-x 3 root root    0 jun  1 16:36 virtio_blk
drwxr-xr-x 3 root root    0 jun  1 16:36 virtio_mmio
drwxr-xr-x 3 root root    0 jun  1 16:36 virtio_net
drwxr-xr-x 3 root root    0 jun  1 16:36 virtio_pci
drwxr-xr-x 2 root root    0 jun  1 16:36 virtio_pci_legacy_dev
drwxr-xr-x 2 root root    0 jun  1 16:36 virtio_pci_modern_dev
drwxr-xr-x 3 root root    0 jun  1 16:36 virtual_root
drwxr-xr-x 3 root root    0 jun  1 16:36 vt
drwxr-xr-x 3 root root    0 jun  1 16:36 watchdog
drwxr-xr-x 7 root root    0 jun  1 08:52 wmi
drwxr-xr-x 6 root root    0 jun  1 08:52 wmi_bmof
drwxr-xr-x 3 root root    0 jun  1 16:36 workqueue
drwxr-xr-x 6 root root    0 jun  1 08:52 x86_pkg_temp_thermal
drwxr-xr-x 3 root root    0 jun  1 16:36 xen
drwxr-xr-x 3 root root    0 jun  1 16:36 xen_acpi_processor
drwxr-xr-x 3 root root    0 jun  1 16:36 xen_blkfront
drwxr-xr-x 3 root root    0 jun  1 16:36 xen_netfront
drwxr-xr-x 3 root root    0 jun  1 16:36 xhci_hcd
drwxr-xr-x 6 root root    0 jun  1 08:52 xhci_pci
drwxr-xr-x 5 root root    0 jun  1 08:52 xhci_pci_renesas
drwxr-xr-x 5 root root    0 jun  1 08:52 x_tables
drwxr-xr-x 2 root root    0 jun  1 16:36 xz_dec
drwxr-xr-x 3 root root    0 jun  1 16:36 zswap
maniacx commented 3 weeks ago

There are not charging threshold exposed in your sysfs. Also samsungs wmi is not loaded. your systems dmi matches the one in kernel, so i thing some other criteria isnt matched that is preventing loading this module

https://github.com/torvalds/linux/blob/ec9eeb89e60d86fcc0243f47c2383399ce0de8f8/drivers/platform/x86/samsung-laptop.c#L1510-L1515

Is this a stock kernel? Is everythings else working in your laptop such as keybaoard backlight, screen turning off when closing laptop lid, are you able to control screen brightness?

albersonmiranda commented 3 weeks ago

I guess this laptop doesn't have backlight (Fn + F9 turns screen off), but screen does turns off when closing lid and I can control brightness and volume with F keys. Yes, it's stock Ubuntu kernel.

maniacx commented 3 weeks ago

Unfortunately I cannot support, if the charging threshold is not supported by the kernel or library. Usually other laptops are able to change charging threshold using command-line and this extension just provides a GUI and execute those command. But in your case, it is not, so I apologize, there is nothing I can do.

albersonmiranda commented 3 weeks ago

No worries, thanks for taking a look!