Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Testing controlling light of Y-Logo in lid or light at IO-Ports (e.g. Legion 7) [looking for testers] #54

Open
johnfanv2 opened this issue May 1, 2023 · 40 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@johnfanv2
Copy link
Owner

johnfanv2 commented May 1, 2023

If you have a model with a light at the IO-ports at the back, a light in the Y-Logo in the lid, or another light in the lid please help to test this feature. Please provide the following information. It must be tested on multiple different models since I assume they have slightly different methods. I will first gather information from different models (see below), then implement it, and then ask you to test if it works.

Model and Debug Info

Model name: ???
CPU model: ??? (e.g. AMD Ryzen 7 5800H)
GPU model: ??? (e.g NVIDIA RTX 3700)
Keyboard backlight: ??? (RGB, single color with off/on, single color with off/medium/bright)
Light in lid or logo: ??? (yes/no)
Light at IO-Ports at back: ??? (yes/no)

Output of sudo dmidecode -t system. Please remove Serial Number and UUID for privacy:

???

Output of sudo dmidecode -t bios:

???

Test reading light state

Please pull the newest code, compile, and load the kernel module as described in the README, i.e. until the step sudo make reloadmodule.

IO-Port light

The light at the IO-ports can be turned on/off by pressing Fn+U (maybe other?).

  • Turn the light off.
  • Get output of sudo cat /sys/kernel/debug/legion/fancurve and copy here.
  • Get output of cat /sys/class/leds/platform\:\:ioport/brightness and copy here.
  • Turn the light on.
  • Get output of sudo cat /sys/kernel/debug/legion/fancurve and copy here.
  • Get output of cat /sys/class/leds/platform\:\:ioport/brightness and copy here.

Y-Logo/Lid light

The light can be turned on/off by pressing Fn+L (maybe other?).

  • Turn the light off
  • Get output of sudo cat /sys/kernel/debug/legion/fancurve and copy here.
  • Get output of cat /sys/class/leds/platform\:\:ylogo/brightness and copy here,
  • Turn the light on
  • Get output of sudo cat /sys/kernel/debug/legion/fancurve and copy here.
  • Gett output of cat /sys/class/leds/platform\:\:ylogo/brightness and copy here,

The following information would be useful but are optional

Inspecting WMI entries

# Install required tools
sudo apt install fwts

# Create folder for all the new files
mkdir fwts_re
cd fwts_re
sudo fwts wmi - > fwts_wmi.log

Then upload files.

Disassembling ACPI tables

# Install requiered tools
sudo apt install acpica-tools
# Create folder for all the new files
mkdir acpi_re
cd acpi_re

# List ACPI tables and copy them
ls /sys/firmware/acpi/tables/
sudo cp --no-preserve=mode /sys/firmware/acpi/tables/*SDT* .

# Disassemble tables to output DSDT.dsl
iasl -e SSDT* -d DSDT

Then upload files.

Gathering WMI info in Windows

If you have Windows, then the following information are very very useful to make use of the ACPI methods. If you do not have Windows, then just skip this. Open powershell as admin in Windows and run the following script. It will list all available lenovo WMI methods. Copy output to a file and upload.

$wmi_classes = Get-WmiObject -Namespace 'ROOT/WMI' -List -Class "*LENOVO*"
foreach ($wmi_class in $wmi_classes){
  Write-Host "########################################"
  Write-Host "########################################"
  Write-Host "########################################"
  Write-Host "Name:" $wmi_class.Name
  Write-Host "Class Name:" $wmi_class.Name 
  Write-Host "Class GUID:" $wmi_class.Qualifiers["guid"].Value
  Write-Host "Description:" $wmi_class.Methods.Count
  Write-Host "Methods:"
  foreach ($method in $wmi_class.Methods){
    Write-Host "Name:" $method.Name
    Write-Host "WmiMethodId:" $method.Qualifiers["WmiMethodId"].Value
    Write-Host "Class Name:" $wmi_class.Name 
    Write-Host "Class GUID:" $wmi_class.Qualifiers["guid"].Value
    Write-Host "Description:" $method.Qualifiers["Description"].Value
    Write-Host "Implemented:" $method.Qualifiers["Implemented"].Value
    Write-Host ""
  }
  Write-Host ""
}
@johnfanv2 johnfanv2 added help wanted Extra attention is needed good first issue Good for newcomers labels May 1, 2023
@johnfanv2 johnfanv2 changed the title Testing controlling light of Y-Logo in lid and light at IO-Ports [looking for testers] Testing controlling light of Y-Logo in lid and light at IO-Ports (e.g. Legion 7) [looking for testers] May 1, 2023
@Guanran928
Copy link

IMG_20230504_234219
Are you looking for this?

Lenovo Legion Y7000 (china version)
Intel i7-8750H + Nvidia 1050ti

@johnfanv2 johnfanv2 changed the title Testing controlling light of Y-Logo in lid and light at IO-Ports (e.g. Legion 7) [looking for testers] Testing controlling light of Y-Logo in lid or light at IO-Ports (e.g. Legion 7) [looking for testers] May 4, 2023
@johnfanv2
Copy link
Owner Author

@Guanran928 Yes, but I am not sure if it will work on this older model. It would be great if you can do the tests.

@Guanran928
Copy link

image

image

Oops. I think disabling Y-logo light feature isn't available for my model, but here's my system information anyway

@johnfanv2
Copy link
Owner Author

johnfanv2 commented May 5, 2023

@Guanran928 Sorry, I forgot to mention that you also have to pull and load the kernel module (see above and README) before it might work 😃 . Could you please upload the file output1.txt and output2.txt ? I guess I have to add your model to the kernel module before it work and I need this information to do it.

@Guanran928
Copy link

Here you go :D.

output1.txt
output2.txt

@Guanran928
Copy link

Guanran928 commented May 7, 2023

Also, the command sudo make reloadmodule isn't working for me. (I did not notice that before, sorry 😟)
The log says:
[ 648.065732] legion PNP0C09:00: Module not useable for this laptop because it is not in allowlist. Notify maintainer if you want to add your device or force load with param force.
Currently I have no idea how to force load XD

Full log here:
1.txt

@johnfanv2
Copy link
Owner Author

Thanks a lot for the logs. You can force loading it with sudo make forcereloadmodule.

@Guanran928
Copy link

Looks like it is still not working with sudo make forcereloadmodule

Here is the log with sudo make forcereloadmodule > 2.txt
2.txt

@johnfanv2
Copy link
Owner Author

@Guanran928 I added your model/BIOS version to the the code. You can try it now by getting the new code (git pull or just downloading again), compiling again (make), and loading again (make reloadmodule) it should now work without forcing.

@Guanran928
Copy link

sudo make reloadmodule worked, but FN+L didn't work for me, after some researching, I found that disabling Y-Logo light is not a thing on my model with this specific GPU (according to Lenovo), I didn't know this and I am really sorry. I apologize for the effort that you spent. Is there anything else I can provide?

@johnfanv2
Copy link
Owner Author

@Guanran928 Thanks for the feedback on controlling the light!

If you want, you can test if the other features, e.g. in the python GUI, work on your laptop in Linux. If something does not work, then feel free to report back I can try to adapt the software to make it work with your model.

@Peter-Levine
Copy link

Model name: Lenovo Legion 5 Pro-16ACH6H Laptop - Type 82JQ
CPU model: AMD Ryzen 7 5800H
GPU model: Nvidia GeForce RTX 3070 Mobile
Keyboard backlight: off
Light in lid or logo: no

sudo dmidecode -t system
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 82JQ
        Version: Legion 5 Pro 16ACH6H
        Serial Number:
        UUID:
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_82JQ_BU_idea_FM_Legion 5 Pro 16ACH6H
        Family: Legion 5 Pro 16ACH6H

Handle 0x0020, DMI type 12, 5 bytes
System Configuration Options
        Option 1: String1 for Type12 Equipment Manufacturer
        Option 2: String2 for Type12 Equipment Manufacturer
        Option 3: String3 for Type12 Equipment Manufacturer
        Option 4: String4 for Type12 Equipment Manufacturer

Handle 0x0030, DMI type 32, 20 bytes
System Boot Information
        Status: No errors detected
sudo dmidecode -t bios
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: LENOVO
        Version: GKCN60WW
        Release Date: 03/07/2023
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 16 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
                Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
                5.25"/360 kB floppy services are supported (int 13h)
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                8042 keyboard services are supported (int 9h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.60
        Firmware Revision: 1.60

Handle 0x0021, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 4
                en|US|iso8859-1
                fr|FR|iso8859-1
                ja|JP|unicode
                zh|TW|unicode
        Currently Installed Language: en|US|iso8859-1
sudo cat /sys/kernel/debug/legion/fancurve (with light off)
EC Chip ID: 8227
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 2081289482
temperature access method: 1
CPU temperature error: 0
CPU temperature: 46
CPU temperature EC error: 0
CPU temperature EC: 46
CPU temperature ACPI error: 0
CPU temperature ACPI: 46
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: 0
CPU temperature WMI2: 46
GPU temperature error: 0
GPU temperature: 40
GPU temperature EC error: 0
GPU temperature EC: 40
GPU temperature ACPI error: 0
GPU temperature ACPI: 40
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: 0
GPU temperature WMI2: 40
fan speed access method: 1
1 fanspeed error: 0
1 fanspeed: 1858
1 fanspeed EC error: 0
1 fanspeed EC: 1858
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 1800
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: 0
1 fanspeed WMI2: 1800
2 fanspeed error: 0
2 fanspeed: 1763
2 fanspeed EC error: 0
2 fanspeed EC: 1763
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 1700
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: 0
2 fanspeed WMI2: 1700
powermode access method: 3
powermode error: 0
powermode: 2
powermode EC error: 0
powermode EC: 16
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 2
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: 0
WMI light IO port: 0
WMI light y logo/lid: 0
EC minifancurve feature enabled: 1
EC minifancurve on cool: true
EC lockfancontroller error: 0
EC lockfancontroller: false
EC fanfullspeed error: false
EC fanfullspeed status: 0
EC fan curve current point id: 1
EC fan curve points size: 10
Current fan curve in hardware (embedded controller):
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
0        0       2       2       0       63      0       66      0       43
1800     1700    2       2       58      63      62      66      38      46
1800     1900    2       2       58      63      62      66      42      51
2100     2100    2       2       58      63      62      66      46      127
2300     2400    2       2       58      69      62      66      127     127
2600     2600    2       2       63      76      62      66      127     127
2800     2900    2       2       71      80      62      70      127     127
3500     3500    2       2       75      88      65      75      127     127
3800     3800    2       2       83      94      70      78      127     127
4200     4200    2       2       90      127     74      127     127     127
=====================
cat /sys/class/leds/platform\:\:ylogo/brightness (with light off) 0
sudo cat /sys/kernel/debug/legion/fancurve (with light on)
EC Chip ID: 8227
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 2081289482
temperature access method: 1
CPU temperature error: 0
CPU temperature: 49
CPU temperature EC error: 0
CPU temperature EC: 49
CPU temperature ACPI error: 0
CPU temperature ACPI: 49
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: 0
CPU temperature WMI2: 49
GPU temperature error: 0
GPU temperature: 42
GPU temperature EC error: 0
GPU temperature EC: 42
GPU temperature ACPI error: 0
GPU temperature ACPI: 42
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: 0
GPU temperature WMI2: 42
fan speed access method: 1
1 fanspeed error: 0
1 fanspeed: 1850
1 fanspeed EC error: 0
1 fanspeed EC: 1850
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 1800
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: 0
1 fanspeed WMI2: 1800
2 fanspeed error: 0
2 fanspeed: 1764
2 fanspeed EC error: 0
2 fanspeed EC: 1764
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 1700
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: 0
2 fanspeed WMI2: 1700
powermode access method: 3
powermode error: 0
powermode: 2
powermode EC error: 0
powermode EC: 16
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 2
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: 0
WMI light IO port: 0
WMI light y logo/lid: 0
EC minifancurve feature enabled: 1
EC minifancurve on cool: true
EC lockfancontroller error: 0
EC lockfancontroller: false
EC fanfullspeed error: false
EC fanfullspeed status: 0
EC fan curve current point id: 1
EC fan curve points size: 10
Current fan curve in hardware (embedded controller):
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
0        0       2       2       0       63      0       66      0       43
1800     1700    2       2       58      63      62      66      38      46
1800     1900    2       2       58      63      62      66      42      51
2100     2100    2       2       58      63      62      66      46      127
2300     2400    2       2       58      69      62      66      127     127
2600     2600    2       2       63      76      62      66      127     127
2800     2900    2       2       71      80      62      70      127     127
3500     3500    2       2       75      88      65      75      127     127
3800     3800    2       2       83      94      70      78      127     127
4200     4200    2       2       90      127     74      127     127     127
=====================
cat /sys/class/leds/platform\:\:ylogo/brightness (with light on) 0

fwts_wmi.log
acpi_re.tar.gz

@RzVa317
Copy link

RzVa317 commented May 9, 2023

Model and Debug Info

Model name: Legion S7
CPU model: AMD Ryzen 7 6800H
GPU model: Radeon RX 6600S
Keyboard backlight: RGB
Light in lid or logo: No
Light at IO-Ports at back: Yes

sudo dmidecode -t system
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.4.0 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: LENOVO
	Product Name: 82UG
	Version: Legion S7 16ARHA7
	Wake-up Type: Power Switch
	SKU Number: LENOVO_MT_82UG_BU_idea_FM_Legion S7 16ARHA7
	Family: Legion S7 16ARHA7

Handle 0x001B, DMI type 12, 5 bytes
System Configuration Options
	Option 1: String1 for Type12 Equipment Manufacturer
	Option 2: String2 for Type12 Equipment Manufacturer
	Option 3: String3 for Type12 Equipment Manufacturer
	Option 4: String4 for Type12 Equipment Manufacturer

Handle 0x0029, DMI type 32, 20 bytes
System Boot Information
	Status: No errors detected
sudo dmidecode -t bios
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.4.0 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
	Vendor: LENOVO
	Version: KFCN32WW
	Release Date: 09/29/2022
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 32 MB
	Characteristics:
		PCI is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		EDD is supported
		Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
		Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
		5.25"/360 kB floppy services are supported (int 13h)
		5.25"/1.2 MB floppy services are supported (int 13h)
		3.5"/720 kB floppy services are supported (int 13h)
		3.5"/2.88 MB floppy services are supported (int 13h)
		8042 keyboard services are supported (int 9h)
		CGA/mono video services are supported (int 10h)
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: 1.32
	Firmware Revision: 1.32

Handle 0x001C, DMI type 13, 22 bytes
BIOS Language Information
	Language Description Format: Long
	Installable Languages: 4
		en|US|iso8859-1
		fr|FR|iso8859-1
		ja|JP|unicode
		zh|TW|unicode
	Currently Installed Language: en|US|iso8859-1
IO-Port light tests

Light Off

sudo cat /sys/kernel/debug/legion/fancurve
EC Chip ID: 8227
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 2081289482
temperature access method: 1
CPU temperature error: 0
CPU temperature: 39
CPU temperature EC error: 0
CPU temperature EC: 39
CPU temperature ACPI error: 0
CPU temperature ACPI: 39
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: 0
CPU temperature WMI2: 39
GPU temperature error: 0
GPU temperature: 0
GPU temperature EC error: 0
GPU temperature EC: 0
GPU temperature ACPI error: 0
GPU temperature ACPI: 0
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: 0
GPU temperature WMI2: 0
fan speed access method: 1
1 fanspeed error: 0
1 fanspeed: 1760
1 fanspeed EC error: 0
1 fanspeed EC: 1760
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 1700
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: 0
1 fanspeed WMI2: 1700
2 fanspeed error: 0
2 fanspeed: 1757
2 fanspeed EC error: 0
2 fanspeed EC: 1757
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 1700
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: 0
2 fanspeed WMI2: 1700
powermode access method: 3
powermode error: 0
powermode: 2
powermode EC error: 0
powermode EC: 0
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 2
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: -14
WMI light IO port: 0
WMI light y logo/lid: 0
EC minifancurve feature enabled: 0
EC minifancurve on cool: error
EC lockfancontroller error: 0
EC lockfancontroller: false
EC fanfullspeed error: false
EC fanfullspeed status: 0
EC fan curve current point id: 2
EC fan curve points size: 10
Current fan curve in hardware (embedded controller):
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
0	 0	 2	 2	 60	 80	 70	 76	 0	 32
1600	 1600	 2	 2	 60	 80	 70	 76	 31	 34
1700	 1700	 2	 2	 60	 80	 70	 76	 33	 40
2000	 2000	 2	 2	 60	 80	 70	 76	 39	 46
2200	 2200	 2	 2	 60	 80	 70	 76	 45	 50
2500	 2500	 2	 2	 60	 80	 70	 76	 49	 53
2800	 2800	 2	 2	 60	 80	 70	 76	 52	 56
3200	 3200	 2	 2	 60	 80	 70	 76	 55	 58
3500	 3500	 2	 2	 60	 80	 70	 76	 57	 61
3500	 3500	 2	 2	 60	 80	 70	 76	 60	 64
=====================
cat /sys/class/leds/platform\:\:ioport/brightness
cat: '/sys/class/leds/platform::ioport/brightness': No such file or directory

This is all that I have in /sys/class/leds/

input13::capslock
input13::compose
input13::kana
input13::numlock
input13::scrolllock
input50::capslock
input50::compose
input50::kana
input50::numlock
input50::scrolllock
input6::capslock
input6::numlock
input6::scrolllock
mmc0::
platform::ylogo

Running: cat /sys/class/leds/platform\:\:ylogo/brightness returned 0

Light On

sudo cat /sys/kernel/debug/legion/fancurve
EC Chip ID: 8227
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 2081289482
temperature access method: 1
CPU temperature error: 0
CPU temperature: 39
CPU temperature EC error: 0
CPU temperature EC: 39
CPU temperature ACPI error: 0
CPU temperature ACPI: 39
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: 0
CPU temperature WMI2: 39
GPU temperature error: 0
GPU temperature: 0
GPU temperature EC error: 0
GPU temperature EC: 0
GPU temperature ACPI error: 0
GPU temperature ACPI: 0
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: 0
GPU temperature WMI2: 0
fan speed access method: 1
1 fanspeed error: 0
1 fanspeed: 1755
1 fanspeed EC error: 0
1 fanspeed EC: 1755
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 1700
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: 0
1 fanspeed WMI2: 1700
2 fanspeed error: 0
2 fanspeed: 1761
2 fanspeed EC error: 0
2 fanspeed EC: 1761
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 1700
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: 0
2 fanspeed WMI2: 1700
powermode access method: 3
powermode error: 0
powermode: 2
powermode EC error: 0
powermode EC: 0
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 2
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: -14
WMI light IO port: 0
WMI light y logo/lid: 0
EC minifancurve feature enabled: 0
EC minifancurve on cool: error
EC lockfancontroller error: 0
EC lockfancontroller: false
EC fanfullspeed error: false
EC fanfullspeed status: 0
EC fan curve current point id: 2
EC fan curve points size: 10
Current fan curve in hardware (embedded controller):
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
0	 0	 2	 2	 60	 80	 70	 76	 0	 32
1600	 1600	 2	 2	 60	 80	 70	 76	 31	 34
1700	 1700	 2	 2	 60	 80	 70	 76	 33	 40
2000	 2000	 2	 2	 60	 80	 70	 76	 39	 46
2200	 2200	 2	 2	 60	 80	 70	 76	 45	 50
2500	 2500	 2	 2	 60	 80	 70	 76	 49	 53
2800	 2800	 2	 2	 60	 80	 70	 76	 52	 56
3200	 3200	 2	 2	 60	 80	 70	 76	 55	 58
3500	 3500	 2	 2	 60	 80	 70	 76	 57	 61
3500	 3500	 2	 2	 60	 80	 70	 76	 60	 64
=====================
cat /sys/class/leds/platform\:\:ioport/brightness

Same error as above.

Running: cat /sys/class/leds/platform\:\:ylogo/brightness still returns 0

The attached files were obtained a couple of weeks ago, let me know if you need more recent data.

windows_wmi.txt
fwts.tar.gz
acpi.tar.gz

@Bananonymous
Copy link

Bananonymous commented May 10, 2023

Hi !
Here's for my laptop :
Model and Debug Info

Model name: Y740-17IRHg ( Type 81UJ )
CPU model: Intel i7-9750H
GPU model: Nvidia RTX 2070 Max-Q Design
Keyboard backlight: RGB with different presets
Light in lid or logo: Yes, on the side in the "O" of Legion Logo
Light at IO-Ports at back: I do not believe so.

Output of sudo dmidecode -t system:

# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.0.1 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: LENOVO
	Product Name: 81UJ
	Version: Lenovo Legion Y740-17IRHg
	Wake-up Type: Power Switch
	SKU Number: LENOVO_MT_81UJ_BU_idea_FM_Legion Y740-17IRHg
	Family: Legion Y740-17IRHg

Handle 0x001F, DMI type 12, 5 bytes
System Configuration Options
	Option 1: ConfigOptions1
	Option 2: ConfigOptions2
	Option 3: ConfigOptions3

Handle 0x0024, DMI type 15, 29 bytes
System Event Log
	Area Length: 0 bytes
	Header Start Offset: 0x0000
	Header Length: 8192 bytes
	Data Start Offset: 0x2000
	Access Method: General-purpose non-volatile data functions
	Access Address: 0x0000
	Status: Valid, Not Full
	Change Token: 0x12345678
	Header Format: OEM-specific
	Supported Log Type Descriptors: 3
	Descriptor 1: POST memory resize
	Data Format 1: None
	Descriptor 2: POST error
	Data Format 2: POST results bitmap
	Descriptor 3: Log area reset/cleared
	Data Format 3: None

Handle 0x0031, DMI type 32, 11 bytes
System Boot Information
	Status: No errors detected

Output of sudo dmidecode -t bios:

# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.0.1 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
	Vendor: LENOVO
	Version: BVCN16WW(V1.12)
	Release Date: 06/21/2021
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 10 MB
	Characteristics:
		PCI is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		EDD is supported
		Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
		Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
		5.25"/360 kB floppy services are supported (int 13h)
		5.25"/1.2 MB floppy services are supported (int 13h)
		3.5"/720 kB floppy services are supported (int 13h)
		3.5"/2.88 MB floppy services are supported (int 13h)
		8042 keyboard services are supported (int 9h)
		CGA/mono video services are supported (int 10h)
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: 1.16
	Firmware Revision: 1.16

Handle 0x0020, DMI type 13, 22 bytes
BIOS Language Information
	Language Description Format: Long
	Installable Languages: 8
		en|US|iso8859-1,0
		fr|FR|iso8859-1,0
		zh|TW|unicode,0
		ja|JP|unicode,0
		it|IT|iso8859-1,0
		es|ES|iso8859-1,0
		de|DE|iso8859-1,0
		pt|PT|iso8859-1,0
	Currently Installed Language: en|US|iso8859-1,0

I couldn't install for the optional files ^^'
Hope this helps ! :D

@potatoalienof13
Copy link

potatoalienof13 commented Jun 2, 2023

Model name: Lenovo Pro 7i Gen 8 16IRX8
CPU model: i9-13900hx
GPU model:rtx 4070
Keyboard backlight: RGB
Light in lid or logo: No
Light at IO-Ports at back: Yes, not user-controllable (yes/no)

sudo dmidecode -t system

# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.4 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: LENOVO
	Product Name: 82WR
	Version: Legion Pro 7 16IRX8
	Serial Number: ############
	UUID: #############
	Wake-up Type: Power Switch
	SKU Number: LENOVO_MT_82WR_BU_idea_FM_Legion Pro 7 16IRX8
	Family: Legion Pro 7 16IRX8

Handle 0x0024, DMI type 12, 5 bytes
System Configuration Options
	Option 1: ConfigOptions1
	Option 2: ConfigOptions2
	Option 3: ConfigOptions3

Handle 0x0027, DMI type 15, 29 bytes
System Event Log
	Area Length: 0 bytes
	Header Start Offset: 0x0000
	Header Length: 8192 bytes
	Data Start Offset: 0x2000
	Access Method: General-purpose non-volatile data functions
	Access Address: 0x0000
	Status: Valid, Not Full
	Change Token: 0x12345678
	Header Format: OEM-specific
	Supported Log Type Descriptors: 3
	Descriptor 1: POST memory resize
	Data Format 1: None
	Descriptor 2: POST error
	Data Format 2: POST results bitmap
	Descriptor 3: Log area reset/cleared
	Data Format 3: None

Handle 0x0034, DMI type 32, 11 bytes
System Boot Information
	Status: No errors detected

sudo dmidecode -t bios

# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.4 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
	Vendor: LENOVO
	Version: KWCN35WW
	Release Date: 04/07/2023
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 16 MB
	Characteristics:
		PCI is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		EDD is supported
		Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
		Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
		5.25"/360 kB floppy services are supported (int 13h)
		5.25"/1.2 MB floppy services are supported (int 13h)
		3.5"/720 kB floppy services are supported (int 13h)
		3.5"/2.88 MB floppy services are supported (int 13h)
		8042 keyboard services are supported (int 9h)
		CGA/mono video services are supported (int 10h)
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: 1.35
	Firmware Revision: 1.35

Handle 0x0025, DMI type 13, 22 bytes
BIOS Language Information
	Language Description Format: Long
	Installable Languages: 8
		en|US|iso8859-1,0
		fr|FR|iso8859-1,0
		zh|TW|unicode,0
		ja|JP|unicode,0
		it|IT|iso8859-1,0
		es|ES|iso8859-1,0
		de|DE|iso8859-1,0
		pt|PT|iso8859-1,0
	Currently Installed Language: en|US|iso8859-1,0

fmts_wmi.log
results.log
acpi_re.tar.gz

@XenHat
Copy link
Contributor

XenHat commented Jun 3, 2023

Model name: Lenovo Legion 5 Pro 16ach6h (Model 82JQ)
CPU model: AMD Ryzen 7 5800H
GPU model: NVIDIA RTX 3060
Keyboard backlight: RGB (firmware control, no iCUE required)
Light in lid or logo: Yes
Light at IO-Ports at back: No (?)

$ sudo dmidecode -t system | grep -v UUID | grep -v "Serial Number"
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 82JQ
        Version: Legion 5 Pro 16ACH6H
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_82JQ_BU_idea_FM_Legion 5 Pro 16ACH6H
        Family: Legion 5 Pro 16ACH6H

Handle 0x0021, DMI type 12, 5 bytes
System Configuration Options
        Option 1: String1 for Type12 Equipment Manufacturer
        Option 2: String2 for Type12 Equipment Manufacturer
        Option 3: String3 for Type12 Equipment Manufacturer
        Option 4: String4 for Type12 Equipment Manufacturer

Handle 0x0031, DMI type 32, 20 bytes
System Boot Information
        Status: No errors detected

$ sudo dmidecode -t bios
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: LENOVO
        Version: GKCN59WW
        Release Date: 11/21/2022
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 16 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
                Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
                5.25"/360 kB floppy services are supported (int 13h)
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                8042 keyboard services are supported (int 9h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.59
        Firmware Revision: 1.59

Handle 0x0022, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 4
                en|US|iso8859-1
                fr|FR|iso8859-1
                ja|JP|unicode
                zh|TW|unicode
        Currently Installed Language: en|US|iso8859-1

Lid Y-logo Light:

click here to expand ### OFF
$ sudo cat /sys/kernel/debug/legion/fancurve
EC Chip ID: 8227
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 2081289482
temperature access method: 1
CPU temperature error: 0
CPU temperature: 41
CPU temperature EC error: 0
CPU temperature EC: 41
CPU temperature ACPI error: 0
CPU temperature ACPI: 41
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: 0
CPU temperature WMI2: 41
GPU temperature error: 0
GPU temperature: 37
GPU temperature EC error: 0
GPU temperature EC: 37
GPU temperature ACPI error: 0
GPU temperature ACPI: 37
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: 0
GPU temperature WMI2: 37
fan speed access method: 1
1 fanspeed error: 0
1 fanspeed: 1764
1 fanspeed EC error: 0
1 fanspeed EC: 1764
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 1700
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: 0
1 fanspeed WMI2: 1700
2 fanspeed error: 0
2 fanspeed: 1963
2 fanspeed EC error: 0
2 fanspeed EC: 1963
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 1900
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: 0
2 fanspeed WMI2: 1900
powermode access method: 3
powermode error: 0
powermode: 1
powermode EC error: 0
powermode EC: 18
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 1
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 1
WMI backlight 2 state: 0
WMI backlight 3 state: 0
WMI light IO port: 0
WMI light y logo/lid: 0
EC minifancurve feature enabled: 1
EC minifancurve on cool: true
EC lockfancontroller error: 0
EC lockfancontroller: false
EC fanfullspeed error: false
EC fanfullspeed status: 0
EC fan curve current point id: 1
EC fan curve points size: 8
Current fan curve in hardware (embedded controller):
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
0        0       2       2       0       48      0       59      0       41
1700     1900    2       2       45      54      55      59      39      44
1900     2000    2       2       51      58      55      59      42      50
2200     2100    2       2       55      62      55      59      46      127
2300     2400    2       2       59      71      55      59      127     127
2600     2700    2       2       68      76      55      64      127     127
2900     3000    2       2       72      81      60      68      127     127
3500     3500    2       2       78      127     65      127     127     127
=====================
sudo cat /sys/class/leds/platform::ylogo/brightness
0

ON

$ sudo cat /sys/kernel/debug/legion/fancurve
EC Chip ID: 8227
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 2081289482
temperature access method: 1
CPU temperature error: 0
CPU temperature: 42
CPU temperature EC error: 0
CPU temperature EC: 42
CPU temperature ACPI error: 0
CPU temperature ACPI: 42
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: 0
CPU temperature WMI2: 42
GPU temperature error: 0
GPU temperature: 37
GPU temperature EC error: 0
GPU temperature EC: 37
GPU temperature ACPI error: 0
GPU temperature ACPI: 37
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: 0
GPU temperature WMI2: 37
fan speed access method: 1
1 fanspeed error: 0
1 fanspeed: 1765
1 fanspeed EC error: 0
1 fanspeed EC: 1765
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 1700
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: 0
1 fanspeed WMI2: 1700
2 fanspeed error: 0
2 fanspeed: 1963
2 fanspeed EC error: 0
2 fanspeed EC: 1963
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 1900
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: 0
2 fanspeed WMI2: 1900
powermode access method: 3
powermode error: 0
powermode: 1
powermode EC error: 0
powermode EC: 18
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 1
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 1
WMI backlight 2 state: 0
WMI backlight 3 state: 0
WMI light IO port: 0
WMI light y logo/lid: 0
EC minifancurve feature enabled: 1
EC minifancurve on cool: true
EC lockfancontroller error: 0
EC lockfancontroller: false
EC fanfullspeed error: false
EC fanfullspeed status: 0
EC fan curve current point id: 1
EC fan curve points size: 8
Current fan curve in hardware (embedded controller):
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
0        0       2       2       0       48      0       59      0       41
1700     1900    2       2       45      54      55      59      39      44
1900     2000    2       2       51      58      55      59      42      50
2200     2100    2       2       55      62      55      59      46      127
2300     2400    2       2       59      71      55      59      127     127
2600     2700    2       2       68      76      55      64      127     127
2900     3000    2       2       72      81      60      68      127     127
3500     3500    2       2       78      127     65      127     127     127
=====================
sudo cat /sys/class/leds/platform::ylogo/brightness
0

FWTS

I managed to run fwts on Arch Linux using the fwts snap package.
fwts_wmi.log

ACPI Tables

acpi_re.tar.gz

@XenHat
Copy link
Contributor

XenHat commented Jun 4, 2023

A friend with a similar laptop also kindly ran the windows command for me.

Model name: Lenovo Legion 5 Pro 6th Gen
CPU model: AMD Ryzen 7 5800H
GPU model: NVIDIA RTX 3070
Keyboard backlight: RGB (firmware control, no iCUE required)
Light in lid or logo: Yes
Light at IO-Ports at back: No (?)

Windows PowerShell.txt

@halfling81
Copy link

Model name: Legion 7 16ACHg6
CPU model: AMD Ryzen™ 9 5900HX Processor(Ryzen™ 9 5900HX)
GPU model: NVIDIA® GeForce RTX™ 3080 16GB
Keyboard backlight: RGB (firmware control, no iCUE required)
Light in lid or logo: Yes
Light at IO-Ports at back: Yes

sudo dmidecode -t system

 $ sudo dmidecode -t system | grep -v "Serial Number" | grep -v UUID
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 82N6
        Version: Legion 7 16ACHg6
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_82N6_BU_idea_FM_Legion 7 16ACHg6
        Family: Legion 7 16ACHg6

Handle 0x0021, DMI type 12, 5 bytes
System Configuration Options
        Option 1: String1 for Type12 Equipment Manufacturer
        Option 2: String2 for Type12 Equipment Manufacturer
        Option 3: String3 for Type12 Equipment Manufacturer
        Option 4: String4 for Type12 Equipment Manufacturer

Handle 0x0031, DMI type 32, 20 bytes
System Boot Information
        Status: No errors detected

sudo dmidecode -t bios

$ sudo dmidecode -t bios
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: LENOVO
        Version: GKCN54WW
        Release Date: 05/05/2022
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 16 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
                Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
                5.25"/360 kB floppy services are supported (int 13h)
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                8042 keyboard services are supported (int 9h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.54
        Firmware Revision: 1.54

Handle 0x0022, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 4
                en|US|iso8859-1
                fr|FR|iso8859-1
                ja|JP|unicode
                zh|TW|unicode
        Currently Installed Language: en|US|iso8859-1

fwts

fwts_wmi.log

ACPI Tables

ACPI_tables.tar.gz

@SirRFI
Copy link

SirRFI commented Jun 7, 2023

I would like to contribute, but ioport/brightness is missing. I have Lenovo Legion 7 Gen 7 AMD (16ARHA7), which has Legion logo (RGB) on the lid and light toggle for ports on the back.

$ ls /sys/class/leds/
input2::capslock     input33::capslock    input4::capslock
input2::numlock      input33::numlock     input4::compose
input2::scrolllock   input33::scrolllock  input4::kana
input31::capslock    input3::capslock     input4::numlock
input31::compose     input3::compose      input4::scrolllock
input31::kana        input3::kana         platform::kbd_backlight
input31::numlock     input3::numlock      platform::ylogo
input31::scrolllock  input3::scrolllock

@XenHat
Copy link
Contributor

XenHat commented Jun 8, 2023

I would like to contribute, but ioport/brightness is missing. I have Lenovo Legion 7 Gen 7 AMD (16ARHA7), which has Legion logo (RGB) on the lid and light toggle for ports on the back.

$ ls /sys/class/leds/
input2::capslock     input33::capslock    input4::capslock
input2::numlock      input33::numlock     input4::compose
input2::scrolllock   input33::scrolllock  input4::kana
input31::capslock    input3::capslock     input4::numlock
input31::compose     input3::compose      input4::scrolllock
input31::kana        input3::kana         platform::kbd_backlight
input31::numlock     input3::numlock      platform::ylogo
input31::scrolllock  input3::scrolllock

Have you tried compiling the latest version of the module from git?

@SirRFI
Copy link

SirRFI commented Jun 8, 2023

@XenHat I followed instructions from README. Latest commit in local directory matches current latest: f3f363f

@SirRFI
Copy link

SirRFI commented Jun 22, 2023

It's been a while, so I removed old directory, updated the system, rebooted and repeated steps:

/sys/class/leds/ before sudo make reloadmodule

input2::capslock/   input2::scrolllock/ input3::compose/    input3::numlock/    input6::capslock/   input6::kana/       input6::scrolllock/
input2::numlock/    input3::capslock/   input3::kana/       input3::scrolllock/ input6::compose/    input6::numlock/

/sys/class/leds/ after sudo make reloadmodule

input2::capslock/        input3::capslock/        input3::numlock/         input6::compose/         input6::scrolllock/      
input2::numlock/         input3::compose/         input3::scrolllock/      input6::kana/            platform::kbd_backlight/ 
input2::scrolllock/      input3::kana/            input6::capslock/        input6::numlock/         platform::ylogo/

platform::ioport/brightness is still missing.

Perhaps the instruction/code isn't adjusted to my model. It has toggle backlight for ports on the back, but no "Y-Logo" - instead it's "LEGION" text logo with RGB backlight.

@daemonofchaos
Copy link

daemonofchaos commented Jun 28, 2023

Model name: Legion 7-15IMH05
CPU model: Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz
GPU model: TU104BM [GeForce RTX 2070 SUPER Mobile / Max-Q] (rev a1)
Keyboard backlight: RGB
Light in lid or logo: yes
Light at IO-Ports at back: yes

Output of sudo dmidecode -t system

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

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 81YT
        Version: Lenovo Legion 7 15IMH05
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_81YT_BU_idea_FM_Legion 7 15IMH05
        Family: Legion 7 15IMH05

Handle 0x001F, DMI type 12, 5 bytes
System Configuration Options
        Option 1: ConfigOptions1
        Option 2: ConfigOptions2
        Option 3: ConfigOptions3

Handle 0x0023, DMI type 15, 29 bytes
System Event Log
        Area Length: 0 bytes
        Header Start Offset: 0x0000
        Header Length: 8192 bytes
        Data Start Offset: 0x2000
        Access Method: General-purpose non-volatile data functions
        Access Address: 0x0000
        Status: Valid, Not Full
        Change Token: 0x12345678
        Header Format: OEM-specific
        Supported Log Type Descriptors: 3
        Descriptor 1: POST memory resize
        Data Format 1: None
        Descriptor 2: POST error
        Data Format 2: POST results bitmap
        Descriptor 3: Log area reset/cleared
        Data Format 3: None

Handle 0x0030, DMI type 32, 11 bytes
System Boot Information
        Status: No errors detected

Output of sudo dmidecode -t bios

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

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: LENOVO
        Version: E9CN66WW(V4.11)
        Release Date: 09/30/2022
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 12 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
                Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
                5.25"/360 kB floppy services are supported (int 13h)
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                8042 keyboard services are supported (int 9h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 4.66
        Firmware Revision: 4.66

Handle 0x0020, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 8
                en|US|iso8859-1,0
                fr|FR|iso8859-1,0
                zh|TW|unicode,0
                ja|JP|unicode,0
                it|IT|iso8859-1,0
                es|ES|iso8859-1,0
                de|DE|iso8859-1,0
                pt|PT|iso8859-1,0
        Currently Installed Language: en|US|iso8859-1,0

None of the function keys worked for either the IO-Port or Lid light on my system.

output of sudo cat /sys/kernel/debug/legion/fancurve

EC Chip ID: ffff
EC Chip Version: ffff
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 4228710420
temperature access method: 3
CPU temperature error: 0
CPU temperature: 49
CPU temperature EC error: 0
CPU temperature EC: 255
CPU temperature ACPI error: -5
CPU temperature ACPI: 255
CPU temperature WMI error: 0
CPU temperature WMI: 49
CPU temperature WMI2 error: -14
CPU temperature WMI2: 49
CPU temperature WMI3 error: -14
CPU temperature WMI3: 49
GPU temperature error: 0
GPU temperature: 45
GPU temperature EC error: 0
GPU temperature EC: 255
GPU temperature ACPI error: -5
GPU temperature ACPI: 255
GPU temperature WMI error: 0
GPU temperature WMI: 45
GPU temperature WMI2 error: -14
GPU temperature WMI2: 45
GPU temperature WMI3 error: -14
GPU temperature WMI3: 45
fan speed access method: 3
1 fanspeed error: 0
1 fanspeed: 1600
1 fanspeed EC error: 0
1 fanspeed EC: 65535
1 fanspeed ACPI error: -5
1 fanspeed ACPI: 65535
1 fanspeed WMI error: 0
1 fanspeed WMI: 1600
1 fanspeed WMI2 error: -14
1 fanspeed WMI2: 1600
1 fanspeed WMI3 error: -14
1 fanspeed WMI3: 1600
2 fanspeed error: 0
2 fanspeed: 1600
2 fanspeed EC error: 0
2 fanspeed EC: 65535
2 fanspeed ACPI error: -5
2 fanspeed ACPI: 65535
2 fanspeed WMI error: 0
2 fanspeed WMI: 1600
2 fanspeed WMI2 error: -14
2 fanspeed WMI2: 1600
2 fanspeed WMI3 error: -14
2 fanspeed WMI3: 1600
powermode access method: 3
powermode error: 0
powermode: 2
powermode EC error: 0
powermode EC: 255
powermode ACPI error: -5
powermode ACPI: 76844032
powermode WMI error: 0
powermode WMI: 2
has custom powermode: 0
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: -5
WMI light IO port: -5
WMI light y logo/lid: -5
EC minifancurve feature enabled: 0
EC minifancurve on cool: error
EC lockfancontroller error: -1
EC lockfancontroller: error
EC fanfullspeed error: error
EC fanfullspeed status: -1
EC fan curve current point id: 0
EC fan curve points size: 0
Current fan curve in hardware:
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================
Current fan curve in hardware (WMI; might be empty)
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================

output of cat /sys/class/leds/platform\:\:ioport/brightness
cat: '/sys/class/leds/platform::ioport/brightness': No such file or directory

fwts_wmi.log

acpi_re.tar.gz

@sakgoyal
Copy link

Model name: Legion Y7000p-1060

Feedora 38 w/ KDE

CPU model: 8750h
GPU model: gtx1060-6gb
Keyboard backlight: white (off, med, bright)
Light in lid or logo: Big white Y logo
Light at IO-Ports at back: No (except small red power charging indicator)

Output of `sudo dmidecode -t system`
# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.1 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 81LF
        Version: Lenovo Legion Y7000P-1060
        Serial Number: [redacted]
        UUID: d56f1dfa-b1a5-11e8-b5f5-e86a640e2769
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_81LF_BU_idea_FM_Legion Y7000P-1060
        Family: Legion Y7000P-1060

Handle 0x001F, DMI type 12, 5 bytes
System Configuration Options
        Option 1: ConfigOptions1
        Option 2: ConfigOptions2
        Option 3: ConfigOptions3

Handle 0x0024, DMI type 15, 29 bytes
System Event Log
        Area Length: 0 bytes
        Header Start Offset: 0x0000
        Header Length: 8192 bytes
        Data Start Offset: 0x2000
        Access Method: General-purpose non-volatile data functions
        Access Address: 0x0000
        Status: Valid, Not Full
        Change Token: 0x12345678
        Header Format: OEM-specific
        Supported Log Type Descriptors: 3
        Descriptor 1: POST memory resize
        Data Format 1: None
        Descriptor 2: POST error
        Data Format 2: POST results bitmap
        Descriptor 3: Log area reset/cleared
        Data Format 3: None

Handle 0x0031, DMI type 32, 11 bytes
System Boot Information
        Status: No errors detected

Output of sudo dmidecode -t bios:
# dmidecode 3.4
Getting SMBIOS data from sysfs.
SMBIOS 3.0.1 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: LENOVO
        Version: 9VCN22WW
        Release Date: 11/30/2020
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 10 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
                Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
                5.25"/360 kB floppy services are supported (int 13h)
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                8042 keyboard services are supported (int 9h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.22
        Firmware Revision: 1.22

Handle 0x0020, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 8
                en|US|iso8859-1,0
                fr|FR|iso8859-1,0
                zh|TW|unicode,0
                ja|JP|unicode,0
                it|IT|iso8859-1,0
                es|ES|iso8859-1,0
                de|DE|iso8859-1,0
                pt|PT|iso8859-1,0
        Currently Installed Language: en|US|iso8859-1,0
  • Fn+L does nothing
  • /sys/kernel/debug/legion directory does not exist
  • /sys/class/leds/platform\:\:ylogo/ directory does not exist

Log file: fwts.log

image

@johnfanv2
Copy link
Owner Author

johnfanv2 commented Jul 14, 2023

@sakgoyal Can you somehow control the light of the logo in the lid, e.g. with Ctrl+U or Ctrl+Y? Otherwise, I think controlling the lights in the logo is not possible.

@sakgoyal
Copy link

sakgoyal commented Jul 14, 2023

I was not able to control it no matter what. I tried Fn+{all letters}.
I just want to be able to control the fan behavior (Fn+Q). I am ok with the light staying on.
I am also able to manually control the conservation mode for the battery using this command when inside sudo su:
echo 1 > /sys/bus/platform/drivers/ideapad_acpi/VPC2004\:00/conservation_mode
I didnt know this model even supported that option until I tried it. I never saw that option in vantage when I was on windows. maybe this other folder can do something or has some information that can help?

@johnfanv2
Copy link
Owner Author

johnfanv2 commented Jul 15, 2023

@sakgoyal Then I guess it is not possible to control the lights by software when it is not possible to control it by some key combo.

I see that you use a older model. I have to add it to the kernel driver module. Please create a new issue, where we can test it and try to test all the features step-by-step. Then we can try to fix all stuff (fan control, power modes,...).

@linuxazo
Copy link

linuxazo commented Aug 11, 2023

I guess this is the same laptop as in previous post from @themightymak the other thread...
According to your instructions, I moved my to this thread. Sorry for the inconvenience.
Either way, I am posting more data @johnfanv2
EDIT: @johnfanv2 - Updated WMI Info from Windows 11 (no significant difference):
win10_11_wmi_info.diff.txt

Model name: 2022 Lenovo Legion 7 16ARHA7 (82UH) - AMD Advantage Edition
CPU Model: AMD Ryzen 7 6800H
GPU Model: Integrated: APU AMD R680M Rembrandt / Discrete: AMD RX 6700M
Keyboard backlight: RGB per key backlight with off/low/medium/bright, It is managed using a fork branch of OpenRGB - https://openrgb.org (in process of being upstreamed)

Output of sudo dmidecode -t system:

# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.3.0 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 82UH
        Version: Legion 7 16ARHA7
        Serial Number: removed for privacy
        UUID: removed for privacy
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_82UH_BU_idea_FM_Legion
 7 16ARHA7
        Family: Legion 7 16ARHA7

Handle 0x001B, DMI type 12, 5 bytes
System Configuration Options
        Option 1: String1 for Type12 Equipment Manufacturer
        Option 2: String2 for Type12 Equipment Manufacturer
        Option 3: String3 for Type12 Equipment Manufacturer
        Option 4: String4 for Type12 Equipment Manufacturer

Handle 0x0029, DMI type 32, 20 bytes
System Boot Information
        Status: No errors detected

Output of sudo dmidecode -t bios:

BIOS Information
        Vendor: LENOVO
        Version: K9CN42WW
        Release Date: 03/10/2023
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 32 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
                Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
                5.25"/360 kB floppy services are supported (int 13h)
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                8042 keyboard services are supported (int 9h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.42
        Firmware Revision: 1.42

Handle 0x001C, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 4
                en|US|iso8859-1
                fr|FR|iso8859-1
                ja|JP|unicode
                zh|TW|unicode
        Currently Installed Language: en|US|iso8859-1

Output of sudo cat /sys/kernel/debug/legion/fancurve:

EC Chip ID: 5507
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 2081289482
temperature access method: 1
CPU temperature error: 0
CPU temperature: 39
CPU temperature EC error: 0
CPU temperature EC: 39
CPU temperature ACPI error: 0
CPU temperature ACPI: 39
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: 0
CPU temperature WMI2: 39
CPU temperature WMI3 error: 0
CPU temperature WMI3: 0
GPU temperature error: 0
GPU temperature: 0
GPU temperature EC error: 0
GPU temperature EC: 0
GPU temperature ACPI error: 0
GPU temperature ACPI: 0
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: 0
GPU temperature WMI2: 0
GPU temperature WMI3 error: 0
GPU temperature WMI3: 0
fan speed access method: 1
1 fanspeed error: 0
1 fanspeed: 1675
1 fanspeed EC error: 0
1 fanspeed EC: 1675
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 1600
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: 0
1 fanspeed WMI2: 1600
1 fanspeed WMI3 error: 0
1 fanspeed WMI3: 0
2 fanspeed error: 0
2 fanspeed: 1697
2 fanspeed EC error: 0
2 fanspeed EC: 1697
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 1600
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: 0
2 fanspeed WMI2: 1600
2 fanspeed WMI3 error: 0
2 fanspeed WMI3: 0
powermode access method: 3
powermode error: 0
powermode: 2
powermode EC error: 0
powermode EC: 0
powermode ACPI error: -5
powermode ACPI: 1
powermode WMI error: 0
powermode WMI: 2
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0

WMI backlight 3 state: 0
WMI light IO port: 0
WMI light y logo/lid: 0
EC minifancurve feature enabled: 1
EC minifancurve on cool: true
EC lockfancontroller error: 0
EC lockfancontroller: false
EC fanfullspeed error: false
EC fanfullsp
eed status: 0
EC fan curve current point id: 1
EC fan curve points size: 4

Current fan curve in hardware:

rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
0        0       2       2       0       127     0       127     0       37
1600     1600    2       2       127     127     127     127     33      41
1700     1700    2       2       127     127     127     127     38      46
1900     1900    2       2       127     127     127     127     41  
    127
=====================
Current fan curve in hardware (WMI; might be empty)
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================

Inspection of WMI entries:
Output of sudo fwts wmi - > fwts_wmi.log:
fwts_wmi.log
Disassembling ACPI tables:
Output of iasl -e SSDT* -d DSDT (the whole acpi_re folder):
acpi_re.zip
Gathering WMI info in Windows 11:
Legion7_16ARHA7_WMI_Info_Windows_11.txt

Test reading light state

IO-Port lights

  • Lights OFF (Fn+U)
    Output of sudo cat /sys/kernel/debug/legion/fancurve:
    fn+u_off_fancurve.txt
    Output of sudo cat /sys/class/leds/platform\:\:ioport/brightness:
    cat: '/sys/class/leds/platform::ioport/brightness': No such file or directory

  • Lights ON (Fn+U)
    Output of sudo cat /sys/kernel/debug/legion/fancurve:
    fn+u_on_fancurve.txt
    Output of sudo cat /sys/class/leds/platform\:\:ioport/brightness:
    cat: '/sys/class/leds/platform::ioport/brightness': No such file or directory

Lid LEGION light

  • LEGION Light OFF (Fn+L)
    Output of sudo cat /sys/kernel/debug/legion/fancurve:
    fn+l_off_fancurve.txt
    Output of sudo cat /sys/class/leds/platform\:\:ylogo/brightness:
    0

  • LEGION Light ON (Fn+L)
    Output of sudo cat /sys/kernel/debug/legion/fancurve:
    fn+l_on_fancurve.txt
    Output of sudo cat /sys/class/leds/platform\:\:ylogo/brightness:
    0

Please let me know how you would like me to test it and where and how you would like me to post the results and logs and eventual bugs or issue for further development for this laptop.

Thank You so much for all your effort!

@johnfanv2
Copy link
Owner Author

johnfanv2 commented Aug 11, 2023

@linuxazo Did I understand that correctly that you can control the light at the IO-Ports and the light in the logo with the keys Fn+U and Fn+L? This is interesting because I want to get this into the driver and software but I cannot control it on my own model. I will look at the ACPI dissambly and try to find a way to control it on the newer models. Currently, you logs looks like it does not work. Stay tuned!

@linuxazo
Copy link

@linuxazo Did I understand that correctly that you can control the light at the IO-Ports and the light in the logo with the keys Fn+U and Fn+L? This is interesting because I want to get this into the driver and software but I cannot control it on my own model. I will look at the ACPI dissambly and try to find a way to control it on the newer models. Currently, you logs looks like it does not work. Stay tuned!

@johnfanv2 Yes. You understood correctly. I can control those lights with those keyboard shortcuts without issues.

@linuxazo
Copy link

linuxazo commented Aug 11, 2023

@johnfanv2 This is the output of sudo dmesg | grep legion:

[   13.906686] legion_laptop: legion_laptop starts loading
[   13.906721] legion PNP0C09:00: legion_laptop platform driver probing
[   13.906723] legion PNP0C09:00: Read identifying information: DMI_SYS_VENDOR: LENOVO; DMI_PRODUCT_NAME: 82UH; DMI_BIOS_VERSION:K9CN42WW
[   13.906724] legion_laptop: Read identifying information: DMI_SYS_VENDOR: LENOVO; DMI_PRODUCT_NAME: 82UH; DMI_BIOS_VERSION:K9CN42WW
[   13.906726] legion PNP0C09:00: is_denied: 0; is_allowed: 1; do_load_by_list: 1; do_load: 1
[   13.906727] legion PNP0C09:00: Using configuration for system: K9CN
[   13.908930] legion PNP0C09:00: ACPI CFG: 2081289482
[   13.908932] legion_laptop: Creating RAM access to embedded controller
[   13.908942] legion_laptop: Succeffuly mapped embedded controller: 0xfe00d400 (in RAM)/0x0 (in EC) to virtual 0x00000000e1a3b3a8
[   13.909033] legion PNP0C09:00: Read embedded controller ID 0x5507
[   13.909034] legion PNP0C09:00: Skipped checking embedded controller id
[   13.909035] legion PNP0C09:00: Creating debugfs inteface
[   13.909041] legion_laptop: Creating sysfs inteface
[   13.909381] legion_laptop: Creating hwmon interface
[   13.909679] legion_laptop: Creating platform profile support
[   13.909682] legion_laptop: Init WMI driver support
[   13.909816] legion_wmi 887B54E3-DDDC-4B2C-8B88-68A26A8835D0: Register after probing for WMI.
[   13.910710] legion_wmi BFD42481-AEE3-4501-A107-AFB68425C5F8: Register after probing for WMI.
[   13.910863] legion_wmi BFD42481-AEE3-4502-A107-AFB68425C5F8: Register after probing for WMI.
[   13.910936] legion_wmi D062906B-12D4-4510-999D-4831EE80E985: Register after probing for WMI.
[   13.910956] legion_wmi BC72A435-E8C1-4275-B3E2-D8B8074ABA59: Register after probing for WMI.
[   13.911113] legion_wmi 10AFC6D9-EA8B-4590-A2E7-1CD3C84BB4B1: Register after probing for WMI.
[   13.911289] legion_wmi D320289E-8FEA-41E0-86F9-611D83151B5F: Register after probing for WMI.
[   13.911309] legion_laptop: Init keyboard backlight LED driver
[   13.931251] legion_laptop: ACPI result for 8C5B9127-ECD4-4657-980F-851019F99CA5:1: ACPI buffer length: 2
[   13.931254] legion_laptop: Error WMI call for reading brightness: expected a value between 1 and 3, but got 0
[   13.931255] legion_laptop: Error reading keyboard brighntess
[   13.931256] legion PNP0C09:00: Init keyboard backlight LED driver failed. Skipping ...
[   13.931257] legion_laptop: Init Y-Logo LED driver
[   13.933558] legion_laptop: ACPI result for 8C5B9127-ECD4-4657-980F-851019F99CA5:1: ACPI buffer length: 2
[   13.936085] legion_laptop: ACPI result for 8C5B9127-ECD4-4657-980F-851019F99CA5:1: ACPI buffer length: 2
[   13.936088] legion_laptop: Init IO-Port LED driver
[   13.936528] legion_laptop: ACPI result for 8C5B9127-ECD4-4657-980F-851019F99CA5:1: ACPI buffer length: 2
[   13.936530] legion_laptop: Error WMI call for reading brightness: expected a value between 1 and 2, but got 0
[   13.936531] legion_laptop: Error reading brighntess for light: 5
[   13.936532] legion PNP0C09:00: Init IO-Port LED driver failed. Skipping ...
[   13.936533] legion PNP0C09:00: legion_laptop loaded for this device

Hope it helps...

@SirRFI
Copy link

SirRFI commented Aug 12, 2023

@linuxazo Did I understand that correctly that you can control the light at the IO-Ports and the light in the logo with the keys Fn+U and Fn+L? This is interesting because I want to get this into the driver and software but I cannot control it on my own model. I will look at the ACPI dissambly and try to find a way to control it on the newer models. Currently, you logs looks like it does not work. Stay tuned!

Yes. Legion 7 Gen 7 AMD (16ARHA7, 2022) controls most stuff on firmware level, so it works out of the both on both Windows and Linux, even before loading the OS actually. This applies to toggling highlighting icons for the ports on the back, LEGION logo on the lid and switching keyboard RGB profiles and brightness on the keyboard. I posted my notes about the device, including function keys and Linux compatibility here. What didn't work last time I tested is Fn + R for 60/165Hz switch. There's open issue to support the device in OpenRGB if that's any use to you.

@linuxazo
Copy link

linuxazo commented Aug 12, 2023

@SirRFI I saw in your reddit post that you are searching for proprietary fingerprint drivers:
https://pcsupport.lenovo.com/us/en/products/laptops-and-netbooks/thinkpad-edge-laptops/thinkpad-e14-gen-4-type-21eb-and-21ec/downloads/driver-list/component?name=Fingerprint%20Reader&id=A4F7592E-3C73-4CCF-ABB9-09549219DFC8

Also, for Debian:
https://wiki.debian.org/SecurityManagement/fingerprint%20authentication

Our fingerprint sensor device is:
10a5:9800 FPC FPC Sensor Controller L:0001 FW:16.26.23.22
I can confirm it works well...

@gudata
Copy link

gudata commented May 4, 2024

Model name: LENOVO Legion 5 Pro - 82JD004LBM

CPU model: 11th Gen Intel(R) Core(TM) i7-11800H
GPU model: NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile / Max-Q] (rev a1)
Keyboard backlight: RGB

Light in lid or logo: yes = Y
Light at IO-Ports at back: no

# sudo cat /sys/kernel/debug/legion/fancurve
EC Chip ID: 8227
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 2081289494
temperature access method: 1
CPU temperature error: 0
CPU temperature: 41
CPU temperature EC error: 0
CPU temperature EC: 41
CPU temperature ACPI error: 0
CPU temperature ACPI: 41
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: -14
CPU temperature WMI2: 0
CPU temperature WMI3 error: -14
CPU temperature WMI3: 0
GPU temperature error: 0
GPU temperature: 0
GPU temperature EC error: 0
GPU temperature EC: 0
GPU temperature ACPI error: 0
GPU temperature ACPI: 0
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: -14
GPU temperature WMI2: 0
GPU temperature WMI3 error: -14
GPU temperature WMI3: 0
fan speed access method: 1
1 fanspeed error: 0
1 fanspeed: 2736
1 fanspeed EC error: 0
1 fanspeed EC: 2736
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 1800
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: -14
1 fanspeed WMI2: 0
1 fanspeed WMI3 error: -14
1 fanspeed WMI3: 0
2 fanspeed error: 0
2 fanspeed: 2681
2 fanspeed EC error: 0
2 fanspeed EC: 2681
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 1700
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: -14
2 fanspeed WMI2: 0
2 fanspeed WMI3 error: -14
2 fanspeed WMI3: 0
powermode access method: 3
powermode error: 0
powermode: 2
powermode EC error: 0
powermode EC: 0
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 2
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: -5
WMI light IO port: -5
WMI light Y logo/lid: -5
EC minifancurve feature enabled: 1
EC minifancurve on cool: true
EC lockfancontroller error: 0
EC lockfancontroller: false
fanfullspeed error: -22
fanfullspeed: 0
fanfullspeed EC error: 0
fanfullspeed EC: 0
EC fan curve current point id: 1
EC fan curve points size: 10
Current fan curve in hardware:
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
0        0       5       5       0       48      0       67      0       36
1800     1700    5       5       45      48      63      67      32      40
1800     1900    5       5       45      48      63      67      37      43
2100     2100    5       5       45      48      63      67      40      127
2400     2300    2       2       45      58      63      67      127     127
2600     2600    2       2       52      66      63      73      127     127
2900     2900    2       2       60      72      69      76      127     127
3500     3500    2       2       68      77      73      79      127     127
3800     3800    2       2       73      80      75      82      127     127
4200     4200    2       2       76      127     78      127     127     127
=====================
Current fan curve in hardware (WMI; might be empty)
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================
ls -la /sys/class/leds/
total 0
drwxr-xr-x  2 root root 0 май  4 10:41 .
drwxr-xr-x 89 root root 0 май  4 10:41 ..
lrwxrwxrwx  1 root root 0 май  4 10:41 input4::capslock -> ../../devices/platform/i8042/serio0/input/input4/input4::capslock
lrwxrwxrwx  1 root root 0 май  4 10:41 input4::numlock -> ../../devices/platform/i8042/serio0/input/input4/input4::numlock
lrwxrwxrwx  1 root root 0 май  4 10:41 input4::scrolllock -> ../../devices/platform/i8042/serio0/input/input4/input4::scrolllock
lrwxrwxrwx  1 root root 0 май  4 10:41 input8::capslock -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/0003:048D:C965.0002/input/input8/input8::capslock
lrwxrwxrwx  1 root root 0 май  4 10:41 input8::compose -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/0003:048D:C965.0002/input/input8/input8::compose
lrwxrwxrwx  1 root root 0 май  4 10:41 input8::kana -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/0003:048D:C965.0002/input/input8/input8::kana
lrwxrwxrwx  1 root root 0 май  4 10:41 input8::numlock -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/0003:048D:C965.0002/input/input8/input8::numlock
lrwxrwxrwx  1 root root 0 май  4 10:41 input8::scrolllock -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-7/3-7:1.0/0003:048D:C965.0002/input/input8/input8::scrolllock
lrwxrwxrwx  1 root root 0 май  4 10:41 input9::capslock -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.0/0003:048D:C101.0004/input/input9/input9::capslock
lrwxrwxrwx  1 root root 0 май  4 10:41 input9::compose -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.0/0003:048D:C101.0004/input/input9/input9::compose
lrwxrwxrwx  1 root root 0 май  4 10:41 input9::kana -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.0/0003:048D:C101.0004/input/input9/input9::kana
lrwxrwxrwx  1 root root 0 май  4 10:41 input9::numlock -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.0/0003:048D:C101.0004/input/input9/input9::numlock
lrwxrwxrwx  1 root root 0 май  4 10:41 input9::scrolllock -> ../../devices/pci0000:00/0000:00:14.0/usb3/3-9/3-9:1.0/0003:048D:C101.0004/input/input9/input9::scrolllock
lrwxrwxrwx  1 root root 0 май  4 10:41 phy0-led -> ../../devices/pci0000:00/0000:00:14.3/leds/phy0-led

Turn the light on.
Get output of sudo cat /sys/kernel/debug/legion/fancurve and copy here.

cat /sys/kernel/debug/legion/fancurve
EC Chip ID: 8227
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 2081289494
temperature access method: 1
CPU temperature error: 0
CPU temperature: 39
CPU temperature EC error: 0
CPU temperature EC: 39
CPU temperature ACPI error: 0
CPU temperature ACPI: 39
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: -14
CPU temperature WMI2: 0
CPU temperature WMI3 error: -14
CPU temperature WMI3: 0
GPU temperature error: 0
GPU temperature: 0
GPU temperature EC error: 0
GPU temperature EC: 0
GPU temperature ACPI error: 0
GPU temperature ACPI: 0
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: -14
GPU temperature WMI2: 0
GPU temperature WMI3 error: -14
GPU temperature WMI3: 0
fan speed access method: 1
1 fanspeed error: 0
1 fanspeed: 2722
1 fanspeed EC error: 0
1 fanspeed EC: 2722
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 1800
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: -14
1 fanspeed WMI2: 0
1 fanspeed WMI3 error: -14
1 fanspeed WMI3: 0
2 fanspeed error: 0
2 fanspeed: 2655
2 fanspeed EC error: 0
2 fanspeed EC: 2655
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 1700
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: -14
2 fanspeed WMI2: 0
2 fanspeed WMI3 error: -14
2 fanspeed WMI3: 0
powermode access method: 3
powermode error: 0
powermode: 2
powermode EC error: 0
powermode EC: 0
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 2
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: -5
WMI light IO port: -5
WMI light Y logo/lid: -5
EC minifancurve feature enabled: 1
EC minifancurve on cool: true
EC lockfancontroller error: 0
EC lockfancontroller: false
fanfullspeed error: -22
fanfullspeed: 0
fanfullspeed EC error: 0
fanfullspeed EC: 0
EC fan curve current point id: 1
EC fan curve points size: 10
Current fan curve in hardware:
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
0        0       5       5       0       48      0       67      0       36
1800     1700    5       5       45      48      63      67      32      40
1800     1900    5       5       45      48      63      67      37      43
2100     2100    5       5       45      48      63      67      40      127
2400     2300    2       2       45      58      63      67      127     127
2600     2600    2       2       52      66      63      73      127     127
2900     2900    2       2       60      72      69      76      127     127
3500     3500    2       2       68      77      73      79      127     127
3800     3800    2       2       73      80      75      82      127     127
4200     4200    2       2       76      127     78      127     127     127
=====================
Current fan curve in hardware (WMI; might be empty)
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================

/sys/class/leds/platform::ylogo/brightness
..no platform..

lenovo-5-pro.zip

@unknown10777
Copy link

unknown10777 commented Jun 11, 2024

Model and Debug Info

Model name: Y7000 2020
CPU model: Intel I5 10300H (e.g. AMD Ryzen 7 5800H)
GPU model: Nvidia GTX 1650Ti (e.g NVIDIA RTX 3700)
Keyboard backlight: single with off/medium/bright
Light in lid or logo: yes
Light at IO-Ports at back: no?
Keyboard backlight driver in kernel is working fine, but only in off/bright, not medium

Output of sudo dmidecode -t system. Please remove Serial Number and UUID for privacy:

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

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 82AV
        Version: Lenovo Legion Y7000 2020
        Serial Number: wiped
        UUID: wiped
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_82AV_BU_idea_FM_Legion Y7000 2020
        Family: Legion Y7000 2020

Handle 0x0020, DMI type 12, 5 bytes
System Configuration Options
        Option 1: ConfigOptions1
        Option 2: ConfigOptions2
        Option 3: ConfigOptions3

Handle 0x0024, DMI type 15, 29 bytes
System Event Log
        Area Length: 0 bytes
        Header Start Offset: 0x0000
        Header Length: 8192 bytes
        Data Start Offset: 0x2000
        Access Method: General-purpose non-volatile data functions
        Access Address: 0x0000
        Status: Valid, Not Full
        Change Token: 0x12345678
        Header Format: OEM-specific
        Supported Log Type Descriptors: 3
        Descriptor 1: POST memory resize
        Data Format 1: None
        Descriptor 2: POST error
        Data Format 2: POST results bitmap
        Descriptor 3: Log area reset/cleared
        Data Format 3: None

Handle 0x0031, DMI type 32, 11 bytes
System Boot Information
        Status: No errors detected

Output of sudo dmidecode -t bios:

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

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: LENOVO
        Version: EFCN46WW
        Release Date: 12/04/2020
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 11 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
                Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
                5.25"/360 kB floppy services are supported (int 13h)
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                8042 keyboard services are supported (int 9h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.46
        Firmware Revision: 1.46

Handle 0x0021, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 8
                en|US|iso8859-1,0
                fr|FR|iso8859-1,0
                zh|TW|unicode,0
                ja|JP|unicode,0
                it|IT|iso8859-1,0
                es|ES|iso8859-1,0
                de|DE|iso8859-1,0
                pt|PT|iso8859-1,0
        Currently Installed Language: en|US|iso8859-1,0
Turn the light off
Get output of sudo cat /sys/kernel/debug/legion/fancurve and copy here.
EC Chip ID: 8227
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 2081289494
temperature access method: 1
CPU temperature error: 0
CPU temperature: 49
CPU temperature EC error: 0
CPU temperature EC: 49
CPU temperature ACPI error: 0
CPU temperature ACPI: 49
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: -14
CPU temperature WMI2: 0
CPU temperature WMI3 error: -14
CPU temperature WMI3: 0
GPU temperature error: 0
GPU temperature: 48
GPU temperature EC error: 0
GPU temperature EC: 48
GPU temperature ACPI error: 0
GPU temperature ACPI: 48
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: -14
GPU temperature WMI2: 0
GPU temperature WMI3 error: -14
GPU temperature WMI3: 0
fan speed access method: 1
1 fanspeed error: 0
1 fanspeed: 0
1 fanspeed EC error: 0
1 fanspeed EC: 0
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 0
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: -14
1 fanspeed WMI2: 0
1 fanspeed WMI3 error: -14
1 fanspeed WMI3: 0
2 fanspeed error: 0
2 fanspeed: 0
2 fanspeed EC error: 0
2 fanspeed EC: 0
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 0
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: -14
2 fanspeed WMI2: 0
2 fanspeed WMI3 error: -14
2 fanspeed WMI3: 0
powermode access method: 3
powermode error: 0
powermode: 1
powermode EC error: 0
powermode EC: 1
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 1
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: -5
WMI light IO port: -5
WMI light Y logo/lid: -5
EC minifancurve feature enabled: 1
EC minifancurve on cool: true
EC lockfancontroller error: 0
EC lockfancontroller: false
fanfullspeed error: -22
fanfullspeed: 0
fanfullspeed EC error: 0
fanfullspeed EC: 0
EC fan curve current point id: 2
EC fan curve points size: 9
Current fan curve in hardware:
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
0        0       2       2       0       53      0       52      0       36
0        0       2       2       49      53      48      52      33      45
0        0       2       2       49      53      48      52      41      127
0        0       2       2       49      64      48      52      127     127
4500     4500    2       2       60      68      48      52      127     127
4500     4500    2       2       64      75      48      52      127     127
4500     4500    2       2       71      80      48      56      127     127
4500     4500    2       2       76      84      52      65      127     127
4500     4500    2       2       80      127     61      71      127     127
=====================
Current fan curve in hardware (WMI; might be empty)
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================
Get output of cat   /sys/class/leds/platform\:\:ylogo/brightness and copy here,
drwxr-xr-x  2 root root 0 2024年 6月11日 .
drwxr-xr-x 74 root root 0 2024年 6月11日 ..
lrwxrwxrwx  1 root root 0  6月11日 14:14 input0::capslock -> ../../devices/platform/i8042/serio0/input/input0/input0::capslock
lrwxrwxrwx  1 root root 0  6月11日 14:14 input0::numlock -> ../../devices/platform/i8042/serio0/input/input0/input0::numlock
lrwxrwxrwx  1 root root 0  6月11日 14:14 input0::scrolllock -> ../../devices/platform/i8042/serio0/input/input0/input0::scrolllock
lrwxrwxrwx  1 root root 0  6月11日 12:36 input8::capslock -> ../../devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/0003:048D:C100.0002/input/input8/input8::capslock
lrwxrwxrwx  1 root root 0  6月11日 12:36 input8::compose -> ../../devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/0003:048D:C100.0002/input/input8/input8::compose
lrwxrwxrwx  1 root root 0  6月11日 12:36 input8::kana -> ../../devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/0003:048D:C100.0002/input/input8/input8::kana
lrwxrwxrwx  1 root root 0  6月11日 12:36 input8::numlock -> ../../devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/0003:048D:C100.0002/input/input8/input8::numlock
lrwxrwxrwx  1 root root 0  6月11日 12:36 input8::scrolllock -> ../../devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/0003:048D:C100.0002/input/input8/input8::scrolllock
lrwxrwxrwx  1 root root 0  6月11日 13:15 phy0-led -> ../../devices/pci0000:00/0000:00:14.3/leds/phy0-led
lrwxrwxrwx  1 root root 0  6月11日 12:36 platform::kbd_backlight -> ../../devices/pci0000:00/0000:00:1f.0/PNP0C09:00/VPC2004:00/leds/platform::kbd_backlight

Turn the light on
Get output of sudo cat /sys/kernel/debug/legion/fancurve and copy here.
EC Chip ID: 8227
EC Chip Version: 2a4
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 2081289494
temperature access method: 1
CPU temperature error: 0
CPU temperature: 50
CPU temperature EC error: 0
CPU temperature EC: 50
CPU temperature ACPI error: 0
CPU temperature ACPI: 50
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: -14
CPU temperature WMI2: 0
CPU temperature WMI3 error: -14
CPU temperature WMI3: 0
GPU temperature error: 0
GPU temperature: 49
GPU temperature EC error: 0
GPU temperature EC: 49
GPU temperature ACPI error: 0
GPU temperature ACPI: 49
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: -14
GPU temperature WMI2: 0
GPU temperature WMI3 error: -14
GPU temperature WMI3: 0
fan speed access method: 1
1 fanspeed error: 0
1 fanspeed: 0
1 fanspeed EC error: 0
1 fanspeed EC: 0
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 0
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: -14
1 fanspeed WMI2: 0
1 fanspeed WMI3 error: -14
1 fanspeed WMI3: 0
2 fanspeed error: 0
2 fanspeed: 0
2 fanspeed EC error: 0
2 fanspeed EC: 0
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 0
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: -14
2 fanspeed WMI2: 0
2 fanspeed WMI3 error: -14
2 fanspeed WMI3: 0
powermode access method: 3
powermode error: 0
powermode: 1
powermode EC error: 0
powermode EC: 1
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 1
has custom powermode: 1
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: -5
WMI light IO port: -5
WMI light Y logo/lid: -5
EC minifancurve feature enabled: 1
EC minifancurve on cool: true
EC lockfancontroller error: 0
EC lockfancontroller: false
fanfullspeed error: -22
fanfullspeed: 0
fanfullspeed EC error: 0
fanfullspeed EC: 0
EC fan curve current point id: 2
EC fan curve points size: 9
Current fan curve in hardware:
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
0        0       2       2       0       53      0       52      0       36
0        0       2       2       49      53      48      52      33      45
0        0       2       2       49      53      48      52      41      127
0        0       2       2       49      64      48      52      127     127
4500     4500    2       2       60      68      48      52      127     127
4500     4500    2       2       64      75      48      52      127     127
4500     4500    2       2       71      80      48      56      127     127
4500     4500    2       2       76      84      52      65      127     127
4500     4500    2       2       80      127     61      71      127     127
=====================
Current fan curve in hardware (WMI; might be empty)
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================
Get output of cat   /sys/class/leds/platform\:\:ylogo/brightness and copy here,
not found

@tomasvalek
Copy link

Model and Debug Info

Model name: Lenovo Legion Pro 7 16ARX8H
CPU model: AMD Ryzen 9 7945HX
GPU model: NVIDIA GeForce RTX 4080
Keyboard backlight: RGB
Light in lid or logo: No
Light at IO-Ports at back: Yes. Led keyboard and led line under notebook case.

sudo dmidecode -t system

# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.4.0 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: LENOVO
	Product Name: 82WS
	Version: Legion Pro 7 16ARX8H
	Wake-up Type: Power Switch
	SKU Number: LENOVO_MT_82WS_BU_idea_FM_Legion Pro 7 16ARX8H
	Family: Legion Pro 7 16ARX8H

Handle 0x0017, DMI type 12, 5 bytes
System Configuration Options
	Option 1: String1 for Type12 Equipment Manufacturer
	Option 2: String2 for Type12 Equipment Manufacturer
	Option 3: String3 for Type12 Equipment Manufacturer
	Option 4: String4 for Type12 Equipment Manufacturer

Handle 0x0026, DMI type 32, 20 bytes
System Boot Information
	Status: No errors detected

sudo dmidecode -t bios

# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.4.0 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
	Vendor: LENOVO
	Version: LPCN45WW
	Release Date: 08/02/2023
	Address: 0xE0000
	Runtime Size: 128 kB
	ROM Size: 32 MB
	Characteristics:
		PCI is supported
		PNP is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		Boot from CD is supported
		Selectable boot is supported
		EDD is supported
		ACPI is supported
		USB legacy is supported
		BIOS boot specification is supported
		Function key-initiated network boot is supported
		Targeted content distribution is supported
		UEFI is supported
	BIOS Revision: 1.45
	Firmware Revision: 1.45

Handle 0x0018, DMI type 13, 22 bytes
BIOS Language Information
	Language Description Format: Long
	Installable Languages: 4
		en|US|iso8859-1
		fr|FR|iso8859-1
		ja|JP|unicode
		zh|TW|unicode
	Currently Installed Language: en|US|iso8859-1

Inspecting WMI entries
fwts_wmi.log

ACPI_RE
acpi_re.zip

@CCF100
Copy link

CCF100 commented Jun 16, 2024

fastfetch output:

❯ fastfetch
                  -`                     caleb@caleb-gaming-laptop-archlinux
                 .o+`                    -----------------------------------
                `ooo/                    OS: Arch Linux x86_64
               `+oooo:                   Host: 81SX (Legion Y540-15IRH)
              `+oooooo:                  Kernel: Linux 6.9.4-zen1-1-zen
              -+oooooo+:                 Uptime: 33 mins
            `/:-:++oooo+:                Packages: 4726 (pacman), 13 (flatpak), 6 (snap)
           `/++++/+++++++:               Shell: zsh 5.9
          `/++++++++++++++:              Display (BOE06FB): 1920x1080 @ 60Hz [Built-in]
         `/+++ooooooooooooo/`            DE: KDE Plasma 6.0.5
        ./ooosssso++osssssso+`           WM: KWin (Wayland)
       .oossssso-````/ossssss+`          WM Theme: Breeze
      -osssssso.      :ssssssso.         Theme: Breeze (Dark) [QT], Breeze-Dark [GTK2], Breeze [GTK3/4]
     :osssssss/        osssso+++.        Icons: breeze-dark [QT], breeze-dark [GTK2/3/4]
    /ossssssss/        +ssssooo/-        Font: Noto Sans (10pt) [QT], Noto Sans (10pt) [GTK2/3/4]
  `/ossssso+/:-        -:/+osssso+-      Cursor: DeppinDark (24px)
 `+sso+:-`                 `.-/+oso:     Terminal: konsole 24.5.0
`++:.                           `-/+/    Terminal Font: SpaceMono Nerd Font (11pt)
.`                                 `/    CPU: Intel(R) Core(TM) i5-9300H (8) @ 4.10 GHz
                                         GPU: NVIDIA GeForce GTX 1660 Ti Mobile [Discrete]
                                         Memory: 5.23 GiB / 15.42 GiB (34%)
                                         Swap: 4.04 GiB / 27.56 GiB (15%)
                                         Disk (/): 233.79 GiB / 238.38 GiB (98%) - btrfs
                                         Disk (/media/DataEXT4): 1.78 TiB / 1.82 TiB (98%) - btrfs
                                         Local IP (wlp0s20f3): 192.168.1.89/24 *
                                         Battery: 55% [Charging]
                                         Locale: C.UTF-8

                                         ████████████████████████
                                         ████████████████████████
    ~                                                                     ✔  at 03:59:01 PM  

dmidecode -t -system

# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.0.1 present.

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 81SX
        Version: Legion Y540-15IRH
        Serial Number: <REDACTED>
        UUID: <REDACTED>
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_81SX_BU_idea_FM_Legion Y540-15IRH
        Family: Legion Y540-15IRH

Handle 0x001F, DMI type 12, 5 bytes
System Configuration Options
        Option 1: ConfigOptions1
        Option 2: ConfigOptions2
        Option 3: ConfigOptions3

Handle 0x0024, DMI type 15, 29 bytes
System Event Log
        Area Length: 0 bytes
        Header Start Offset: 0x0000
        Header Length: 8192 bytes
        Data Start Offset: 0x2000
        Access Method: General-purpose non-volatile data functions
        Access Address: 0x0000
        Status: Valid, Not Full
        Change Token: 0x12345678
        Header Format: OEM-specific
        Supported Log Type Descriptors: 3
        Descriptor 1: POST memory resize
        Data Format 1: None
        Descriptor 2: POST error
        Data Format 2: POST results bitmap
        Descriptor 3: Log area reset/cleared
        Data Format 3: None

Handle 0x0031, DMI type 32, 11 bytes
System Boot Information
        Status: No errors detected
        ```
# dmidecode -t bios
        ```
        # dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.0.1 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: LENOVO
        Version: BHCN35WW
        Release Date: 11/23/2019
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 10 MB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Japanese floppy for NEC 9800 1.2 MB is supported (int 13h)
                Japanese floppy for Toshiba 1.2 MB is supported (int 13h)
                5.25"/360 kB floppy services are supported (int 13h)
                5.25"/1.2 MB floppy services are supported (int 13h)
                3.5"/720 kB floppy services are supported (int 13h)
                3.5"/2.88 MB floppy services are supported (int 13h)
                8042 keyboard services are supported (int 9h)
                CGA/mono video services are supported (int 10h)
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Targeted content distribution is supported
                UEFI is supported
        BIOS Revision: 1.35
        Firmware Revision: 1.35

Handle 0x0020, DMI type 13, 22 bytes
BIOS Language Information
        Language Description Format: Long
        Installable Languages: 8
                en|US|iso8859-1,0
                fr|FR|iso8859-1,0
                zh|TW|unicode,0
                ja|JP|unicode,0
                it|IT|iso8859-1,0
                es|ES|iso8859-1,0
                de|DE|iso8859-1,0
                pt|PT|iso8859-1,0
        Currently Installed Language: en|US|iso8859-1,0

IO-Port Light: N/A, this model doesn't have them

Y-Logo / Lid-light:

With light disabled:

❯ sudo cat /sys/kernel/debug/legion/fancurve
EC Chip ID: 8226
EC Chip Version: 1a2
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 4228773126
temperature access method: 2
CPU temperature error: 0
CPU temperature: 52
CPU temperature EC error: 0
CPU temperature EC: 0
CPU temperature ACPI error: 0
CPU temperature ACPI: 52
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: -14
CPU temperature WMI2: 0
CPU temperature WMI3 error: -14
CPU temperature WMI3: 0
GPU temperature error: 0
GPU temperature: 46
GPU temperature EC error: 0
GPU temperature EC: 0
GPU temperature ACPI error: 0
GPU temperature ACPI: 46
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: -14
GPU temperature WMI2: 0
GPU temperature WMI3 error: -14
GPU temperature WMI3: 0
fan speed access method: 3
1 fanspeed error: 0
1 fanspeed: 2200
1 fanspeed EC error: 0
1 fanspeed EC: 0
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 2200
1 fanspeed WMI error: 0
1 fanspeed WMI: 2200
1 fanspeed WMI2 error: -14
1 fanspeed WMI2: 2200
1 fanspeed WMI3 error: -14
1 fanspeed WMI3: 2200
2 fanspeed error: 0
2 fanspeed: 2000
2 fanspeed EC error: 0
2 fanspeed EC: 0
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 2000
2 fanspeed WMI error: 0
2 fanspeed WMI: 2000
2 fanspeed WMI2 error: -14
2 fanspeed WMI2: 2000
2 fanspeed WMI3 error: -14
2 fanspeed WMI3: 2000
powermode access method: 3
powermode error: 0
powermode: 2
powermode EC error: 0
powermode EC: 0
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 2
has custom powermode: 0
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: -5
WMI light IO port: -5
WMI light Y logo/lid: -5
EC minifancurve feature enabled: 1
EC minifancurve on cool: error
EC lockfancontroller error: 0
EC lockfancontroller: false
fanfullspeed error: -22
fanfullspeed: 0
fanfullspeed EC error: 0
fanfullspeed EC: 0
EC fan curve current point id: 0
EC fan curve points size: 0
Current fan curve in hardware:
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================
Current fan curve in hardware (WMI; might be empty)
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================

sysfs interface for the y-logo is missing...
image

With light enabled:

❯ sudo cat /sys/kernel/debug/legion/fancurve
EC Chip ID: 8226
EC Chip Version: 1a2
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 4228773126
temperature access method: 2
CPU temperature error: 0
CPU temperature: 52
CPU temperature EC error: 0
CPU temperature EC: 0
CPU temperature ACPI error: 0
CPU temperature ACPI: 52
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: -14
CPU temperature WMI2: 0
CPU temperature WMI3 error: -14
CPU temperature WMI3: 0
GPU temperature error: 0
GPU temperature: 46
GPU temperature EC error: 0
GPU temperature EC: 0
GPU temperature ACPI error: 0
GPU temperature ACPI: 46
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: -14
GPU temperature WMI2: 0
GPU temperature WMI3 error: -14
GPU temperature WMI3: 0
fan speed access method: 3
1 fanspeed error: 0
1 fanspeed: 2200
1 fanspeed EC error: 0
1 fanspeed EC: 0
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 2200
1 fanspeed WMI error: 0
1 fanspeed WMI: 2200
1 fanspeed WMI2 error: -14
1 fanspeed WMI2: 2200
1 fanspeed WMI3 error: -14
1 fanspeed WMI3: 2200
2 fanspeed error: 0
2 fanspeed: 2000
2 fanspeed EC error: 0
2 fanspeed EC: 0
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 2000
2 fanspeed WMI error: 0
2 fanspeed WMI: 2000
2 fanspeed WMI2 error: -14
2 fanspeed WMI2: 2000
2 fanspeed WMI3 error: -14
2 fanspeed WMI3: 2000
powermode access method: 3
powermode error: 0
powermode: 2
powermode EC error: 0
powermode EC: 0
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 2
has custom powermode: 0
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: -5
WMI light IO port: -5
WMI light Y logo/lid: -5
EC minifancurve feature enabled: 1
EC minifancurve on cool: error
EC lockfancontroller error: 0
EC lockfancontroller: false
fanfullspeed error: -22
fanfullspeed: 0
fanfullspeed EC error: 0
fanfullspeed EC: 0
EC fan curve current point id: 0
EC fan curve points size: 0
Current fan curve in hardware:
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================
Current fan curve in hardware (WMI; might be empty)
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================
❯ cat   /sys/class/leds/platform\:\:ioport/brightness
cat: '/sys/class/leds/platform::ioport/brightness': No such file or directory
❯ cat   /sys/class/leds/
❯ sudo cat /sys/kernel/debug/legion/fancurve
EC Chip ID: 8226
EC Chip Version: 1a2
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 4228773126
temperature access method: 2
CPU temperature error: 0
CPU temperature: 48
CPU temperature EC error: 0
CPU temperature EC: 0
CPU temperature ACPI error: 0
CPU temperature ACPI: 48
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: -14
CPU temperature WMI2: 0
CPU temperature WMI3 error: -14
CPU temperature WMI3: 0
GPU temperature error: 0
GPU temperature: 44
GPU temperature EC error: 0
GPU temperature EC: 0
GPU temperature ACPI error: 0
GPU temperature ACPI: 44
GPU temperature WMI error: 0
GPU temperature WMI: 0
GPU temperature WMI2 error: -14
GPU temperature WMI2: 0
GPU temperature WMI3 error: -14
GPU temperature WMI3: 0
fan speed access method: 3
1 fanspeed error: 0
1 fanspeed: 1400
1 fanspeed EC error: 0
1 fanspeed EC: 0
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 1400
1 fanspeed WMI error: 0
1 fanspeed WMI: 1400
1 fanspeed WMI2 error: -14
1 fanspeed WMI2: 1400
1 fanspeed WMI3 error: -14
1 fanspeed WMI3: 1400
2 fanspeed error: 0
2 fanspeed: 1100
2 fanspeed EC error: 0
2 fanspeed EC: 0
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 1100
2 fanspeed WMI error: 0
2 fanspeed WMI: 1100
2 fanspeed WMI2 error: -14
2 fanspeed WMI2: 1100
2 fanspeed WMI3 error: -14
2 fanspeed WMI3: 1100
powermode access method: 3
powermode error: 0
powermode: 2
powermode EC error: 0
powermode EC: 0
powermode ACPI error: -5
powermode ACPI: 0
powermode WMI error: 0
powermode WMI: 2
has custom powermode: 0
ACPI rapidcharge error: 0
ACPI rapidcharge: 0
WMI backlight 2 state: 0
WMI backlight 3 state: -5
WMI light IO port: -5
WMI light Y logo/lid: -5
EC minifancurve feature enabled: 1
EC minifancurve on cool: error
EC lockfancontroller error: 0
EC lockfancontroller: false
fanfullspeed error: -22
fanfullspeed: 0
fanfullspeed EC error: 0
fanfullspeed EC: 0
EC fan curve current point id: 0
EC fan curve points size: 0
Current fan curve in hardware:
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================
Current fan curve in hardware (WMI; might be empty)
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================

couldn't get fwts to build, but I tried... 😭

ACPI tables:

acpi_re.zip

@Sandrdr
Copy link

Sandrdr commented Oct 3, 2024

Если у вас есть модель с подсветкой на портах ввода-вывода сзади, подсветкой в ​​Y-Logo на крышке или еще одной подсветкой на крышке, пожалуйста, помогите протестировать эту функцию. Пожалуйста, предоставьте следующую информацию. Ее необходимо протестировать на нескольких разных моделях, поскольку я предполагаю, что у них немного разные методы. Сначала я соберу информацию с разных моделей (см. ниже), затем реализую ее, а затем попрошу вас проверить, работает ли она.

Модель и отладочная информация

Название модели: ??? Модель ЦП: ??? (например, AMD Ryzen 7 5800H) Модель ГП: ??? (например, NVIDIA RTX 3700) Подсветка клавиатуры: ??? (RGB, один цвет с выключением/включением, один цвет с выключением/средней/яркой) Подсветка крышки или логотипа: ??? (да/нет) Подсветка портов ввода-вывода сзади: ??? (да/нет)

Вывод sudo dmidecode -t system. Пожалуйста, удалите серийный номер и UUID для конфиденциальности:

???

Вывод sudo dmidecode -t bios:

???

Тест состояния света для чтения

Пожалуйста, извлеките новейший код, скомпилируйте и загрузите модуль ядра, как описано в файле README, т. е. до шага sudo make reloadmodule.

Свет IO-порта

Подсветку на портах ввода-вывода можно включить/выключить нажатием Fn+U (может быть, как-то иначе?).

  • Выключи свет.
  • Получите вывод sudo cat /sys/kernel/debug/legion/fancurveи скопируйте сюда.
  • Получите вывод cat /sys/class/leds/platform\:\:ioport/brightnessи скопируйте сюда.
  • Включи свет.
  • Получите вывод sudo cat /sys/kernel/debug/legion/fancurveи скопируйте сюда.
  • Получите вывод cat /sys/class/leds/platform\:\:ioport/brightnessи скопируйте сюда.

Y-Логотип/Подсветка крышки

Подсветку можно включить/выключить нажатием Fn+L (может быть, как-то иначе?).

  • Выключи свет.
  • Получите вывод sudo cat /sys/kernel/debug/legion/fancurveи скопируйте сюда.
  • Получите вывод cat /sys/class/leds/platform\:\:ylogo/brightnessи скопируйте сюда,
  • Включи свет.
  • Получите вывод sudo cat /sys/kernel/debug/legion/fancurveи скопируйте сюда.
  • Получите вывод cat /sys/class/leds/platform\:\:ylogo/brightnessи скопируйте сюда,

Следующая информация будет полезна, но необязательна

Проверка записей WMI

# Install required tools
sudo apt install fwts

# Create folder for all the new files
mkdir fwts_re
cd fwts_re
sudo fwts wmi - > fwts_wmi.log

Затем загрузите файлы.

Разборка таблиц ACPI

# Install requiered tools
sudo apt install acpica-tools
# Create folder for all the new files
mkdir acpi_re
cd acpi_re

# List ACPI tables and copy them
ls /sys/firmware/acpi/tables/
sudo cp --no-preserve=mode /sys/firmware/acpi/tables/*SDT* .

# Disassemble tables to output DSDT.dsl
iasl -e SSDT* -d DSDT

Затем загрузите файлы.

Сбор информации WMI в Windows

Если у вас Windows, то следующая информация будет очень и очень полезна для использования методов ACPI. Если у вас нет Windows, то просто пропустите это. Откройте powershell как администратор в Windows и запустите следующий скрипт. Он выведет список всех доступных методов lenovo WMI. Скопируйте вывод в файл и загрузите.

$wmi_classes = Get-WmiObject -Namespace 'ROOT/WMI' -List -Class "*LENOVO*"
foreach ($wmi_class in $wmi_classes){
  Write-Host "########################################"
  Write-Host "########################################"
  Write-Host "########################################"
  Write-Host "Name:" $wmi_class.Name
  Write-Host "Class Name:" $wmi_class.Name 
  Write-Host "Class GUID:" $wmi_class.Qualifiers["guid"].Value
  Write-Host "Description:" $wmi_class.Methods.Count
  Write-Host "Methods:"
  foreach ($method in $wmi_class.Methods){
    Write-Host "Name:" $method.Name
    Write-Host "WmiMethodId:" $method.Qualifiers["WmiMethodId"].Value
    Write-Host "Class Name:" $wmi_class.Name 
    Write-Host "Class GUID:" $wmi_class.Qualifiers["guid"].Value
    Write-Host "Description:" $method.Qualifiers["Description"].Value
    Write-Host "Implemented:" $method.Qualifiers["Implemented"].Value
    Write-Host ""
  }
  Write-Host ""
}

Если у вас есть модель с панелью на портах ввода-вывода сзади, панелью с Y-образным логотипом на крышке или еще одной панелью на крышке, пожалуйста, помогите протестировать эту функцию. Пожалуйста, предоставьте эту информацию. Ее необходимо протестировать на нескольких разных моделях, поскольку я предполагаю, что у них немного разные методы. Сначала я соберу информацию с разных моделей (см. ниже), затем реализую ее, а затем попрошу вас проверить, работает ли она.

Модель и дополнительная информация

Название модели: ??? Модель ЦП: ??? (например, AMD Ryzen 7 5800H) Модель ГП: ??? (например, NVIDIA RTX 3700) Подсветка клавиатуры: ??? (RGB, один цвет с выключением/включением, один цвет с выключением/средней/яркой) Подсветка крышки или логотипа: ??? (да/нет) Подсветка портов ввода-вывода сзади: ??? (да/нет)

Вывод sudo dmidecode -t system. Пожалуйста, удалите серийный номер и UUID для конфиденциальности:

???

Вывод sudo dmidecode -t bios:

???

Тест состояния света для чтения

Пожалуйста, извлеките новейший код, скомпилируйте и загрузите ядро ​​модуля, как следует в файле README, т.е. е. до шага sudo make reloadmodule.

Свет IO-порта

Подсветку на портах ввода-вывода можно включать/выключать с помощью Fn+U (может быть, как-то иначе?).

  • Выключи свет.
  • Получите вывод sudo cat /sys/kernel/debug/legion/fancurveи скопируйте сюда.
  • Получите вывод cat /sys/class/leds/platform\:\:ioport/brightnessи скопируйте сюда.
  • Включи свет.
  • Получите вывод sudo cat /sys/kernel/debug/legion/fancurveи скопируйте сюда.
  • Получите вывод cat /sys/class/leds/platform\:\:ioport/brightnessи скопируйте сюда.

Y-Логотип/Подсветка крышки

Подсветку можно включать/выключать с помощью Fn+L (может быть, как-то иначе?).

  • Выключи свет.
  • Получите вывод sudo cat /sys/kernel/debug/legion/fancurveи скопируйте сюда.
  • Получите вывод cat /sys/class/leds/platform\:\:ylogo/brightnessи скопируйте сюда,
  • Включи свет.
  • Получите вывод sudo cat /sys/kernel/debug/legion/fancurveи скопируйте сюда.
  • Получите вывод cat /sys/class/leds/platform\:\:ylogo/brightnessи скопируйте сюда,

Следующая информация будет полезна, но необязательна.

Проверка записей WMI

# Install required tools
sudo apt install fwts

# Create folder for all the new files
mkdir fwts_re
cd fwts_re
sudo fwts wmi - > fwts_wmi.log

Затем загрузите файлы.

Разборка таблиц ACPI

# Install requiered tools
sudo apt install acpica-tools
# Create folder for all the new files
mkdir acpi_re
cd acpi_re

# List ACPI tables and copy them
ls /sys/firmware/acpi/tables/
sudo cp --no-preserve=mode /sys/firmware/acpi/tables/*SDT* .

# Disassemble tables to output DSDT.dsl
iasl -e SSDT* -d DSDT

Затем загрузите файлы.

Сбор информации WMI в Windows

Если у вас Windows, следующая информация будет очень и очень полезна для использования методов ACPI. Если у вас нет Windows, просто пропустите это. Откройте powershell от имени администратора в Windows и запустите следующий скрипт. Он выводит список всех доступных методов Lenovo WMI. Скопируйте вывод в файл и загрузите.

$wmi_classes = Get-WmiObject -Namespace 'ROOT/WMI' -List -Class "*LENOVO*"
foreach ($wmi_class in $wmi_classes){
  Write-Host "########################################"
  Write-Host "########################################"
  Write-Host "########################################"
  Write-Host "Name:" $wmi_class.Name
  Write-Host "Class Name:" $wmi_class.Name 
  Write-Host "Class GUID:" $wmi_class.Qualifiers["guid"].Value
  Write-Host "Description:" $wmi_class.Methods.Count
  Write-Host "Methods:"
  foreach ($method in $wmi_class.Methods){
    Write-Host "Name:" $method.Name
    Write-Host "WmiMethodId:" $method.Qualifiers["WmiMethodId"].Value
    Write-Host "Class Name:" $wmi_class.Name 
    Write-Host "Class GUID:" $wmi_class.Qualifiers["guid"].Value
    Write-Host "Description:" $method.Qualifiers["Description"].Value
    Write-Host "Implemented:" $method.Qualifiers["Implemented"].Value
    Write-Host ""
  }
  Write-Host ""
}

I have Legion 7 16 archa7 (r5 6800H & rx 6850m xt), , but I can't install the script. I will be grateful if someone helps + it will be possible to test everything you want. fedora silverblue 41

@IndoMK
Copy link

IndoMK commented Oct 9, 2024

Lenovo Legion 7 testing

Model Name: Legion 7 16IAX7 - Type 82TD
CPU model: 12th Gen Intel® Core™ i9-12900HX
GPU model: Integrated: Mesa Intel® UHD Graphics / Discrete: Nvidia GeForce RTX 3080 Ti
Keyboard backlight: RGB
Light in lid or logo: yes
Light at IO-Ports at back: yes, plus bar around case

output sudo dmidecode -t system

# dmidecode 3.6  
Getting SMBIOS data from sysfs.  
SMBIOS 3.4 present.  
  
Handle 0x0001, DMI type 1, 27 bytes  
System Information  
       Manufacturer: LENOVO  
       Product Name: 82TD  
       Version: Legion 7 16IAX7  
       Serial Number: redacted  
       UUID: redacted  
       Wake-up Type: Power Switch  
       SKU Number: LENOVO_MT_82TD_BU_idea_FM_Legion 7 16IAX7  
       Family: Legion 7 16IAX7  
  
Handle 0x0024, DMI type 12, 5 bytes  
System Configuration Options  
       Option 1: ConfigOptions1  
       Option 2: ConfigOptions2  
       Option 3: ConfigOptions3  
  
Handle 0x0027, DMI type 15, 29 bytes  
System Event Log  
       Area Length: 0 bytes  
       Header Start Offset: 0x0000  
       Header Length: 8192 bytes  
       Data Start Offset: 0x2000  
       Access Method: General-purpose non-volatile data functions  
       Access Address: 0x0000  
       Status: Valid, Not Full  
       Change Token: 0x12345678  
       Header Format: OEM-specific  
       Supported Log Type Descriptors: 3  
       Descriptor 1: POST memory resize  
       Data Format 1: None  
       Descriptor 2: POST error  
       Data Format 2: POST results bitmap  
       Descriptor 3: Log area reset/cleared  
       Data Format 3: None  
  
Handle 0x0034, DMI type 32, 11 bytes  
System Boot Information  
       Status: No errors detected

output sudo dmidecode -t bios

# dmidecode 3.6  
Getting SMBIOS data from sysfs.  
SMBIOS 3.4 present.  
  
Handle 0x0000, DMI type 0, 26 bytes  
BIOS Information  
       Vendor: LENOVO  
       Version: K1CN48WW.  
       Release Date: 07/10/2024  
       Address: 0xE0000  
       Runtime Size: 128 kB  
       ROM Size: 16 MB  
       Characteristics:  
               PCI is supported  
               BIOS is upgradeable  
               BIOS shadowing is allowed  
               Boot from CD is supported  
               Selectable boot is supported  
               EDD is supported  
               Japanese floppy for NEC 9800 1.2 MB is supported (int 13h) 
               Japanese floppy for Toshiba 1.2 MB is supported (int 13h)  
               5.25"/360 kB floppy services are supported (int 13h)  
               5.25"/1.2 MB floppy services are supported (int 13h)  
               3.5"/720 kB floppy services are supported (int 13h)  
               3.5"/2.88 MB floppy services are supported (int 13h)  
               8042 keyboard services are supported (int 9h)  
               CGA/mono video services are supported (int 10h)  
               ACPI is supported  
               USB legacy is supported  
               BIOS boot specification is supported  
               Targeted content distribution is supported  
               UEFI is supported  
       BIOS Revision: 1.48  
       Firmware Revision: 1.36  
  
Handle 0x0025, DMI type 13, 22 bytes  
BIOS Language Information  
       Language Description Format: Long  
       Installable Languages: 8  
               en|US|iso8859-1,0  
               fr|FR|iso8859-1,0  
               zh|TW|unicode,0  
               ja|JP|unicode,0  
               it|IT|iso8859-1,0  
               es|ES|iso8859-1,0  
               de|DE|iso8859-1,0  
               pt|PT|iso8859-1,0  
       Currently Installed Language: en|US|iso8859-1,0

IO-Port light

Fn+U works to control
light off -> output sudo cat /sys/kernel/debug/legion/fancurve

EC Chip ID: 5263  
EC Chip Version: 222  
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve  
legion_laptop ec_readonly: 0  
ACPI CFG error: 0  
ACPI CFG: 3925729556  
temperature access method: 5  
CPU temperature error: 0  
CPU temperature: 0  
CPU temperature EC error: 0  
CPU temperature EC: 0  
CPU temperature ACPI error: 0  
CPU temperature ACPI: 42  
CPU temperature WMI error: 0  
CPU temperature WMI: 42  
CPU temperature WMI2 error: 0  
CPU temperature WMI2: 42  
CPU temperature WMI3 error: 0  
CPU temperature WMI3: 0  
GPU temperature error: 0  
GPU temperature: 0  
GPU temperature EC error: 0  
GPU temperature EC: 0  
GPU temperature ACPI error: 0  
GPU temperature ACPI: 30  
GPU temperature WMI error: 0  
GPU temperature WMI: 30  
GPU temperature WMI2 error: 0  
GPU temperature WMI2: 30  
GPU temperature WMI3 error: 0  
GPU temperature WMI3: 0  
fan speed access method: 5  
1 fanspeed error: 0  
1 fanspeed: 0  
1 fanspeed EC error: 0  
1 fanspeed EC: 0  
1 fanspeed ACPI error: 0  
1 fanspeed ACPI: 197000  
1 fanspeed WMI error: 0  
1 fanspeed WMI: 0  
1 fanspeed WMI2 error: 0  
1 fanspeed WMI2: 1970  
1 fanspeed WMI3 error: 0  
1 fanspeed WMI3: 0  
2 fanspeed error: 0  
2 fanspeed: 0  
2 fanspeed EC error: 0  
2 fanspeed EC: 0  
2 fanspeed ACPI error: 0  
2 fanspeed ACPI: 196300  
2 fanspeed WMI error: 0  
2 fanspeed WMI: 0  
2 fanspeed WMI2 error: 0  
2 fanspeed WMI2: 1963  
2 fanspeed WMI3 error: 0  
2 fanspeed WMI3: 0  
powermode access method: 3  
powermode error: 0  
powermode: 2  
powermode EC error: 0  
powermode EC: 0  
powermode ACPI error: -5  
powermode ACPI: 0  
powermode WMI error: 0  
powermode WMI: 2  
has custom powermode: 1  
ACPI rapidcharge error: 0  
ACPI rapidcharge: 0  
WMI backlight 2 state: 0  
WMI backlight 3 state: -5  
WMI light IO port: 0  
WMI light Y logo/lid: -5  
EC minifancurve feature enabled: 0  
EC minifancurve on cool: error  
EC lockfancontroller error: 0  
EC lockfancontroller: false  
fanfullspeed error: 0  
fanfullspeed: 0  
fanfullspeed EC error: 0  
fanfullspeed EC: 0  
EC fan curve current point id: 0  
EC fan curve points size: 0  
Current fan curve in hardware:  
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp  
=====================  
Current fan curve in hardware (WMI; might be empty)  
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp  
=====================

light off -> output cat /sys/class/leds/platform\:\:ioport/brightness

cat: '/sys/class/leds/platform::ioport/brightness': No such file or directory

light on -> output sudo cat /sys/kernel/debug/legion/fancurve

EC Chip ID: 5263  
EC Chip Version: 222  
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve  
legion_laptop ec_readonly: 0  
ACPI CFG error: 0  
ACPI CFG: 3925729556  
temperature access method: 5  
CPU temperature error: 0  
CPU temperature: 0  
CPU temperature EC error: 0  
CPU temperature EC: 0  
CPU temperature ACPI error: 0  
CPU temperature ACPI: 42  
CPU temperature WMI error: 0  
CPU temperature WMI: 43  
CPU temperature WMI2 error: 0  
CPU temperature WMI2: 43  
CPU temperature WMI3 error: 0  
CPU temperature WMI3: 0  
GPU temperature error: 0  
GPU temperature: 0  
GPU temperature EC error: 0  
GPU temperature EC: 0  
GPU temperature ACPI error: 0  
GPU temperature ACPI: 30  
GPU temperature WMI error: 0  
GPU temperature WMI: 30  
GPU temperature WMI2 error: 0  
GPU temperature WMI2: 30  
GPU temperature WMI3 error: 0  
GPU temperature WMI3: 0  
fan speed access method: 5  
1 fanspeed error: 0  
1 fanspeed: 0  
1 fanspeed EC error: 0  
1 fanspeed EC: 0  
1 fanspeed ACPI error: 0  
1 fanspeed ACPI: 197000  
1 fanspeed WMI error: 0  
1 fanspeed WMI: 0  
1 fanspeed WMI2 error: 0  
1 fanspeed WMI2: 1970  
1 fanspeed WMI3 error: 0  
1 fanspeed WMI3: 0  
2 fanspeed error: 0  
2 fanspeed: 0  
2 fanspeed EC error: 0  
2 fanspeed EC: 0  
2 fanspeed ACPI error: 0  
2 fanspeed ACPI: 196900  
2 fanspeed WMI error: 0  
2 fanspeed WMI: 0  
2 fanspeed WMI2 error: 0  
2 fanspeed WMI2: 1969  
2 fanspeed WMI3 error: 0  
2 fanspeed WMI3: 0  
powermode access method: 3  
powermode error: 0  
powermode: 2  
powermode EC error: 0  
powermode EC: 0  
powermode ACPI error: -5  
powermode ACPI: 0  
powermode WMI error: 0  
powermode WMI: 2  
has custom powermode: 1  
ACPI rapidcharge error: 0  
ACPI rapidcharge: 0  
WMI backlight 2 state: 0  
WMI backlight 3 state: -5  
WMI light IO port: 0  
WMI light Y logo/lid: -5  
EC minifancurve feature enabled: 0  
EC minifancurve on cool: error  
EC lockfancontroller error: 0  
EC lockfancontroller: false  
fanfullspeed error: 0  
fanfullspeed: 0  
fanfullspeed EC error: 0  
fanfullspeed EC: 0  
EC fan curve current point id: 0  
EC fan curve points size: 0  
Current fan curve in hardware:  
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp  
=====================  
Current fan curve in hardware (WMI; might be empty)  
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp  
=====================

light on -> output cat /sys/class/leds/platform\:\:ioport/brightness

cat: '/sys/class/leds/platform::ioport/brightness': No such file or directory

lid light (vertical "Lenovo")

Fn+L works to control
light off -> output sudo cat /sys/kernel/debug/legion/fancurve

EC Chip ID: 5263  
EC Chip Version: 222  
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve  
legion_laptop ec_readonly: 0  
ACPI CFG error: 0  
ACPI CFG: 3925729556  
temperature access method: 5  
CPU temperature error: 0  
CPU temperature: 0  
CPU temperature EC error: 0  
CPU temperature EC: 0  
CPU temperature ACPI error: 0  
CPU temperature ACPI: 42  
CPU temperature WMI error: 0  
CPU temperature WMI: 43  
CPU temperature WMI2 error: 0  
CPU temperature WMI2: 43  
CPU temperature WMI3 error: 0  
CPU temperature WMI3: 0  
GPU temperature error: 0  
GPU temperature: 0  
GPU temperature EC error: 0  
GPU temperature EC: 0  
GPU temperature ACPI error: 0  
GPU temperature ACPI: 30  
GPU temperature WMI error: 0  
GPU temperature WMI: 30  
GPU temperature WMI2 error: 0  
GPU temperature WMI2: 30  
GPU temperature WMI3 error: 0  
GPU temperature WMI3: 0  
fan speed access method: 5  
1 fanspeed error: 0  
1 fanspeed: 0  
1 fanspeed EC error: 0  
1 fanspeed EC: 0  
1 fanspeed ACPI error: 0  
1 fanspeed ACPI: 197400  
1 fanspeed WMI error: 0  
1 fanspeed WMI: 0  
1 fanspeed WMI2 error: 0  
1 fanspeed WMI2: 1974  
1 fanspeed WMI3 error: 0  
1 fanspeed WMI3: 0  
2 fanspeed error: 0  
2 fanspeed: 0  
2 fanspeed EC error: 0  
2 fanspeed EC: 0  
2 fanspeed ACPI error: 0  
2 fanspeed ACPI: 196900  
2 fanspeed WMI error: 0  
2 fanspeed WMI: 0  
2 fanspeed WMI2 error: 0  
2 fanspeed WMI2: 1969  
2 fanspeed WMI3 error: 0  
2 fanspeed WMI3: 0  
powermode access method: 3  
powermode error: 0  
powermode: 2  
powermode EC error: 0  
powermode EC: 0  
powermode ACPI error: -5  
powermode ACPI: 0  
powermode WMI error: 0  
powermode WMI: 2  
has custom powermode: 1  
ACPI rapidcharge error: 0  
ACPI rapidcharge: 0  
WMI backlight 2 state: 0  
WMI backlight 3 state: -5  
WMI light IO port: 0  
WMI light Y logo/lid: -5  
EC minifancurve feature enabled: 0  
EC minifancurve on cool: error  
EC lockfancontroller error: 0  
EC lockfancontroller: false  
fanfullspeed error: 0  
fanfullspeed: 0  
fanfullspeed EC error: 0  
fanfullspeed EC: 0  
EC fan curve current point id: 0  
EC fan curve points size: 0  
Current fan curve in hardware:  
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp  
=====================  
Current fan curve in hardware (WMI; might be empty)  
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp  
=====================

light off -> output cat /sys/class/leds/platform\:\:ylogo/brightness

cat: '/sys/class/leds/platform::ylogo/brightness': No such file or directory

light on -> output sudo cat /sys/kernel/debug/legion/fancurve

EC Chip ID: 5263  
EC Chip Version: 222  
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve  
legion_laptop ec_readonly: 0  
ACPI CFG error: 0  
ACPI CFG: 3925729556  
temperature access method: 5  
CPU temperature error: 0  
CPU temperature: 0  
CPU temperature EC error: 0  
CPU temperature EC: 0  
CPU temperature ACPI error: 0  
CPU temperature ACPI: 42  
CPU temperature WMI error: 0  
CPU temperature WMI: 42  
CPU temperature WMI2 error: 0  
CPU temperature WMI2: 42  
CPU temperature WMI3 error: 0  
CPU temperature WMI3: 0  
GPU temperature error: 0  
GPU temperature: 0  
GPU temperature EC error: 0  
GPU temperature EC: 0  
GPU temperature ACPI error: 0  
GPU temperature ACPI: 30  
GPU temperature WMI error: 0  
GPU temperature WMI: 30  
GPU temperature WMI2 error: 0  
GPU temperature WMI2: 30  
GPU temperature WMI3 error: 0  
GPU temperature WMI3: 0  
fan speed access method: 5  
1 fanspeed error: 0  
1 fanspeed: 0  
1 fanspeed EC error: 0  
1 fanspeed EC: 0  
1 fanspeed ACPI error: 0  
1 fanspeed ACPI: 197200  
1 fanspeed WMI error: 0  
1 fanspeed WMI: 0  
1 fanspeed WMI2 error: 0  
1 fanspeed WMI2: 1972  
1 fanspeed WMI3 error: 0  
1 fanspeed WMI3: 0  
2 fanspeed error: 0  
2 fanspeed: 0  
2 fanspeed EC error: 0  
2 fanspeed EC: 0  
2 fanspeed ACPI error: 0  
2 fanspeed ACPI: 196700  
2 fanspeed WMI error: 0  
2 fanspeed WMI: 0  
2 fanspeed WMI2 error: 0  
2 fanspeed WMI2: 1967  
2 fanspeed WMI3 error: 0  
2 fanspeed WMI3: 0  
powermode access method: 3  
powermode error: 0  
powermode: 2  
powermode EC error: 0  
powermode EC: 0  
powermode ACPI error: -5  
powermode ACPI: 0  
powermode WMI error: 0  
powermode WMI: 2  
has custom powermode: 1  
ACPI rapidcharge error: 0  
ACPI rapidcharge: 0  
WMI backlight 2 state: 0  
WMI backlight 3 state: -5  
WMI light IO port: 0  
WMI light Y logo/lid: -5  
EC minifancurve feature enabled: 0  
EC minifancurve on cool: error  
EC lockfancontroller error: 0  
EC lockfancontroller: false  
fanfullspeed error: 0  
fanfullspeed: 0  
fanfullspeed EC error: 0  
fanfullspeed EC: 0  
EC fan curve current point id: 0  
EC fan curve points size: 0  
Current fan curve in hardware:  
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp  
=====================  
Current fan curve in hardware (WMI; might be empty)  
rpm1|rpm2|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp  
=====================

light on -> output cat /sys/class/leds/platform\:\:ylogo/brightness

cat: '/sys/class/leds/platform::ylogo/brightness': No such file or directory

inspecting WMI entries

attached
fwts_wmi.log

disassembling ACPI tables

archive attached, I got an error running iasl -e SSDT* -d DSDT
acpi_re.tar.gz

Intel ACPI Component Architecture  
ASL+ Optimizing Compiler/Disassembler version 20230628  
Copyright (c) 2000 - 2023 Intel Corporation  
  
File appears to be binary: found 159022 non-ASCII characters, disassembling  
Binary file appears to be a valid ACPI table, disassembling  
Input file DSDT, Length 0x74DC7 (478663) bytes  
ACPI: DSDT 0x0000000000000000 074DC7 (v02 LENOVO CB-01    00000001 ACPI 00040000)  
External object resolution file            SSDT9  
Input file SSDT9, Length 0x2548 (9544) bytes  
ACPI: SSDT 0x0000000000000000 002548 (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file            SSDT8  
Input file SSDT8, Length 0xAD9 (2777) bytes  
ACPI: SSDT 0x0000000000000000 000AD9 (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file            SSDT7  
Input file SSDT7, Length 0x2B00 (11008) bytes  
ACPI: SSDT 0x0000000000000000 002B00 (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file            SSDT6  
Input file SSDT6, Length 0x77B (1915) bytes  
ACPI: SSDT 0x0000000000000000 00077B (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file            SSDT5  
Input file SSDT5, Length 0x334D (13133) bytes  
ACPI: SSDT 0x0000000000000000 00334D (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file            SSDT4  
Input file SSDT4, Length 0x2B22 (11042) bytes  
ACPI: SSDT 0x0000000000000000 002B22 (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file            SSDT3  
Input file SSDT3, Length 0x5D2C (23852) bytes  
ACPI: SSDT 0x0000000000000000 005D2C (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file            SSDT2  
Input file SSDT2, Length 0x38C (908) bytes  
ACPI: SSDT 0x0000000000000000 00038C (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file           SSDT18  
Input file SSDT18, Length 0xF8 (248) bytes  
ACPI: SSDT 0x0000000000000000 0000F8 (v01 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file           SSDT17  
Input file SSDT17, Length 0x131 (305) bytes  
ACPI: SSDT 0x0000000000000000 000131 (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file           SSDT16  
Input file SSDT16, Length 0x39DA (14810) bytes  
ACPI: SSDT 0x0000000000000000 0039DA (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file           SSDT15  
Input file SSDT15, Length 0x3AEA (15082) bytes  
ACPI: SSDT 0x0000000000000000 003AEA (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file           SSDT14  
Input file SSDT14, Length 0x10F2 (4338) bytes  
ACPI: SSDT 0x0000000000000000 0010F2 (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file           SSDT13  
Input file SSDT13, Length 0x2DB8 (11704) bytes  
ACPI: SSDT 0x0000000000000000 002DB8 (v01 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file           SSDT12  
Input file SSDT12, Length 0x1D1C (7452) bytes  
ACPI: SSDT 0x0000000000000000 001D1C (v02 LENOVO CB-01    00000001      01000013)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file           SSDT11  
Input file SSDT11, Length 0xA1D6 (41430) bytes  
ACPI: SSDT 0x0000000000000000 00A1D6 (v02 LENOVO CB-01    00000001      01000013)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file           SSDT10  
Input file SSDT10, Length 0x9B6 (2486) bytes  
ACPI: SSDT 0x0000000000000000 0009B6 (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
External object resolution file            SSDT1  
Input file SSDT1, Length 0x50D9 (20697) bytes  
ACPI: SSDT 0x0000000000000000 0050D9 (v02 LENOVO CB-01    00000001 INTL 20200717)  
Pass 1 parse of [SSDT]  
Pass 2 parse of [SSDT]  
Pass 1 parse of [DSDT]  
Firmware Error (ACPI): Failure creating named object [\_SB.PC00.RP13.PXSX._RST], AE_ALREADY_EXISTS (20230628/dswload-495)  
ACPI Error: AE_ALREADY_EXISTS, During name lookup/catalog (20230628/psobject-372)  
Could not parse ACPI tables, AE_ALREADY_EXISTS

@bugparty
Copy link

Model and Debug Info

Model name: Y9000K 2021
CPU model: Intel 11800H
GPU model: NVIDIA RTX 3080
Keyboard backlight: RGB
Light in lid or logo: yes
Light at IO-Ports at back: yes

Gathering WMI info in Windows


########################################
########################################
########################################
Name: LENOVO_UTILITY_EVENT
Class Name: LENOVO_UTILITY_EVENT
Class GUID: {8fc0de0c-b4e4-43fd-b0f3-8871711c1294}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_LIGHTING_EVENT
Class Name: LENOVO_LIGHTING_EVENT
Class GUID: {1e3391a1-2c89-464d-95d9-3028b72e7a33}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GAMEZONE_SMART_FAN_SETTING_EVENT
Class Name: LENOVO_GAMEZONE_SMART_FAN_SETTING_EVENT
Class GUID: {D320289E-8FEA-41E1-86F9-611D83151B5F}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GAMEZONE_KEYLOCK_STATUS_EVENT
Class Name: LENOVO_GAMEZONE_KEYLOCK_STATUS_EVENT
Class GUID: {10AFC6D9-EA8B-4590-A2E7-1CD3C84BB4B1}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GAMEZONE_SMART_FAN_MODE_EVENT
Class Name: LENOVO_GAMEZONE_SMART_FAN_MODE_EVENT
Class GUID: {D320289E-8FEA-41E0-86F9-611D83151B5F}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_SR_EVENT
Class Name: LENOVO_SR_EVENT
Class GUID: {95D1DF76-D6C0-4E16-9193-7B2A849F3DF2}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GAMEZONE_TEMP_EVENT
Class Name: LENOVO_GAMEZONE_TEMP_EVENT
Class GUID: {BFD42481-AEE3-4501-A107-AFB68425C5F8}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GAMEZONE_THERMAL_MODE_EVENT
Class Name: LENOVO_GAMEZONE_THERMAL_MODE_EVENT
Class GUID: {D320289E-8FEA-41E0-86F9-911D83151B5F}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GAMEZONE_LIGHT_PROFILE_CHANGE_EVENT
Class Name: LENOVO_GAMEZONE_LIGHT_PROFILE_CHANGE_EVENT
Class GUID: {D320289E-8FEA-41E0-86F9-811D83151B5F}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GAMEZONE_OC_EVENT
Class Name: LENOVO_GAMEZONE_OC_EVENT
Class GUID: {D062906B-12D4-4510-999D-4831EE80E985}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GAMEZONE_FAN_COOLING_EVENT
Class Name: LENOVO_GAMEZONE_FAN_COOLING_EVENT
Class GUID: {BC72A435-E8C1-4275-B3E2-D8B8074ABA59}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GAMEZONE_POWER_CHARGE_MODE_EVENT
Class Name: LENOVO_GAMEZONE_POWER_CHARGE_MODE_EVENT
Class GUID: {D320289E-8FEA-41E0-86F9-711D83151B5F}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GAMEZONE_GPU_TEMP_EVENT
Class Name: LENOVO_GAMEZONE_GPU_TEMP_EVENT
Class GUID: {BFD42481-AEE3-4502-A107-AFB68425C5F8}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_UTILITY_DATA
Class Name: LENOVO_UTILITY_DATA
Class GUID: {ce6c0974-0407-4f50-88ba-4fc3b6559ad8}
Description: 1
Methods:
Name: GetIfSupportOrVersion
WmiMethodId: 1
Class Name: LENOVO_UTILITY_DATA
Class GUID: {ce6c0974-0407-4f50-88ba-4fc3b6559ad8}
Description: Utility 3.1 function is Support or the function Version
Implemented: True


########################################
########################################
########################################
Name: LENOVO_FAN_TABLE_DATA
Class Name: LENOVO_FAN_TABLE_DATA
Class GUID: {87fb2a6d-d802-48e7-9208-4576c5f5c8d8}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_FAN_METHOD
Class Name: LENOVO_FAN_METHOD
Class GUID: {92549549-4bde-4f06-ac04-ce8bf898dbaa}
Description: 8
Methods:
Name: Fan_Get_FullSpeed
WmiMethodId: 1
Class Name: LENOVO_FAN_METHOD
Class GUID: {92549549-4bde-4f06-ac04-ce8bf898dbaa}
Description: Get Fan Full Speed
Implemented: True

Name: Fan_Set_FullSpeed
WmiMethodId: 2
Class Name: LENOVO_FAN_METHOD
Class GUID: {92549549-4bde-4f06-ac04-ce8bf898dbaa}
Description: Set Fan Full Speed
Implemented: True

Name: Fan_Get_MaxSpeed
WmiMethodId: 3
Class Name: LENOVO_FAN_METHOD
Class GUID: {92549549-4bde-4f06-ac04-ce8bf898dbaa}
Description: Get Fan Max Speed
Implemented: True

Name: Fan_Set_MaxSpeed
WmiMethodId: 4
Class Name: LENOVO_FAN_METHOD
Class GUID: {92549549-4bde-4f06-ac04-ce8bf898dbaa}
Description: Set Fan Max Speed
Implemented: True

Name: Fan_Get_Table
WmiMethodId: 5
Class Name: LENOVO_FAN_METHOD
Class GUID: {92549549-4bde-4f06-ac04-ce8bf898dbaa}
Description: Get Fan Table
Implemented: True

Name: Fan_Set_Table
WmiMethodId: 6
Class Name: LENOVO_FAN_METHOD
Class GUID: {92549549-4bde-4f06-ac04-ce8bf898dbaa}
Description: Set Fan Table
Implemented: True

Name: Fan_GetCurrentFanSpeed
WmiMethodId: 7
Class Name: LENOVO_FAN_METHOD
Class GUID: {92549549-4bde-4f06-ac04-ce8bf898dbaa}
Description: Get Current Fan Speed
Implemented: True

Name: Fan_GetCurrentSensorTemperature
WmiMethodId: 8
Class Name: LENOVO_FAN_METHOD
Class GUID: {92549549-4bde-4f06-ac04-ce8bf898dbaa}
Description: Get Current Sensor Temperature
Implemented: True


########################################
########################################
########################################
Name: LENOVO_GAMEZONE_DATA
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: 62
Methods:
Name: GetIRTemp
WmiMethodId: 1
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get IR temp
Implemented: True

Name: GetThermalTableID
WmiMethodId: 2
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get ThermalTable ID
Implemented: True

Name: SetThermalTableID
WmiMethodId: 3
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set ThermalTable ID
Implemented: True

Name: IsSupportGpuOC
WmiMethodId: 4
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Is SupportGpu OverClock
Implemented: True

Name: GetGpuGpsState
WmiMethodId: 5
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get GpuGpsState
Implemented: True

Name: SetGpuGpsState
WmiMethodId: 6
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set GpuGpsState
Implemented: True

Name: GetFanCount
WmiMethodId: 7
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Fan Count
Implemented: True

Name: GetFan1Speed
WmiMethodId: 8
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Fan1 Speed
Implemented: True

Name: GetFan2Speed
WmiMethodId: 9
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Fan2 Speed
Implemented: True

Name: GetFanMaxSpeed
WmiMethodId: 10
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Fan Max Speed
Implemented: True

Name: GetVersion
WmiMethodId: 11
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get AslCode Version
Implemented: True

Name: IsSupportFanCooling
WmiMethodId: 12
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Fan cooling capabilty
Implemented: True

Name: SetFanCooling
WmiMethodId: 13
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set Fan cooling on/off
Implemented: True

Name: IsSupportCpuOC
WmiMethodId: 14
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: cpu oc capability
Implemented: True

Name: IsBIOSSupportOC
WmiMethodId: 15
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: bios has overclock capability
Implemented: True

Name: SetBIOSOC
WmiMethodId: 16
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: enble or disable overclock in bios
Implemented: True

Name: GetTriggerTemperatureValue
WmiMethodId: 17
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get temperature change trigger temp value
Implemented: True

Name: GetCPUTemp
WmiMethodId: 18
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get CPU temperature
Implemented: True

Name: GetGPUTemp
WmiMethodId: 19
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get GPU temperature
Implemented: True

Name: GetFanCoolingStatus
WmiMethodId: 20
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Fan cooling on/off status
Implemented: True

Name: IsSupportDisableWinKey
WmiMethodId: 21
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: EC support disable windows key capability
Implemented: True

Name: SetWinKeyStatus
WmiMethodId: 22
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set windows key disable/enable
Implemented: True

Name: GetWinKeyStatus
WmiMethodId: 23
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get windows key disable/enable status
Implemented: True

Name: IsSupportDisableTP
WmiMethodId: 24
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: EC support disable touchpad capability
Implemented: True

Name: SetTPStatus
WmiMethodId: 25
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set touchpad disable/enable
Implemented: True

Name: GetTPStatus
WmiMethodId: 26
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get touchpad disable/enable status
Implemented: True

Name: GetGPUPow
WmiMethodId: 27
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get GPU normal mode max TDP(W)
Implemented: True

Name: GetGPUOCPow
WmiMethodId: 28
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get GPU OC mode max TDP(W)
Implemented: True

Name: GetGPUOCType
WmiMethodId: 29
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get GPU OC type
Implemented: True

Name: GetKeyboardfeaturelist
WmiMethodId: 30
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Keyboard feature list
Implemented: True

Name: GetMemoryOCInfo
WmiMethodId: 31
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Memory OC Information
Implemented: True

Name: IsSupportWaterCooling
WmiMethodId: 32
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Water Cooling feature capability
Implemented: True

Name: SetWaterCoolingStatus
WmiMethodId: 33
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set Water Cooling status
Implemented: True

Name: GetWaterCoolingStatus
WmiMethodId: 34
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Water Cooling status
Implemented: True

Name: IsSupportLightingFeature
WmiMethodId: 35
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Lighting feature capability
Implemented: True

Name: SetKeyboardLight
WmiMethodId: 36
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set keyboard light off or on to max
Implemented: True

Name: GetKeyboardLight
WmiMethodId: 37
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get keyboard light on/off status
Implemented: True

Name: GetMacrokeyScancode
WmiMethodId: 38
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Macrokey scan code
Implemented: True

Name: GetMacrokeyCount
WmiMethodId: 39
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Macrokey count
Implemented: True

Name: IsSupportGSync
WmiMethodId: 40
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Support G-Sync feature
Implemented: True

Name: GetGSyncStatus
WmiMethodId: 41
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get G-Sync Statust
Implemented: True

Name: SetGSyncStatus
WmiMethodId: 42
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set G-Sync Statust
Implemented: True

Name: IsSupportSmartFan
WmiMethodId: 43
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Support Smart Fan feature
Implemented: True

Name: SetSmartFanMode
WmiMethodId: 44
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set Smart Fan Mode
Implemented: True

Name: GetSmartFanMode
WmiMethodId: 45
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Smart Fan Mode
Implemented: True

Name: GetSmartFanSetting
WmiMethodId: 46
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Smart Fan Setting Mode
Implemented: True

Name: GetPowerChargeMode
WmiMethodId: 47
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Power Charge Mode
Implemented: True

Name: GetProductInfo
WmiMethodId: 48
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Gaming Product Info
Implemented: True

Name: IsSupportOD
WmiMethodId: 49
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Over Drive feature capability
Implemented: True

Name: GetODStatus
WmiMethodId: 50
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Over Drive status
Implemented: True

Name: SetODStatus
WmiMethodId: 51
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set Over Drive status
Implemented: True

Name: SetLightControlOwner
WmiMethodId: 52
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set Light Control Owner
Implemented: True

Name: SetDDSControlOwner
WmiMethodId: 53
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set DDS Control Owner
Implemented: True

Name: IsRestoreOCValue
WmiMethodId: 54
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get the flag of restore OC value
Implemented: True

Name: GetThermalMode
WmiMethodId: 55
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Real Thremal Mode
Implemented: True

Name: GetBIOSOCMode
WmiMethodId: 56
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get the OC switch status in BIOS
Implemented: True

Name: SetIntelligentSubMode
WmiMethodId: 57
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Set the current mode in Intelligent Mode
Implemented: True

Name: GetIntelligentSubMode
WmiMethodId: 58
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get the current mode in Intelligent Mode
Implemented: True

Name: GetHardwareInfoSupportVersion
WmiMethodId: 59
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get hardware info support version
Implemented: True

Name: GetCpuFrequency
WmiMethodId: 60
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Cpu core 0 max frequency
Implemented: True

Name: GetLearningProfileCount
WmiMethodId: 61
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Get Total count of Learning Profile
Implemented: True

Name: IsACFitForOC
WmiMethodId: 62
Class Name: LENOVO_GAMEZONE_DATA
Class GUID: {887B54E3-DDDC-4B2C-8B88-68A26A8835D0}
Description: Check the Adapter type fit for OC
Implemented: True


########################################
########################################
########################################
Name: LENOVO_CPU_METHOD
Class Name: LENOVO_CPU_METHOD
Class GUID: {14afd777-106f-4c9b-b334-d388dc7809be}
Description: 6
Methods:
Name: CPU_Get_OC_Status
WmiMethodId: 1
Class Name: LENOVO_CPU_METHOD
Class GUID: {14afd777-106f-4c9b-b334-d388dc7809be}
Description: Get CPU OC Status
Implemented: True

Name: CPU_Set_OC_Status
WmiMethodId: 2
Class Name: LENOVO_CPU_METHOD
Class GUID: {14afd777-106f-4c9b-b334-d388dc7809be}
Description: Set CPU OC Status
Implemented: True

Name: CPU_Get_ShortTerm_PowerLimit
WmiMethodId: 3
Class Name: LENOVO_CPU_METHOD
Class GUID: {14afd777-106f-4c9b-b334-d388dc7809be}
Description: Get CPU ShortTerm_PowerLimit
Implemented: True

Name: CPU_Set_ShortTerm_PowerLimit
WmiMethodId: 4
Class Name: LENOVO_CPU_METHOD
Class GUID: {14afd777-106f-4c9b-b334-d388dc7809be}
Description: Set CPU ShortTerm_PowerLimit
Implemented: True

Name: CPU_Get_LongTerm_PowerLimit
WmiMethodId: 5
Class Name: LENOVO_CPU_METHOD
Class GUID: {14afd777-106f-4c9b-b334-d388dc7809be}
Description: Get CPU LongTerm PowerLimit
Implemented: True

Name: CPU_Set_LongTerm_PowerLimit
WmiMethodId: 6
Class Name: LENOVO_CPU_METHOD
Class GUID: {14afd777-106f-4c9b-b334-d388dc7809be}
Description: Set CPU LongTerm_PowerLimit
Implemented: True


########################################
########################################
########################################
Name: LENOVO_FAN_MAX_SPEED_DATA
Class Name: LENOVO_FAN_MAX_SPEED_DATA
Class GUID: {c3c7aeb8-4c06-4d40-8f29-212a6ccd74aa}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_SR_DATA
Class Name: LENOVO_SR_DATA
Class GUID: {77E614ED-F19E-46D6-A613-A8669FEE1FF0}
Description: 6
Methods:
Name: GetDataValue
WmiMethodId: 1
Class Name: LENOVO_SR_DATA
Class GUID: {77E614ED-F19E-46D6-A613-A8669FEE1FF0}
Description: Super Resolution Type Data
Implemented: True

Name: StartECMonitor
WmiMethodId: 2
Class Name: LENOVO_SR_DATA
Class GUID: {77E614ED-F19E-46D6-A613-A8669FEE1FF0}
Description: Super Control sth. by Set-DataValue
Implemented: True

Name: StopECMonitor
WmiMethodId: 3
Class Name: LENOVO_SR_DATA
Class GUID: {77E614ED-F19E-46D6-A613-A8669FEE1FF0}
Description: Super Control sth. by Set-DataValue
Implemented: True

Name: GetCapability
WmiMethodId: 4
Class Name: LENOVO_SR_DATA
Class GUID: {77E614ED-F19E-46D6-A613-A8669FEE1FF0}
Description: Super Resolution Capability
Implemented: True

Name: Reserved1
WmiMethodId: 5
Class Name: LENOVO_SR_DATA
Class GUID: {77E614ED-F19E-46D6-A613-A8669FEE1FF0}
Description: Super Resolution Reserved
Implemented: True

Name: Reserved2
WmiMethodId: 6
Class Name: LENOVO_SR_DATA
Class GUID: {77E614ED-F19E-46D6-A613-A8669FEE1FF0}
Description: Super Resolution Reserved function
Implemented: True


########################################
########################################
########################################
Name: LENOVO_GPU_OVERCLOCKING_DATA
Class Name: LENOVO_GPU_OVERCLOCKING_DATA
Class GUID: {8A8984E2-228F-685F-B496-DDA5F52CBE5B}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_OTHER_METHOD
Class Name: LENOVO_OTHER_METHOD
Class GUID: {dc2a8805-3a8c-41ba-a6f7-092e0089cd3b}
Description: 8
Methods:
Name: GetDeviceType
WmiMethodId: 1
Class Name: LENOVO_OTHER_METHOD
Class GUID: {dc2a8805-3a8c-41ba-a6f7-092e0089cd3b}
Description: Get Device Type
Implemented: True

Name: GetSupportThermalMode
WmiMethodId: 2
Class Name: LENOVO_OTHER_METHOD
Class GUID: {dc2a8805-3a8c-41ba-a6f7-092e0089cd3b}
Description: Get Thermal Mode Status
Implemented: True

Name: GetCustomModeAbility
WmiMethodId: 3
Class Name: LENOVO_OTHER_METHOD
Class GUID: {dc2a8805-3a8c-41ba-a6f7-092e0089cd3b}
Description: Get Custom Mode Abiltiy
Implemented: True

Name: Set_Custom_Mode_Status
WmiMethodId: 4
Class Name: LENOVO_OTHER_METHOD
Class GUID: {dc2a8805-3a8c-41ba-a6f7-092e0089cd3b}
Description: Set Custom Mode Status
Implemented: True

Name: Get_Legion_Device_Support_Feature
WmiMethodId: 5
Class Name: LENOVO_OTHER_METHOD
Class GUID: {dc2a8805-3a8c-41ba-a6f7-092e0089cd3b}
Description: Get Device Support Feature Status
Implemented: True

Name: Get_Device_Current_Support_Feature
WmiMethodId: 6
Class Name: LENOVO_OTHER_METHOD
Class GUID: {dc2a8805-3a8c-41ba-a6f7-092e0089cd3b}
Description: Get Device Current Support Feature Status
Implemented: True

Name: Set_Device_Current_Support_Feature
WmiMethodId: 7
Class Name: LENOVO_OTHER_METHOD
Class GUID: {dc2a8805-3a8c-41ba-a6f7-092e0089cd3b}
Description: Set Device Current Support Feature enable/disalbe
Implemented: True

Name: Get_Support_LegionZone_Version
WmiMethodId: 8
Class Name: LENOVO_OTHER_METHOD
Class GUID: {dc2a8805-3a8c-41ba-a6f7-092e0089cd3b}
Description: Get Support Legionzone Version
Implemented: True


########################################
########################################
########################################
Name: LENOVO_PANEL_METHOD
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: 22
Methods:
Name: Panel_Get_Support_Status
WmiMethodId: 1
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Get Panel Support Functions
Implemented: True

Name: Panel_Get_Status
WmiMethodId: 2
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Get Panel Functions Status
Implemented: True

Name: Panel_Set_Status
WmiMethodId: 3
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Set Panel Functions Status
Implemented: True

Name: Panel_Get_Low_Latency_Mode
WmiMethodId: 4
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Get Panel Low Latency Mode
Implemented: True

Name: Panel_Set_Low_Latency_Mode
WmiMethodId: 5
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Set Panel Low Latency Mode
Implemented: True

Name: Panel_Get_PIP_Info
WmiMethodId: 6
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Get Panel PIP Info
Implemented: True

Name: Panel_Set_PIP_Info
WmiMethodId: 7
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Set Panel PIP Info
Implemented: True

Name: Panel_Get_Game_Aid_FPS_Display_Pos
WmiMethodId: 8
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Get Panel Game Aid FPS Display
Implemented: True

Name: Panel_Set_Game_Aid_FPS_Display_Pos
WmiMethodId: 9
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Set Panel Game Aid FPS Display
Implemented: True

Name: Panel_Get_Game_Aid_FPS
WmiMethodId: 10
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Set Panel Game Aid FPS Display
Implemented: True

Name: Panel_Get_Game_Aid_Sight_Mode
WmiMethodId: 11
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Get Panel Game Aid Sight Mode
Implemented: True

Name: Panel_Set_Game_Aid_Sight_Mode
WmiMethodId: 12
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Set Panel Game Aid Sight Mode
Implemented: True

Name: Panel_Get_Game_Aid_Timer_Info
WmiMethodId: 13
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Get Panel Game Aid Timer Info
Implemented: True

Name: Panel_Set_Game_Aid_Timer_Info
WmiMethodId: 14
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Set Panel Game Aid Timer Info
Implemented: True

Name: Panel_Get_Game_Aid_Countdown_Info
WmiMethodId: 15
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Get Panel Game Aid Countdown Timer Info
Implemented: True

Name: Panel_Set_Game_Aid_Countdown_Info
WmiMethodId: 16
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Set Panel Game Aid Countdown Timer Info
Implemented: True

Name: Panel_Get_Display_Mode
WmiMethodId: 17
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Get Panel Display Mode
Implemented: True

Name: Panel_Set_Display_Mode
WmiMethodId: 18
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Set Panel Display Mode
Implemented: True

Name: Panel_Get_Gamut_Switch
WmiMethodId: 19
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Get Panel Gamut Switch
Implemented: True

Name: Panel_Set_Gamut_Switch
WmiMethodId: 20
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Set Panel Gamut Switch
Implemented: True

Name: Panel_Get_MPRT
WmiMethodId: 21
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Get Panel MPRT info
Implemented: True

Name: Panel_Set_MPRT
WmiMethodId: 22
Class Name: LENOVO_PANEL_METHOD
Class GUID: {e5edffbf-e822-4bbe-8650-c07b8bae4c54}
Description: Set Panel MPRT info
Implemented: True


########################################
########################################
########################################
Name: LENOVO_CPU_OVERCLOCKING_DATA
Class Name: LENOVO_CPU_OVERCLOCKING_DATA
Class GUID: {4C90256D-44EA-D6A8-7650-63DF4FEB2CFF}
Description: 0
Methods:

########################################
########################################
########################################
Name: Lenovo_SystemElement
Class Name: Lenovo_SystemElement
Class GUID:
Description: 0
Methods:

########################################
########################################
########################################
Name: Lenovo_BatteryInformation
Class Name: Lenovo_BatteryInformation
Class GUID: C3A03776-51AC-49AA-AD0F-F2F7D62C3F3C
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_MEMORY_OC_DATA
Class Name: LENOVO_MEMORY_OC_DATA
Class GUID: {37d0014b-370c-47ef-bf03-588e8acb2fcd}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_INTELLIGENT_OP_LIST
Class Name: LENOVO_INTELLIGENT_OP_LIST
Class GUID: {93A57CD3-BBC6-46AB-951D-31F17CC968A0}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GPU_METHOD
Class Name: LENOVO_GPU_METHOD
Class GUID: {da7547f1-824d-405f-be79-d9903e29ced7}
Description: 6
Methods:
Name: GPU_Get_OC_Status
WmiMethodId: 1
Class Name: LENOVO_GPU_METHOD
Class GUID: {da7547f1-824d-405f-be79-d9903e29ced7}
Description: Get GPU OC Status
Implemented: True

Name: GPU_Set_OC_Status
WmiMethodId: 2
Class Name: LENOVO_GPU_METHOD
Class GUID: {da7547f1-824d-405f-be79-d9903e29ced7}
Description: Set GPU OC Status
Implemented: True

Name: GPU_Get_PPAB_PowerLimit
WmiMethodId: 3
Class Name: LENOVO_GPU_METHOD
Class GUID: {da7547f1-824d-405f-be79-d9903e29ced7}
Description: Get GPU PPAB PowerLimit
Implemented: True

Name: GPU_Set_PPAB_PowerLimit
WmiMethodId: 4
Class Name: LENOVO_GPU_METHOD
Class GUID: {da7547f1-824d-405f-be79-d9903e29ced7}
Description: Set GPU PPAB PowerLimit
Implemented: True

Name: GPU_Get_cTGP_PowerLimit
WmiMethodId: 5
Class Name: LENOVO_GPU_METHOD
Class GUID: {da7547f1-824d-405f-be79-d9903e29ced7}
Description: Get GPU cTGP PowerLimit
Implemented: True

Name: GPU_Set_cTGP_PowerLimit
WmiMethodId: 6
Class Name: LENOVO_GPU_METHOD
Class GUID: {da7547f1-824d-405f-be79-d9903e29ced7}
Description: Set GPU cTGP PowerLimint
Implemented: True


########################################
########################################
########################################
Name: LENOVO_LIGHTING_DATA
Class Name: LENOVO_LIGHTING_DATA
Class GUID: {4dd5bd84-15a9-47e2-ad65-cc61a5c62fd0}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_GAMEZONE_CPU_OC_DATA
Class Name: LENOVO_GAMEZONE_CPU_OC_DATA
Class GUID: {B7F3CA0A-ACDC-42D2-9217-77C6C628FBD2}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_LIGHTING_METHOD
Class Name: LENOVO_LIGHTING_METHOD
Class GUID: {8c5b9127-ecd4-4657-980f-851019f99ca5}
Description: 2
Methods:
Name: Get_Lighting_Current_Status
WmiMethodId: 1
Class Name: LENOVO_LIGHTING_METHOD
Class GUID: {8c5b9127-ecd4-4657-980f-851019f99ca5}
Description: Get Current Lighting Status
Implemented: True

Name: Set_Lighting_Current_Status
WmiMethodId: 2
Class Name: LENOVO_LIGHTING_METHOD
Class GUID: {8c5b9127-ecd4-4657-980f-851019f99ca5}
Description: Set Current Lighting Status
Implemented: True


########################################
########################################
########################################
Name: LENOVO_GAMEZONE_GPU_OC_DATA
Class Name: LENOVO_GAMEZONE_GPU_OC_DATA
Class GUID: {887B54E2-DDDC-4B2C-8B88-68A26A8835D0}
Description: 0
Methods:

########################################
########################################
########################################
Name: LENOVO_MEMORY_METHOD
Class Name: LENOVO_MEMORY_METHOD
Class GUID: {03607fce-0d83-4612-8a6e-4a4ef0415ea9}
Description: 3
Methods:
Name: MEM_Get_OC_Status
WmiMethodId: 1
Class Name: LENOVO_MEMORY_METHOD
Class GUID: {03607fce-0d83-4612-8a6e-4a4ef0415ea9}
Description: Get Memory OC Status
Implemented: True

Name: MEM_Set_OC_Status
WmiMethodId: 2
Class Name: LENOVO_MEMORY_METHOD
Class GUID: {03607fce-0d83-4612-8a6e-4a4ef0415ea9}
Description: Set Memory OC Status
Implemented: True

Name: MEM_Set_OC_Data
WmiMethodId: 3
Class Name: LENOVO_MEMORY_METHOD
Class GUID: {03607fce-0d83-4612-8a6e-4a4ef0415ea9}
Description: Set Memory OC Data
Implemented: True

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests