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

Add support for Lenovo IdeaPad Gaming 3 (15IMH05) with EGCN* BIOS #257

Open
NINNiT opened this issue Sep 14, 2024 · 0 comments
Open

Add support for Lenovo IdeaPad Gaming 3 (15IMH05) with EGCN* BIOS #257

NINNiT opened this issue Sep 14, 2024 · 0 comments

Comments

@NINNiT
Copy link

NINNiT commented Sep 14, 2024

Is your feature request related to a problem? Please describe.
LenovoLegionLinux does not fully support this specific model, even though, looking at the README, it should work for some 15IMH05 models.
This seems to work already:

  • changing power profile using FN+Q changes values in /sys/firmware/acpi/platform_profile. no feedback using LEDs. I'm not sure wheter or not the power-profiles are actually applied

Describe the solution you'd like
Basic support for my model, primarily setting sensors and power profile. I'm ready to implement this myself, however i would be grateful if someone could point me into the right direction. I'm hoping that achieving basic support is not completely unrealistic, due to the similiarites to the Legion Model.

Describe alternatives you've considered
acpi_call and battmngr both seem to not detect the specific ACPI Calls needed to change power profile.
The ACPI calls in the Arch-Wiki dont work for my model: https://wiki.archlinux.org/title/Lenovo_IdeaPad_Gaming_3

Model and Debug Info

Distribution: ArchLinux 6.10.9-arch1-2
Model name: Lenovo Ideapad Gaming 3 (15IMH05)
CPU model: Intel Core i5-10300H
GPU model: NVIDIA TU117M [GeForce GTX 1650 Mobile / Max-Q]
Keyboard backlight: single color with off/medium/bright)
Light in lid or logo: --
Light at IO-Ports at back: no io ports at back

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

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

Handle 0x0001, DMI type 1, 27 bytes
System Information
	Manufacturer: LENOVO
	Product Name: 81Y4
	Version: IdeaPad Gaming 3 15IMH05
	Serial Number: <redacted>
	UUID: <redacted>
	Wake-up Type: Power Switch
	SKU Number: LENOVO_MT_81Y4_BU_idea_FM_IdeaPad Gaming 3 15IMH05
	Family: IdeaPad Gaming 3 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.6
Getting SMBIOS data from sysfs.
SMBIOS 3.2.0 present.

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
	Vendor: LENOVO
	Version: EGCN41WW
	Release Date: 06/09/2023
	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.41
	Firmware Revision: 1.41

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

Output of sudo cat /sys/kernel/debug/legion/fancurve:
no such file after make forcereload

Output of sudo make forcereload:

[Sat Sep 14 13:47:15 2024] legion_laptop: loading out-of-tree module taints kernel.
[Sat Sep 14 13:47:15 2024] legion_laptop: module verification failed: signature and/or required key missing - tainting kernel
[Sat Sep 14 13:47:15 2024] legion_laptop: Loading legion_laptop
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: legion_laptop platform driver probing
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: Read identifying information: DMI_SYS_VENDOR: LENOVO; DMI_PRODUCT_NAME: 81Y4; DMI_BIOS_VERSION:EGCN41WW
[Sat Sep 14 13:47:15 2024] legion_laptop: Read identifying information: DMI_SYS_VENDOR: LENOVO; DMI_PRODUCT_NAME: 81Y4; DMI_BIOS_VERSION:EGCN41WW
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: is_denied: 0; is_allowed: 0; do_load_by_list: 0; do_load: 1
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: legion_laptop is forced to load.
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: legion_laptop is forced to load and would otherwise not be loaded
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: Using configuration for system: GKCN
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: Skipping ACPI _STA check
[Sat Sep 14 13:47:15 2024] legion_laptop: Creating RAM access to embedded controller
[Sat Sep 14 13:47:15 2024] legion_laptop: Successfully mapped embedded controller: 0xfe00d400 (in RAM)/0x0 (in EC) to virtual 0x000000003b465214
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: Read embedded controller ID 0x8227
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: Skipped checking embedded controller id
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: Creating debugfs interface
[Sat Sep 14 13:47:15 2024] legion_laptop: Creating sysfs interface
[Sat Sep 14 13:47:15 2024] legion_laptop: Creating hwmon interface
[Sat Sep 14 13:47:15 2024] legion_laptop: Creating platform profile support
[Sat Sep 14 13:47:15 2024] legion_laptop: Init WMI driver support
[Sat Sep 14 13:47:15 2024] legion_wmi 887B54E3-DDDC-4B2C-8B88-68A26A8835D0: Register after probing for WMI.
[Sat Sep 14 13:47:15 2024] legion_wmi BFD42481-AEE3-4501-A107-AFB68425C5F8: Register after probing for WMI.
[Sat Sep 14 13:47:15 2024] legion_wmi D062906B-12D4-4510-999D-4831EE80E985: Register after probing for WMI.
[Sat Sep 14 13:47:15 2024] legion_wmi BFD42481-AEE3-4502-A107-AFB68425C5F8: Register after probing for WMI.
[Sat Sep 14 13:47:15 2024] legion_wmi BC72A435-E8C1-4275-B3E2-D8B8074ABA59: Register after probing for WMI.
[Sat Sep 14 13:47:15 2024] legion_wmi 10AFC6D9-EA8B-4590-A2E7-1CD3C84BB4B1: Register after probing for WMI.
[Sat Sep 14 13:47:15 2024] legion_wmi D320289E-8FEA-41E0-86F9-611D83151B5F: Register after probing for WMI.
[Sat Sep 14 13:47:15 2024] legion_laptop: Init keyboard backlight LED driver
[Sat Sep 14 13:47:15 2024] legion_laptop: ACPI evaluation error for: 8C5B9127-ECD4-4657-980F-851019F99CA5:1
[Sat Sep 14 13:47:15 2024] legion_laptop: Error for WMI method call to get brightness
[Sat Sep 14 13:47:15 2024] legion_laptop: Error reading keyboard brightness
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: Failed to init keyboard backlight LED driver. Skipping ...
[Sat Sep 14 13:47:15 2024] legion_laptop: Init Y-Logo LED driver
[Sat Sep 14 13:47:15 2024] legion_laptop: ACPI evaluation error for: 8C5B9127-ECD4-4657-980F-851019F99CA5:1
[Sat Sep 14 13:47:15 2024] legion_laptop: Error for WMI method call to get brightness
[Sat Sep 14 13:47:15 2024] legion_laptop: Error reading brightness for light: 3
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: Failed to init Y-Logo LED driver. Skipping ...
[Sat Sep 14 13:47:15 2024] legion_laptop: Init IO-Port LED driver
[Sat Sep 14 13:47:15 2024] legion_laptop: ACPI evaluation error for: 8C5B9127-ECD4-4657-980F-851019F99CA5:1
[Sat Sep 14 13:47:15 2024] legion_laptop: Error for WMI method call to get brightness
[Sat Sep 14 13:47:15 2024] legion_laptop: Error reading brightness for light: 5
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: Failed to init IO-Port LED driver. Skipping ...
[Sat Sep 14 13:47:15 2024] legion PNP0C09:00: legion_laptop loaded for this device
bash -c "./issue-warning.sh"
  If you have a 2022 or 2023 model, please help testing the new features 'here' 
  If you have a light on the lid (Y-logo) or at the IO-ports (all Legion 7 models), please help test controlling it 'here' 
  Please give a star on github to support. my goal is to merge the driver into the main Linux kernel, so no recompilation would be required after a Linux update: 'here' 
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant