LenovoLegionLinux icon indicating copy to clipboard operation
LenovoLegionLinux copied to clipboard

[BUG] Legion 9i 16IRX (model 83G0) is not in the allowlist for the legion_laptop driver

Open uairhahs opened this issue 5 months ago • 0 comments

Problem Description Most features fail with complaints around hwmon due to Legion 9i 16IRX (model 83G0) not being in the allowlist for the legion_laptop driver Has the bug occurred following steps described in the README?

  • Yes

What steps did you take?

  • I have successfully forced the driver and seems to be working well, so have taken the lberty to implement a more permanent fix for myself see below

What commands did you enter? recommended:

  • make forcereloadmodule

my fix:

  • sudo modprobe -r legion_laptop
  • sudo modprobe legion_laptop force=1

What was the (full) error you received and what command or action did lead to it?

Traceback (most recent call last):
  File "/usr/bin/legion_cli", line 8, in <module>
    sys.exit(main())
             ~~~~^^
  File "/usr/lib/python3.13/site-packages/legion_linux/legion_cli.py", line 494, in main
    legion = LegionModelFacade(expect_hwmon=not args.donotexpecthwmon)
  File "/usr/lib/python3.13/site-packages/legion_linux/legion.py", line 1399, in __init__
    self.fancurve_io = FanCurveIO(expect_hwmon=expect_hwmon)
                       ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.13/site-packages/legion_linux/legion.py", line 758, in __init__
    raise FileNotFoundError("hwmon dir not found")
FileNotFoundError: hwmon dir not found

Model and Debug Info Model: Legion 9i 16IRX

sudo dmesg | grep -i legion | tail -20
sudo dmesg | grep -i acpi | grep -E "(PNP0C09|VPC2004)" | tail -10
Place your finger on the fingerprint reader
[    1.686152] systemd[1]: Hostname set to <Legion9-L>.
[    2.031695] NVRM: loading NVIDIA UNIX Open Kernel Module for x86_64  575.64.05  Release Build  (root@Legion9-L)  
[    2.153518] nvidia-modeset: Loading NVIDIA UNIX Open Kernel Mode Setting Driver for x86_64  575.64.05  Release Build  (root@Legion9-L)  
[    3.956305] legion_laptop: Loading legion_laptop
[    3.956360] legion PNP0C09:00: legion_laptop platform driver probing
[    3.956362] legion PNP0C09:00: Read identifying information: DMI_SYS_VENDOR: LENOVO; DMI_PRODUCT_NAME: 83G0; DMI_BIOS_VERSION:NXCN22WW
[    3.956363] legion_laptop: Read identifying information: DMI_SYS_VENDOR: LENOVO; DMI_PRODUCT_NAME: 83G0; DMI_BIOS_VERSION:NXCN22WW
[    3.956365] legion PNP0C09:00: is_denied: 0; is_allowed: 0; do_load_by_list: 0; do_load: 0
[    3.956367] legion PNP0C09:00: Module not usable for this laptop because it is not in allowlist. Notify the maintainer if you want to add your device or force load with param force.
[    3.956367] legion PNP0C09:00: legion_laptop not loaded for this device
[    3.956458] legion PNP0C09:00: probe with driver legion failed with error -12
[   22.678164] legiond[1488]: segfault at c0 ip 00007fbfb116d802 sp 00007fbfb1102600 error 4 in libc.so.6[66802,7fbfb112b000+170000] likely on CPU 22 (core 38, socket 0)
[   19.802503] ideapad_acpi VPC2004:00: Unknown keyboard type: 0
[   19.810160] ideapad_acpi VPC2004:00: Keyboard backlight control not available
[   19.854978] ideapad_acpi VPC2004:00: DYTC interface is not available

Installation type: Via AUR: lenovolegionlinux-git lenovolegionlinux-dkms-git Distribution: EndeavourOS (Arch Base) - 6.15.7-zen Model name: 83G0 CPU model: Intel® Core™ i9-14900HX GPU model: NVIDIA® GeForce RTX™ 4090 Laptop GPU Keyboard backlight: RGB Light in lid or logo: Yes Light at IO-Ports at back: Yes

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

Handle 0x0001, DMI type 1, 27 bytes
System Information
        Manufacturer: LENOVO
        Product Name: 83G0
        Version: Legion 9 16IRX9
        Serial Number: XXXXXXXX
        UUID: XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
        Wake-up Type: Power Switch
        SKU Number: LENOVO_MT_83G0_BU_idea_FM_Legion 9 16IRX9
        Family: Legion 9 16IRX9

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 of sudo dmidecode -t bios:

Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
        Vendor: LENOVO
        Version: NXCN22WW
        Release Date: 03/03/2025
        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.22
        Firmware Revision: 1.18

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

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

EC Chip ID: 5263
EC Chip Version: 222
legion_laptop features: fancurve powermode platformprofile platformprofilenotify minifancurve fancurve_pmw_speed fancurve_rpm_speed
legion_laptop ec_readonly: 0
ACPI CFG error: 0
ACPI CFG: 3925729556
temperature access method: 1
CPU temperature error: 0
CPU temperature: 0
CPU temperature EC error: 0
CPU temperature EC: 0
CPU temperature ACPI error: 0
CPU temperature ACPI: 53
CPU temperature WMI error: 0
CPU temperature WMI: 53
CPU temperature WMI2 error: 0
CPU temperature WMI2: 0
CPU temperature WMI3 error: 0
CPU temperature WMI3: 53
GPU temperature error: 0
GPU temperature: 0
GPU temperature EC error: 0
GPU temperature EC: 0
GPU temperature ACPI error: 0
GPU temperature ACPI: 45
GPU temperature WMI error: 0
GPU temperature WMI: 43
GPU temperature WMI2 error: 0
GPU temperature WMI2: 0
GPU temperature WMI3 error: 0
GPU temperature WMI3: 43
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: 204500
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: 2045
2 fanspeed error: 0
2 fanspeed: 0
2 fanspeed EC error: 0
2 fanspeed EC: 0
2 fanspeed ACPI error: 0
2 fanspeed ACPI: 208900
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: 2089
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: 1
EC minifancurve on cool: error
EC lockfancontroller error: 0
EC lockfancontroller: false
fanfullspeed error: 0
fanfullspeed: 0
fanfullspeed EC error: 0
fanfullspeed EC: 0
Max speed for fancurve: 10000
Current fan curve in hardware:
Fan curve current point id: 0
Fan curve points size: 0
u(speed_of_unit)|speed1[u]|speed2[u]|speed1[pwm]|speed2[pwm]|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)
Fan curve current point id: 0
Fan curve points size: 0
u(speed_of_unit)|speed1[u]|speed2[u]|speed1[pwm]|speed2[pwm]|acceleration|deceleration|cpu_min_temp|cpu_max_temp|gpu_min_temp|gpu_max_temp|ic_min_temp|ic_max_temp
=====================

uairhahs avatar Jul 24 '25 23:07 uairhahs