johnfanv2 / LenovoLegionLinux

Driver and tools for controlling Lenovo Legion laptops in Linux including fan control and power mode.
https://github.com/johnfanv2/LenovoLegionLinux
GNU General Public License v2.0
1.29k stars 49 forks source link

Can't read or set the fancurve for Lenovo Legion 7 Pro 16ARX8H #234

Open Syderitic opened 1 week ago

Syderitic commented 1 week ago

Problem Description Hello, I can't seem to set or read the fan curve of my laptop. Can you help? I also posted here #133 Thank you for your time.

(I initially didn't have it to load on boot) image All the hardware works on my laptop (sound,graphics,etc)

sudo python/legion_linux/legion_linux/legion_gui.py

INFO:legion_linux.legion:
[   10.428849] legion_laptop: loading out-of-tree module taints kernel.
[   10.429781] legion_laptop: Loading legion_laptop
[   10.429866] legion PNP0C09:00: legion_laptop platform driver probing
[   10.429867] legion PNP0C09:00: Read identifying information: DMI_SYS_VENDOR: LENOVO; DMI_PRODUCT_NAME: 82WS; DMI_BIOS_VERSION:LPCN45WW
[   10.429868] legion_laptop: Read identifying information: DMI_SYS_VENDOR: LENOVO; DMI_PRODUCT_NAME: 82WS; DMI_BIOS_VERSION:LPCN45WW
[   10.429871] legion PNP0C09:00: is_denied: 0; is_allowed: 1; do_load_by_list: 1; do_load: 1
[   10.429872] legion PNP0C09:00: Using configuration for system: LPCN
[   10.429891] legion PNP0C09:00: ACPI CFG: 2081289482
[   10.429892] legion_laptop: Creating RAM access to embedded controller
[   10.429900] legion_laptop: Successfully mapped embedded controller: 0xfe0b0400 (in RAM)/0x0 (in EC) to virtual 0x00000000ed4e453c
[   10.430090] legion PNP0C09:00: Read embedded controller ID 0x5507
[   10.430092] legion PNP0C09:00: Creating debugfs interface
[   10.430103] legion_laptop: Creating sysfs interface
[   10.430148] legion_laptop: Creating hwmon interface
[   10.430510] legion_laptop: Creating platform profile support
[   10.430513] legion_laptop: Init WMI driver support
[   10.430537] legion_wmi 887B54E3-DDDC-4B2C-8B88-68A26A8835D0: Register after probing for WMI.
[   10.430577] legion_wmi BFD42481-AEE3-4501-A107-AFB68425C5F8: Register after probing for WMI.
[   10.430595] legion_wmi BFD42481-AEE3-4502-A107-AFB68425C5F8: Register after probing for WMI.
[   10.430615] legion_wmi D062906B-12D4-4510-999D-4831EE80E985: Register after probing for WMI.
[   10.430626] legion_wmi BC72A435-E8C1-4275-B3E2-D8B8074ABA59: Register after probing for WMI.
[   10.430642] legion_wmi 10AFC6D9-EA8B-4590-A2E7-1CD3C84BB4B1: Register after probing for WMI.
[   10.430655] legion_wmi D320289E-8FEA-41E0-86F9-611D83151B5F: Register after probing for WMI.
[   10.430693] legion_wmi 8FC0DE0C-B4E4-43FD-B0F3-8871711C1294: Register after probing for WMI.
[   10.430721] legion_laptop: Init keyboard backlight LED driver
[   10.431734] legion_laptop: Init Y-Logo LED driver
[   10.432435] legion_laptop: Init IO-Port LED driver
[   10.432469] legion_laptop: Error WMI call for reading brightness: expected a value between 1 and 2, but got 0
[   10.432471] legion_laptop: Error reading brightness for light: 5
[   10.432473] legion PNP0C09:00: Failed to init IO-Port LED driver. Skipping ...
[   10.432475] legion PNP0C09:00: legion_laptop loaded for this device

INFO:legion_linux.legion:Feature LockFanController with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/lockfancontroller and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/lockfancontroller
INFO:legion_linux.legion:Feature RapidChargingFeature with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/rapidcharge and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/rapidcharge
INFO:legion_linux.legion:Feature BatteryConservation with pattern /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode and path /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode
INFO:legion_linux.legion:Feature MaximumFanSpeedFeature with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/fan_fullspeed and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/fan_fullspeed
INFO:legion_linux.legion:Feature FnLockFeature with pattern /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/fn_lock and path /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/fn_lock
INFO:legion_linux.legion:Feature WinkeyFeature with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/winkey and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/winkey
INFO:legion_linux.legion:Feature TouchpadFeature with pattern ['/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/touchpad', '/sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/touchpad'] and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/touchpad
INFO:legion_linux.legion:Feature CameraPowerFeature with pattern /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/camera_power and path /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/camera_power
INFO:legion_linux.legion:Feature OverdriveFeature with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/overdrive and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/overdrive
INFO:legion_linux.legion:Feature GsyncFeature with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gsync and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gsync
INFO:legion_linux.legion:Feature PlatformProfileFeature with pattern /sys/firmware/acpi/platform_profile and path /sys/firmware/acpi/platform_profile
INFO:legion_linux.legion:Feature StrFileFeature with pattern /sys/firmware/acpi/platform_profile_choices and path /sys/firmware/acpi/platform_profile_choices
INFO:legion_linux.legion:Feature IsOnPowerSupplyFeature with pattern /sys/class/power_supply/ADP0/online and path /sys/class/power_supply/ADP0/online
INFO:legion_linux.legion:Feature AlwaysOnUSBChargingFeature with pattern /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/usb_charging and path /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/usb_charging
INFO:legion_linux.legion:Feature BatteryCurrentCapacityPercentage with pattern /sys/class/power_supply/BAT0/capacity and path /sys/class/power_supply/BAT0/capacity
INFO:legion_linux.legion:Feature CPUOverclock with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_oc and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_oc
INFO:legion_linux.legion:Feature CPULongtermPowerLimit with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_longterm_powerlimit and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_longterm_powerlimit
INFO:legion_linux.legion:Feature CPUShorttermPowerLimit with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_shortterm_powerlimit and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_shortterm_powerlimit
INFO:legion_linux.legion:Feature CPUPeakPowerLimit with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_peak_powerlimit and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_peak_powerlimit
INFO:legion_linux.legion:Feature CPUDefaultPowerLimit with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_default_powerlimit and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_default_powerlimit
INFO:legion_linux.legion:Feature CPUCrossLoadingPowerLimit with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_cross_loading_powerlimit and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_cross_loading_powerlimit
INFO:legion_linux.legion:Feature CPUAPUSPPTPowerLimit with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_apu_sppt_powerlimit and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/cpu_apu_sppt_powerlimit
INFO:legion_linux.legion:Feature GPUOverclock with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gpu_oc and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gpu_oc
INFO:legion_linux.legion:Feature GPUBoostClock with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gpu_boost_clock and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gpu_boost_clock
INFO:legion_linux.legion:Feature GPUCTGPPowerLimit with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gpu_ctgp_powerlimit and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gpu_ctgp_powerlimit
INFO:legion_linux.legion:Feature GPUPPABPowerLimit with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gpu_ppab_powerlimit and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gpu_ppab_powerlimit
INFO:legion_linux.legion:Feature GPUTemperatureLimit with pattern /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gpu_temperature_limit and path /sys/module/legion_laptop/drivers/platform:legion/PNP0C09:00/gpu_temperature_limit
INFO:legion_linux.legion:Feature YLogoLight with pattern /sys/class/leds/platform::ylogo/brightness and path /sys/class/leds/platform::ylogo/brightness
INFO:legion_linux.legion:Feature IOPortLight with pattern /sys/class/leds/platform::ioport/brightness and path None
WARNING:legion_linux.legion:Feature IOPortLight does not exist. exits: 0
INFO:legion_linux.legion:CommandFeature PowerProfilesDeamonService: []
WARNING:legion_linux.legion:Feature PowerProfilesDeamonService does not exist. exits: 0
INFO:legion_linux.legion:CommandFeature PowerProfilesDeamonService execute "systemctl status power-profiles-daemon"
INFO:legion_linux.legion:CommandFeature PowerProfilesDeamonService reading with code 4: 
INFO:legion_linux.legion:CommandFeature LenovoLegionLaptopSupportService: []
WARNING:legion_linux.legion:Feature LenovoLegionLaptopSupportService does not exist. exits: 0
INFO:legion_linux.legion:CommandFeature LenovoLegionLaptopSupportService execute "systemctl status legiond.service legiond-onresume.service legiond-cpuset.service legiond-cpuset.timer"
INFO:legion_linux.legion:CommandFeature LenovoLegionLaptopSupportService reading with code 4: 
INFO:legion_linux.legion:Feature LegionGUIAutostart with pattern /root/.config and path /root/.config
WARNING:legion_linux.legion:Feature LegionGUIAutostart does not exist. exits: 0
INFO:legion_linux.legion:Feature NVIDIAGPUIsRunning with pattern /sys/bus/pci/devices/0000:01:00.0/power/runtime_status and path /sys/bus/pci/devices/0000:01:00.0/power/runtime_status
INFO:legion_linux.legion:Setting feature automatic_close to 0
INFO:legion_linux.legion:Notifying subscribers of change
INFO:legion_linux.legion:Setting feature close_to_tray to 0
INFO:legion_linux.legion:Notifying subscribers of change
INFO:legion_linux.legion:Setting feature open_closed_to_tray to 0
INFO:legion_linux.legion:Notifying subscribers of change
INFO:legion_linux.legion:Setting feature enable_gui_monitoring to 0
INFO:legion_linux.legion:Notifying subscribers of change
INFO:legion_linux.legion:Setting feature icon_color_mode to always-color
INFO:legion_linux.legion:Notifying subscribers of change
INFO:legion_linux.legion:Settings file does not exist.
INFO:legion_linux.legion:Setting feature open_closed_to_tray to 0
INFO:legion_linux.legion:Notifying subscribers of change
INFO:legion_linux.legion:Setting feature close_to_tray to 0
INFO:legion_linux.legion:Notifying subscribers of change
INFO:legion_linux.legion:Using icon_color color
INFO:legion_linux.legion:Using icon legion_logo
INFO:legion_linux.legion:update_view_from_feature: 0
INFO:legion_linux.legion:Feature LockFanController reading
INFO:legion_linux.legion:Feature LockFanController reading: 0
INFO:legion_linux.legion:Feature MaximumFanSpeedFeature reading
INFO:legion_linux.legion:Feature MaximumFanSpeedFeature reading: 0
INFO:legion_linux.legion:Feature FnLockFeature reading
INFO:legion_linux.legion:Feature FnLockFeature reading: 0
INFO:legion_linux.legion:Feature WinkeyFeature reading
INFO:legion_linux.legion:Feature WinkeyFeature reading: 1
INFO:legion_linux.legion:Feature TouchpadFeature reading
INFO:legion_linux.legion:Feature TouchpadFeature reading: 1
INFO:legion_linux.legion:Feature CameraPowerFeature reading
INFO:legion_linux.legion:Feature CameraPowerFeature reading: 0
INFO:legion_linux.legion:Feature BatteryConservation reading
INFO:legion_linux.legion:Feature BatteryConservation reading: 0
INFO:legion_linux.legion:Feature RapidChargingFeature reading
INFO:legion_linux.legion:Feature RapidChargingFeature reading: 1
INFO:legion_linux.legion:Feature AlwaysOnUSBChargingFeature reading
INFO:legion_linux.legion:Feature AlwaysOnUSBChargingFeature reading: 1
INFO:legion_linux.legion:Feature CPUOverclock reading
ERROR:legion_linux.legion:Feature CPUOverclock reading error [Errno 22]
ERROR:legion_linux.legion:
[   12.052671] SELinux:  Context system_u:object_r:evolution_server_exec_t is not valid (left unmapped).
[   12.150040] mt7921e 0000:04:00.0 wlp4s0: renamed from wlan0
[   12.201678] systemd-journald[1037]: /var/log/journal/943ad3dd47345670f5a2ea9f655107a5/user-1000.journal: Journal file uses a different sequence number ID, rotating.
[   12.220166] pipewire[1563]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set
[   12.534619] Bluetooth: RFCOMM TTY layer initialized
[   12.534626] Bluetooth: RFCOMM socket layer initialized
[   12.534629] Bluetooth: RFCOMM ver 1.11
[   15.337408] SELinux:  Context staff_u:object_r:evolution_xdg_config_t is not valid (left unmapped).
[   15.340267] rfkill: input handler disabled
[   19.764632] wlp4s0: authenticate with cc:20:8c:3c:bd:c0
[   20.265654] wlp4s0: send auth to cc:20:8c:3c:bd:c0 (try 1/3)
[   20.273373] wlp4s0: authenticated
[   20.273706] wlp4s0: associate with cc:20:8c:3c:bd:c0 (try 1/3)
[   20.292957] wlp4s0: RX AssocResp from cc:20:8c:3c:bd:c0 (capab=0x1511 status=0 aid=3)
[   20.321834] wlp4s0: associated
[   20.720484] wlp4s0: Limiting TX power to 27 (30 - 3) dBm as advertised by cc:20:8c:3c:bd:c0
[   60.356682] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.357063] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.357234] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.359115] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:1: expected type 3 but got 1; expected length 16 but got 0;

Error occured [Errno 22]
Traceback (most recent call last):
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/legion_gui.py", line 266, in update_view_from_feature
    feature_value = self.feature.get()
                    ^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 335, in get
    invalue = self._read_file_int(self.filename)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File ****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 269, in _read_file_int
    return int(self._read_file_str(file_path))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 266, in _read_file_str
    raise err
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 260, in _read_file_str
    out = str(filepointer.read()).strip()
              ^^^^^^^^^^^^^^^^^^
OSError: [Errno 22]

INFO:legion_linux.legion:Feature GPUOverclock reading
INFO:legion_linux.legion:Feature GPUOverclock reading: 0
INFO:legion_linux.legion:Feature OverdriveFeature reading
INFO:legion_linux.legion:Feature OverdriveFeature reading: 0
INFO:legion_linux.legion:Feature GsyncFeature reading
INFO:legion_linux.legion:Feature GsyncFeature reading: 1
INFO:legion_linux.legion:update_view_from_feature: 0
INFO:legion_linux.legion:Feature StrFileFeature reading
INFO:legion_linux.legion:Feature StrFileFeature reading: quiet balanced balanced-performance performance
INFO:legion_linux.legion:Feature PlatformProfileFeature reading
INFO:legion_linux.legion:Feature PlatformProfileFeature reading: balanced
update_view_from_feature 0
INFO:legion_linux.legion:Feature CPULongtermPowerLimit reading
ERROR:legion_linux.legion:Feature CPULongtermPowerLimit reading error [Errno 22]
ERROR:legion_linux.legion:
[   12.534619] Bluetooth: RFCOMM TTY layer initialized
[   12.534626] Bluetooth: RFCOMM socket layer initialized
[   12.534629] Bluetooth: RFCOMM ver 1.11
[   15.337408] SELinux:  Context staff_u:object_r:evolution_xdg_config_t is not valid (left unmapped).
[   15.340267] rfkill: input handler disabled
[   19.764632] wlp4s0: authenticate with cc:20:8c:3c:bd:c0
[   20.265654] wlp4s0: send auth to cc:20:8c:3c:bd:c0 (try 1/3)
[   20.273373] wlp4s0: authenticated
[   20.273706] wlp4s0: associate with cc:20:8c:3c:bd:c0 (try 1/3)
[   20.292957] wlp4s0: RX AssocResp from cc:20:8c:3c:bd:c0 (capab=0x1511 status=0 aid=3)
[   20.321834] wlp4s0: associated
[   20.720484] wlp4s0: Limiting TX power to 27 (30 - 3) dBm as advertised by cc:20:8c:3c:bd:c0
[   60.356682] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.357063] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.357234] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.359115] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:1: expected type 3 but got 1; expected length 16 but got 0;
[   60.365589] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.365927] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.366135] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.366862] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:5: expected type 3 but got 1; expected length 16 but got 0;

Error occured [Errno 22]
Traceback (most recent call last):
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/legion_gui.py", line 482, in update_view_from_feature
    value = self.feature.get()
            ^^^^^^^^^^^^^^^^^^
  File ****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 390, in get
    return self._read_file_int(self.filename)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 269, in _read_file_int
    return int(self._read_file_str(file_path))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 266, in _read_file_str
    raise err
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 260, in _read_file_str
    out = str(filepointer.read()).strip()
              ^^^^^^^^^^^^^^^^^^
OSError: [Errno 22]

update_view_from_feature 0
INFO:legion_linux.legion:Feature CPUShorttermPowerLimit reading
ERROR:legion_linux.legion:Feature CPUShorttermPowerLimit reading error [Errno 22] 
ERROR:legion_linux.legion:
[   12.534626] Bluetooth: RFCOMM socket layer initialized
[   12.534629] Bluetooth: RFCOMM ver 1.11
[   15.337408] SELinux:  Context staff_u:object_r:evolution_xdg_config_t is not valid (left unmapped).
[   15.340267] rfkill: input handler disabled
[   19.764632] wlp4s0: authenticate with cc:20:8c:3c:bd:c0
[   20.265654] wlp4s0: send auth to cc:20:8c:3c:bd:c0 (try 1/3)
[   20.273373] wlp4s0: authenticated
[   20.273706] wlp4s0: associate with cc:20:8c:3c:bd:c0 (try 1/3)
[   20.292957] wlp4s0: RX AssocResp from cc:20:8c:3c:bd:c0 (capab=0x1511 status=0 aid=3)
[   20.321834] wlp4s0: associated
[   20.720484] wlp4s0: Limiting TX power to 27 (30 - 3) dBm as advertised by cc:20:8c:3c:bd:c0
[   60.356682] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.357063] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.357234] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.359115] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:1: expected type 3 but got 1; expected length 16 but got 0;
[   60.365589] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.365927] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.366135] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.366862] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:5: expected type 3 but got 1; expected length 16 but got 0;
[   60.372460] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:3: expected type 3 but got 1; expected length 16 but got 0;

Error occured [Errno 22]
Traceback (most recent call last):
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/legion_gui.py", line 482, in update_view_from_feature
    value = self.feature.get()
            ^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 390, in get
    return self._read_file_int(self.filename)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 269, in _read_file_int
    return int(self._read_file_str(file_path))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 266, in _read_file_str
    raise err
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 260, in _read_file_str
    out = str(filepointer.read()).strip()
              ^^^^^^^^^^^^^^^^^^
OSError: [Errno 22]

update_view_from_feature 0
INFO:legion_linux.legion:Feature CPUPeakPowerLimit reading
INFO:legion_linux.legion:Feature CPUPeakPowerLimit reading: 0
update_view_from_feature 0
INFO:legion_linux.legion:Feature CPUCrossLoadingPowerLimit reading
INFO:legion_linux.legion:Feature CPUCrossLoadingPowerLimit reading: 0
update_view_from_feature 0
INFO:legion_linux.legion:Feature CPUAPUSPPTPowerLimit reading
INFO:legion_linux.legion:Feature CPUAPUSPPTPowerLimit reading: 0
update_view_from_feature 0
INFO:legion_linux.legion:Feature GPUCTGPPowerLimit reading
ERROR:legion_linux.legion:Feature GPUCTGPPowerLimit reading error [Errno 22]
ERROR:legion_linux.legion:
[   19.764632] wlp4s0: authenticate with cc:20:8c:3c:bd:c0
[   20.265654] wlp4s0: send auth to cc:20:8c:3c:bd:c0 (try 1/3)
[   20.273373] wlp4s0: authenticated
[   20.273706] wlp4s0: associate with cc:20:8c:3c:bd:c0 (try 1/3)
[   20.292957] wlp4s0: RX AssocResp from cc:20:8c:3c:bd:c0 (capab=0x1511 status=0 aid=3)
[   20.321834] wlp4s0: associated
[   20.720484] wlp4s0: Limiting TX power to 27 (30 - 3) dBm as advertised by cc:20:8c:3c:bd:c0
[   60.356682] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.357063] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.357234] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.359115] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:1: expected type 3 but got 1; expected length 16 but got 0;
[   60.365589] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.365927] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.366135] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.366862] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:5: expected type 3 but got 1; expected length 16 but got 0;
[   60.372460] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:3: expected type 3 but got 1; expected length 16 but got 0;
[   60.378039] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.378195] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.378335] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.378471] legion_laptop: Unexpected ACPI result for da7547f1-824d-405f-be79-d9903e29ced7:5: expected type 3 but got 1; expected length 16 but got 0;

Error occured [Errno 22]
Traceback (most recent call last):
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/legion_gui.py", line 482, in update_view_from_feature
    value = self.feature.get()
            ^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 390, in get
    return self._read_file_int(self.filename)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 269, in _read_file_int
    return int(self._read_file_str(file_path))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 266, in _read_file_str
    raise err
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 260, in _read_file_str
    out = str(filepointer.read()).strip()
              ^^^^^^^^^^^^^^^^^^
OSError: [Errno 22]

update_view_from_feature 0
INFO:legion_linux.legion:Feature GPUPPABPowerLimit reading
ERROR:legion_linux.legion:Feature GPUPPABPowerLimit reading error [Errno 22]
ERROR:legion_linux.legion:
[   20.265654] wlp4s0: send auth to cc:20:8c:3c:bd:c0 (try 1/3)
[   20.273373] wlp4s0: authenticated
[   20.273706] wlp4s0: associate with cc:20:8c:3c:bd:c0 (try 1/3)
[   20.292957] wlp4s0: RX AssocResp from cc:20:8c:3c:bd:c0 (capab=0x1511 status=0 aid=3)
[   20.321834] wlp4s0: associated
[   20.720484] wlp4s0: Limiting TX power to 27 (30 - 3) dBm as advertised by cc:20:8c:3c:bd:c0
[   60.356682] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.357063] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.357234] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.359115] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:1: expected type 3 but got 1; expected length 16 but got 0;
[   60.365589] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.365927] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.366135] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.366862] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:5: expected type 3 but got 1; expected length 16 but got 0;
[   60.372460] legion_laptop: Unexpected ACPI result for 14afd777-106f-4c9b-b334-d388dc7809be:3: expected type 3 but got 1; expected length 16 but got 0;
[   60.378039] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.378195] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.378335] legion_laptop: get_simple_wmi_attributewith raw value: 0
[   60.378471] legion_laptop: Unexpected ACPI result for da7547f1-824d-405f-be79-d9903e29ced7:5: expected type 3 but got 1; expected length 16 but got 0;
[   60.383980] legion_laptop: Unexpected ACPI result for da7547f1-824d-405f-be79-d9903e29ced7:3: expected type 3 but got 1; expected length 16 but got 0;

Error occured [Errno 22]
Traceback (most recent call last):
  File ****/LenovoLegionLinux/python/legion_linux/legion_linux/legion_gui.py", line 482, in update_view_from_feature
    value = self.feature.get()
            ^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 390, in get
    return self._read_file_int(self.filename)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 269, in _read_file_int
    return int(self._read_file_str(file_path))
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 266, in _read_file_str
    raise err
  File "****/LenovoLegionLinux/python/legion_linux/legion_linux/../legion_linux/legion.py", line 260, in _read_file_str
    out = str(filepointer.read()).strip()
              ^^^^^^^^^^^^^^^^^^
OSError: [Errno 22]

update_view_from_feature 0
INFO:legion_linux.legion:Feature GPUTemperatureLimit reading
INFO:legion_linux.legion:Feature GPUTemperatureLimit reading: 0
INFO:legion_linux.legion:update_view_from_feature: 0
INFO:legion_linux.legion:Feature BatteryConservation reading
INFO:legion_linux.legion:Feature BatteryConservation reading: 0
INFO:legion_linux.legion:Feature RapidChargingFeature reading
INFO:legion_linux.legion:Feature RapidChargingFeature reading: 1
INFO:legion_linux.legion:Feature FnLockFeature reading
INFO:legion_linux.legion:Feature FnLockFeature reading: 0
INFO:legion_linux.legion:Feature TouchpadFeature reading
INFO:legion_linux.legion:Feature TouchpadFeature reading: 1
INFO:legion_linux.legion:Feature AlwaysOnUSBChargingFeature reading
INFO:legion_linux.legion:Feature AlwaysOnUSBChargingFeature reading: 1
INFO:legion_linux.legion:update_view_from_feature in EnumFeatureTrayController 
INFO:legion_linux.legion:Feature StrFileFeature reading
INFO:legion_linux.legion:Feature StrFileFeature reading: quiet balanced balanced-performance performance
INFO:legion_linux.legion:Feature PlatformProfileFeature reading
INFO:legion_linux.legion:Feature PlatformProfileFeature reading: balanced
INFO:legion_linux.legion:update_view_from_feature in EnumFeatureTrayController 
INFO:legion_linux.legion:Feature StrFileFeature reading
INFO:legion_linux.legion:Feature StrFileFeature reading: quiet balanced balanced-performance performance
INFO:legion_linux.legion:Feature PlatformProfileFeature reading
INFO:legion_linux.legion:Feature PlatformProfileFeature reading: balanced

Distribution: Gentoo Kernel: 6.6.33-gentoo-dist-hardened AuthenticAMD GNU/Linux (uname -roi) Model name: Lenovo Legion 7 Pro 16ARX8H CPU model: AMD 7945HX GPU model: NVIDIA 4090 Keyboard backlight: RGB Light in lid or logo: no Light at IO-Ports at back: yes

System Information
        Manufacturer: LENOVO
        Product Name: 82WS
        Version: Legion Pro 7 16ARX8H
        Serial Number: 
        UUID: 
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_82WS_BU_idea_FM_Legion Pro 7 16ARX8H
        Family: Legion Pro 7 16ARX8H
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
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: 5
CPU temperature error: 0
CPU temperature: 60
CPU temperature EC error: 0
CPU temperature EC: 0
CPU temperature ACPI error: 0
CPU temperature ACPI: 60
CPU temperature WMI error: 0
CPU temperature WMI: 0
CPU temperature WMI2 error: 0
CPU temperature WMI2: 0
CPU temperature WMI3 error: 0
CPU temperature WMI3: 60
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: 0
GPU temperature WMI2: 0
GPU temperature WMI3 error: 0
GPU temperature WMI3: 46
fan speed access method: 5
1 fanspeed error: 0
1 fanspeed: 2100
1 fanspeed EC error: 0
1 fanspeed EC: 48
1 fanspeed ACPI error: 0
1 fanspeed ACPI: 2100
1 fanspeed WMI error: 0
1 fanspeed WMI: 0
1 fanspeed WMI2 error: 0
1 fanspeed WMI2: 0
1 fanspeed WMI3 error: 0
1 fanspeed WMI3: 2100
2 fanspeed error: 0
2 fanspeed: 2300
2 fanspeed EC error: 0
2 fanspeed EC: 0
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 2300
2 fanspeed WMI error: 0
2 fanspeed WMI: 0
2 fanspeed WMI2 error: 0
2 fanspeed WMI2: 0
2 fanspeed WMI3 error: 0
2 fanspeed WMI3: 2300
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: 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: 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: 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   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
=====================
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
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
0    0   0   0   0   0   0   0   0   0
=====================

ecmemoryram@balanced (let me know if you need others)

00000000  00 00 00 02 00 00 13 00  0e 0a 00 00 00 00 2a 2e  |..............*.|
00000010  00 00 80 00 05 00 10 06  00 01 06 00 00 00 00 04  |................|
00000020  00 00 01 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000030  00 00 00 00 00 00 00 00  00 00 00 00 00 00 40 02  |..............@.|
00000040  20 03 02 00 50 01 00 00  00 00 00 00 6a 57 00 00  | ...P.......jW..|
00000050  4a 01 2c 01 05 00 c0 8b  00 07 00 0a 00 00 00 00  |J.,.............|
00000060  00 00 02 05 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000080  00 00 00 00 08 00 00 00  e0 00 42 00 81 00 01 53  |..........B....S|
00000090  4d 50 00 32 30 32 32 00  4c 32 32 4d 34 50 43 31  |MP.2022.L22M4PC1|
000000a0  00 19 00 8e 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000000b0  3b 34 00 2f 2e 00 30 2b  02 11 00 00 00 80 01 00  |;4./..0+........|
000000c0  70 00 78 25 05 0a 48 44  a0 3c 06 27 78 25 64 00  |p.x%..HD.<.'x%d.|
000000d0  00 00 00 00 00 00 00 22  00 00 00 00 00 00 00 00  |......."........|
000000e0  00 00 00 00 00 00 00 00  00 00 00 00 00 01 20 00  |.............. .|
000000f0  03 00 00 00 47 57 00 00  00 00 00 00 00 00 12 00  |....GW..........|
00000100  82 00 00 04 10 00 04 04  13 31 13 13 a0 a0 a0 a0  |.........1......|
00000110  00 00 ff ff 00 00 00 00  00 00 3c 35 00 00 00 00  |..........<5....|
00000120  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000130  00 00 3b f0 00 00 00 00  92 00 00 00 00 00 00 00  |..;.............|
00000140  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000001d0  10 19 00 50 00 02 00 00  00 00 00 00 00 00 00 00  |...P............|
000001e0  30 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |0...............|
000001f0  00 00 00 00 00 00 00 00  00 04 00 00 00 00 00 00  |................|
00000200  00 00 00 00 00 00 00 00  00 00 00 00 00 04 00 00  |................|
00000210  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000220  00 00 00 00 00 00 00 3b  00 07 02 01 db 25 00 00  |.......;.....%..|
00000230  01 00 00 00 00 00 00 14  14 00 00 00 00 01 00 00  |................|
00000240  00 00 00 00 00 00 00 1e  00 00 02 00 00 00 00 00  |................|
00000250  3c 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |<...............|
00000260  58 34 58 50 33 41 37 30  32 47 35 00 00 00 00 00  |X4XP3A702G5.....|
00000270  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000002f0  00 00 00 00 00 00 34 2d  00 00 02 00 00 00 00 00  |......4-........|
00000300  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000320  00 20 33 00 00 3a 20 33  00 00 3d 20 3f 00 ff ff  |. 3..: 3..= ?...|
*
00000340  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000380  ff 00 ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00000390  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
*
000003e0  ff 00 ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
000003f0  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
00000400  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000480  40 eb bf 4c 1e 9b 11 b2  a8 5c 99 9c bb 3f ff dc  |@..L.....\...?..|
00000490  ff fb ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
000004a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000500  00 01 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000510  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
00000530  b0 00 b0 00 00 00 00 00  00 00 00 00 00 00 01 00  |................|
00000540  00 00 00 00 00 01 00 01  01 00 00 01 00 00 00 00  |................|
00000550  00 00 00 00 02 00 00 00  00 00 00 00 00 00 00 00  |................|
00000560  00 00 00 00 00 00 00 00  00 00 00 00 00 40 00 00  |.............@..|
00000570  80 00 1e 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
00000580  00 01 01 00 01 01 00 00  80 00 00 00 00 00 ff 00  |................|
00000590  00 00 00 00 00 00 00 00  00 00 00 00 28 00 00 00  |............(...|
000005a0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
000005b0  00 00 00 00 00 00 00 00  00 00 00 00 05 00 00 00  |................|
000005c0  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
000005f0  00 00 00 00 00 00 00 00  00 00 00 10 00 03 00 00  |................|
00000600