You are not logged in.

#1 2026-09-07 15:32:44

useraddition
Member
Registered: 2013-06-07
Posts: 149

I can't seem to install driver for my Lenovo Laptop fans

Hi I'm having a problem, I installed a program from aur 'LenovoLegionLinux' it is the fan driver. It requires 'pwmconfig' and 'fancontrol' I have both pwm and fancontrol and I can't generate pwmconfig file, it's not letting me. These are my specs I tryed finding reference on the web and I can't find any substantial documentation.

$ sudo legion_cli fan-unlock-enable
Traceback (most recent call last):
  File "/usr/bin/legion_cli", line 8, in <module>
    sys.exit(main())
             ~~~~^^
  File "/usr/lib/python3.14/site-packages/legion_linux/legion_cli.py", line 512, in main
    legion = LegionModelFacade(expect_hwmon=not args.donotexpecthwmon)
  File "/usr/lib/python3.14/site-packages/legion_linux/legion.py", line 1532, in __init__
    self.fancurve_io = FanCurveIO(expect_hwmon=expect_hwmon)
                       ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.14/site-packages/legion_linux/legion.py", line 797, in __init__
    raise FileNotFoundError("hwmon dir not found")
FileNotFoundError: hwmon dir not found
$ 

So I found this documentation site on my driver and tryed to follow the wiki
https://github.com/johnfanv2/LenovoLegi … /README.md

so then i did 'pwmconfig' and got this error:

$sudo pwmconfig
# pwmconfig version 3.6.2
This program will search your sensors for pulse width modulation (pwm)
controls, and test each one to see if it controls a fan on
your motherboard. Note that many motherboards do not have pwm
circuitry installed, even if your sensor chip supports pwm.

We will attempt to briefly stop each fan using the pwm controls.
The program will attempt to restore each fan to full speed
after testing. However, it is ** very important ** that you
physically verify that the fans have been to full speed
after the program has completed.

/usr/bin/pwmconfig: There are no pwm-capable sensor modules installed
$

So now I'm stuck and my laptop has been getting hot and I really need to get my fans going:

This is my specs:

$fastfetch
                 -`                     @archlinux
                 .o+`                    ---------------------
                `ooo/                    OS: Arch Linux x86_64
               `+oooo:                   Host: 83LY (Legion 5 15IRX10)
              `+oooooo:                  Kernel: Linux 7.2.3-arch1-2
              -+oooooo+:                 Uptime: 1 hour, 39 mins
            `/:-:++oooo+:                Packages: 1284 (pacman)
           `/++++/+++++++:               Shell: bash 5.3.15
          `/++++++++++++++:              Display (eDP-1): 2560x1600 in 15", 165 Hz [Built-in]
         `/+++ooooooooooooo/`            Window Manager: Openbox 3.6.1 (X11)
        ./ooosssso++osssssso+`           WM Theme: Onyx-Citrus
       .oossssso-````/ossssss+`          Icons: oxygen [GTK2]
      -osssssso.      :ssssssso.         Cursor: Adwaita
     :osssssss/        osssso+++.        Terminal: konsole 26.8.0
    /ossssssss/        +ssssooo/-        CPU: Intel(R) Core(TM) i7-14700HX (16+12) @ 5.50 GHz
  `/ossssso+/:-        -:/+osssso+-      GPU 1: NVIDIA GeForce RTX 5060 Max-Q / Mobile [Discrete]
 `+sso+:-`                 `.-/+oso:     GPU 2: Intel Raptor Lake-S UHD Graphics @ 1.60 GHz [Integrated]
`++:.                           `-/+/    Memory: 4.66 GiB / 15.33 GiB (30%)
.`                                 `/    Swap: 0 B / 9.77 GiB (0%)
                                         Disk (/): 194.42 GiB / 758.76 GiB (26%) - ext4
                                         Local IP (wlp18s0): 172.24.123.138/19
                                         Battery (L24N4PC0): 100% [AC Connected]
                                         Locale: C.UTF-8
                                         
                                                                 
                                                                 
$ 

This is the result of 'inxi -F':

$inxi -F

System:
  Host: archlinux Kernel: 7.2.3-arch1-2 arch: x86_64 bits: 64
  Desktop: Openbox v: 3.6.1 Distro: Arch Linux
Machine:
  Type: Laptop System: LENOVO product: 83LY v: Legion 5 15IRX10
    serial: <superuser required>
  Mobo: LENOVO model: LNVNB161216 v: SDK0T76461 WIN
    serial: <superuser required> Firmware: UEFI vendor: LENOVO v: QNCN28WW
    date: 05/12/2025
Battery:
  ID-1: BAT0 charge: 86.7 Wh (100%) condition: 86.7/80 Wh (108.3%)
CPU:
  Info: 20-core (8-mt/12-st) model: Intel Core i7-14700HX bits: 64
    type: MST AMCP cache: L2: 28 MiB
  Speed (MHz): avg: 800 min/max: 800/5300:5500:3900 cores: 1: 800 2: 800
    3: 800 4: 800 5: 800 6: 800 7: 800 8: 800 9: 800 10: 800 11: 800 12: 800
    13: 800 14: 800 15: 800 16: 800 17: 800 18: 800 19: 800 20: 800 21: 800
    22: 800 23: 800 24: 800 25: 800 26: 800 27: 800 28: 800
Graphics:
  Device-1: Intel Raptor Lake-S UHD Graphics driver: i915 v: kernel
  Device-2: NVIDIA GB206M [GeForce RTX 5060 Max-Q / Mobile] driver: nvidia
    v: 610.57.04
  Device-3: Syntek Integrated Camera driver: uvcvideo type: USB
  Display: unspecified server: X.org v: 1.21.1.24 driver: X:
    loaded: modesetting,nvidia dri: iris gpu: i915 resolution: 2560x1600~165Hz
  API: EGL v: 1.5 drivers: iris,nvidia,swrast
    platforms: gbm,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.6 vendor: intel mesa v: 26.2.2-arch1.1
    renderer: Mesa Intel Graphics (RPL-S)
  API: Vulkan v: 1.4.357 drivers: nvidia surfaces: N/A
  Info: Tools: api: eglinfo, glxinfo, vulkaninfo
    gpu: nvidia-settings,nvidia-smi x11: xprop,xrandr
Audio:
  Device-1: Intel 700 Series Family HD Audio driver: snd_hda_intel
  Device-2: NVIDIA GB206 High Definition Audio driver: snd_hda_intel
  API: ALSA v: k7.2.3-arch1-2 status: kernel-api
  Server-1: PulseAudio v: 17.0-98-gb096 status: active
Network:
  Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    driver: r8169
  IF: enp12s0 state: down mac: c8:53:09:fe:65:77
  Device-2: MEDIATEK MT7925 802.11be 160MHz 2x2 PCIe Wireless Network
    Adapter [Filogic 360] driver: mt7925e
  IF: wlp18s0 state: up mac: 48:45:e6:48:28:a5
Bluetooth:
  Device-1: Foxconn / Hon Hai Wireless_Device driver: btusb type: USB
  Report: rfkill ID: hci0 rfk-id: 2 state: down bt-service: not found
    rfk-block: hardware: no software: yes address: see --recommends
Drives:
  Local Storage: total: 953.87 GiB used: 194.63 GiB (20.4%)
  ID-1: /dev/nvme0n1 vendor: Western Digital model: WD PC SN7100S
    SDFPMSL-1T00-1101 size: 953.87 GiB
Partition:
  ID-1: / size: 758.76 GiB used: 194.42 GiB (25.6%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-2: /boot size: 499 MiB used: 225 MiB (45.1%) fs: vfat
    dev: /dev/nvme0n1p1
Swap:
  ID-1: swap-1 type: partition size: 9.77 GiB used: 0 KiB (0.0%)
    dev: /dev/nvme0n1p3
Sensors:
  System Temperatures: cpu: 35.0 C mobo: N/A
  Fan Speeds (rpm): cpu: 1800 fan-2: 1800
Info:
  Memory: total: 16 GiB note: est. available: 15.33 GiB used: 4.68 GiB (30.5%)
  Processes: 449 Uptime: 1h 40m Shell: Bash inxi: 3.3.41
$

I am so stuck about what to do now.. I hope you guys can help, thanks.

Offline

#2 2026-09-07 16:32:46

xerxes_
Member
Registered: 2018-04-29
Posts: 1,073

Re: I can't seem to install driver for my Lenovo Laptop fans

Things to do fast: fully power off laptop, unplug charger for few minutes, reset bios to defaults and once again fully power off laptop, unplug charger for few minutes...
If that don't help, find out how to reset your laptop cmos on motherboard; maybe there is some way (key shortcuts when boot or something else), so you don't have to disassemble your laptop.

What display command 'sensors'?

Offline

#3 2026-09-07 19:24:25

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 77,988

Re: I can't seem to install driver for my Lenovo Laptop fans

https://aur.archlinux.org/packages/leno … x-dkms-git ?

dkms status
pacman -Q | grep -E '^linux'

Online

#4 2026-09-08 09:33:09

gnox
Member
Registered: 2013-05-18
Posts: 91

Re: I can't seem to install driver for my Lenovo Laptop fans

That "LNV" model is not in the allowlist for that driver, you can force to load the driver, but some features could not work better to ask the driver maintainers to add  support for your laptop model.

Offline

#5 2026-09-09 01:09:13

useraddition
Member
Registered: 2013-06-07
Posts: 149

Re: I can't seem to install driver for my Lenovo Laptop fans

Yes, thanks for bringing that to light for me, I kind of figured that. It turns out I have Lenovo 'Yogafan' it's a different model, I need to uninstall Lenovo Linux and find another package... more to come... I will post more specs in the near future... sorry for being rude not responding soon enough. Thanks.

Offline

#6 2026-09-09 08:17:34

WorMzy
Administrator
From: Scotland
Registered: 2010-06-16
Posts: 13,666
Website

Re: I can't seem to install driver for my Lenovo Laptop fans

Mod note: moving to AUR Issues


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#7 2026-09-09 21:00:37

useraddition
Member
Registered: 2013-06-07
Posts: 149

Re: I can't seem to install driver for my Lenovo Laptop fans

Ok so my fan shows now in dmesg I'm showing the module loaded. I did something this is what I did:

I blacklisted 'yogafan'

and I did this:

# vim /etc/modules-load.d/legion-laptop.conf
options legion-laptop force=1

#vim /etc/modprobe.d/legion-laptop.conf
options legion-laptop force=1

This is the output of dmesg:

#dmesg

These are my legion-laptop entries

[    9.269347] legion_laptop: Loading legion_laptop
[    9.269356] mousedev: PS/2 mouse device common for all mice
[    9.269389] legion legion: legion_laptop platform driver probing
[    9.269391] legion legion: Read identifying information: DMI_SYS_VENDOR: LENOVO; DMI_PRODUCT_NAME: 83LY; DMI_BIOS_VERSION:QNCN28WW
[    9.269392] legion_laptop: Read identifying information: DMI_SYS_VENDOR: LENOVO; DMI_PRODUCT_NAME: 83LY; DMI_BIOS_VERSION:QNCN28WW
[    9.269395] legion legion: is_denied: 0; is_allowed: 1; do_load_by_list: 1; do_load: 1
[    9.269396] legion legion: legion_laptop is forced to load.
[    9.269396] legion legion: Using configuration for system: QNCN
[    9.284781] legion legion: No ACPI handle, will use FQN paths
[    9.284782] legion legion: Skipping ACPI _STA check
[    9.284783] legion_laptop: Creating RAM access to embedded controller
[    9.284793] legion_laptop: Successfully mapped embedded controller: 0xfe00d400 (in RAM)/0x0 (in EC) to virtual 0x0000000070dc81aa
[    9.284963] legion legion: Read embedded controller ID 0x5508
[    9.284964] legion legion: Skipped checking embedded controller id
[    9.284964] legion legion: Creating debugfs interface
[    9.284968] legion_laptop: Creating sysfs interface
[    9.284995] legion_laptop: Creating hwmon interface
[    9.285010] legion_laptop: Creating platform profile support
[    9.285022] legion_laptop: Init WMI driver support
[    9.285032] legion_wmi 887B54E3-DDDC-4B2C-8B88-68A26A8835D0-2: Register after probing for WMI.
[    9.285054] legion_wmi 10AFC6D9-EA8B-4590-A2E7-1CD3C84BB4B1-19: Register after probing for WMI.
[    9.285060] legion_wmi D320289E-8FEA-41E0-86F9-611D83151B5F-20: Register after probing for WMI.
[    9.285085] legion_laptop: Init keyboard backlight LED driver
[    9.285688] legion_laptop: Init Y-Logo LED driver
[    9.286247] legion_laptop: Init IO-Port LED driver
[    9.286295] legion legion: legion_laptop loaded for this device
[  264.632122] legion_laptop: Unexpected value in MINIFANCURVE register: 0
[  264.632214] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  264.632310] legion_laptop: No access method for fancurve: 0
[  416.415884] legion_laptop: Received WMI event while not initialized!
[  584.935241] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.935410] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.939983] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.940108] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.941741] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.942091] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.943592] legion_laptop: get_simple_wmi_attributewith raw value: 1
[  584.943836] legion_laptop: get_simple_wmi_attributewith raw value: 1
[  584.946371] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.946468] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.948618] legion_laptop: get_simple_wmi_attributewith raw value: 2
[  584.948759] legion_laptop: get_simple_wmi_attributewith raw value: 2
[  584.949739] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.949918] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.954286] legion_laptop: get_simple_wmi_attributewith raw value: 3
[  584.954498] legion_laptop: get_simple_wmi_attributewith raw value: 3
[  584.955554] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.955707] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.956529] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.956677] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.957424] legion_laptop: get_simple_wmi_attributewith raw value: 5
[  584.957561] legion_laptop: get_simple_wmi_attributewith raw value: 5
[  584.960714] legion_laptop: get_simple_wmi_attributewith raw value: 17
[  584.960817] legion_laptop: get_simple_wmi_attributewith raw value: 17
[  584.962995] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.963229] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.963777] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.963933] legion_laptop: get_simple_wmi_attributewith raw value: 0
[  584.964426] legion_laptop: get_simple_wmi_attributewith raw value: 1
[  584.964549] legion_laptop: get_simple_wmi_attributewith raw value: 1
[  584.966042] legion_laptop: get_simple_wmi_attributewith raw value: 360453500
[  584.966375] legion_laptop: get_simple_wmi_attributewith raw value: 360453500
[  584.966934] legion_laptop: get_simple_wmi_attributewith raw value: 1
[  584.967139] legion_laptop: get_simple_wmi_attributewith raw value: 1
[  633.357623] legion_laptop: Received WMI event while not initialized!
[  634.081581] nvidia 0000:01:00.0: Enabling HDA controller
[  634.360221] legion_laptop: Received WMI event while not initialized!
[  635.363854] legion_laptop: Received WMI event while not initialized!
[  636.370382] legion_laptop: Received WMI event while not initialized!
[  637.375371] legion_laptop: Received WMI event while not initialized!
[  638.379402] legion_laptop: Received WMI event while not initialized!
[  639.436171] legion_laptop: Received WMI event while not initialized!
[ 1602.649589] nvidia 0000:01:00.0: Enabling HDA controller
[ 2265.347153] legion_laptop: Received WMI event while not initialized!
[ 2266.351140] legion_laptop: Received WMI event while not initialized!
[ 2267.357891] legion_laptop: Received WMI event while not initialized!

I did some minor debugging and tweaking to modprobe files so i mite need to reboot my system, which I'm doing after I type this response.

this is the output of #sensors

$sensors
ucsi_source_psy_USBC000:002-isa-0000
Adapter: ISA adapter
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

ucsi_source_psy_USBC000:001-isa-0000
Adapter: ISA adapter
in0:           0.00 V  (min =  +0.00 V, max =  +0.00 V)
curr1:         0.00 A  (max =  +0.00 A)

lenovo_wmi_other-virtual-0
Adapter: Virtual device
fan1:        2300 RPM  (min = 1800 RPM, max = 4600 RPM, div = 100)
fan2:        2300 RPM  (min = 1800 RPM, max = 4600 RPM, div = 100)

nvme-pci-0600
Adapter: PCI adapter
Composite:    +36.9°C  (low  = -40.1°C, high = +83.8°C)
                       (crit = +87.8°C)
Sensor 1:     +39.9°C  (low  = -273.1°C, high = +65261.8°C)
Sensor 2:     +38.9°C  (low  = -273.1°C, high = +65261.8°C)

mt7925_phy0-pci-1200
Adapter: PCI adapter
temp1:        +36.0°C  

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +58.0°C  (high = +100.0°C, crit = +100.0°C)
Core 0:        +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 4:        +47.0°C  (high = +100.0°C, crit = +100.0°C)
Core 8:        +47.0°C  (high = +100.0°C, crit = +100.0°C)
Core 12:       +47.0°C  (high = +100.0°C, crit = +100.0°C)
Core 16:       +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 20:       +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 24:       +48.0°C  (high = +100.0°C, crit = +100.0°C)
Core 28:       +47.0°C  (high = +100.0°C, crit = +100.0°C)
Core 32:       +51.0°C  (high = +100.0°C, crit = +100.0°C)
Core 33:       +51.0°C  (high = +100.0°C, crit = +100.0°C)
Core 34:       +51.0°C  (high = +100.0°C, crit = +100.0°C)
Core 35:       +51.0°C  (high = +100.0°C, crit = +100.0°C)
Core 36:       +49.0°C  (high = +100.0°C, crit = +100.0°C)
Core 37:       +49.0°C  (high = +100.0°C, crit = +100.0°C)
Core 38:       +49.0°C  (high = +100.0°C, crit = +100.0°C)
Core 39:       +49.0°C  (high = +100.0°C, crit = +100.0°C)
Core 40:       +51.0°C  (high = +100.0°C, crit = +100.0°C)
Core 41:       +51.0°C  (high = +100.0°C, crit = +100.0°C)
Core 42:       +51.0°C  (high = +100.0°C, crit = +100.0°C)
Core 43:       +51.0°C  (high = +100.0°C, crit = +100.0°C)

legion_hwmon-isa-0000
Adapter: ISA adapter
Fan 1:           2300 RPM
Fan 2:           2300 RPM
CPU Temperature:  +59.0°C  
GPU Temperature:  +48.0°C  
IC Temperature:   +55.0°C  

BAT0-acpi-0
Adapter: ACPI interface
in0:          17.76 V  
power1:       11.12 W  

So it's showing in sensors modules loaded correctly and the fan increased, on it's own. I think it's locked on auto though. That's why I can't adjust them manually which I'm trying to do.
So I saw somewhere I have to unlock the fan to adjust values manually, this is the command for that:

sudo legion_cli fan-unlock-enable
ERROR:Command not available because feature is not available or kernel module is not loaded.

I'm going to reboot my system now and see if that changes anything. Anybody can chime in with things to say, Thanks.

Offline

Board footer

Powered by FluxBB