intel_nuc_led icon indicating copy to clipboard operation
intel_nuc_led copied to clipboard

DKMS install failing on Debain 11, kernel 5.10.x

Open noahbailey opened this issue 4 years ago • 3 comments

Hardware: NUC6CAYH OS: Debain Bullseye - Kernel 5.10.0-9-amd64

Problem: When I attempt the dkms-install, I'm getting errors back.

$ sudo make dkms-install
dkms add --force /home/noah/intel_nuc_led

Creating symlink /var/lib/dkms/intel-nuc-led/1.0/source ->
                 /usr/src/intel-nuc-led-1.0

DKMS: add completed.
dkms build -m intel-nuc-led -v 1.0

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j4 KERNELRELEASE=5.10.0-9-amd64 -C /lib/modules/5.10.0-9-amd64/build M=/var/lib/dkms/intel-nuc-led/1.0/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.10.0-9-amd64 (x86_64)
Consult /var/lib/dkms/intel-nuc-led/1.0/build/make.log for more information.
make: *** [Makefile:19: dkms-build] Error 10

The contents of that log file:

DKMS make.log for intel-nuc-led-1.0 for kernel 5.10.0-9-amd64 (x86_64)
Mon 13 Dec 2021 12:18:55 PM EST
make[1]: Entering directory '/usr/src/linux-headers-5.10.0-9-amd64'
  CC [M]  /var/lib/dkms/intel-nuc-led/1.0/build/nuc_led.o
/var/lib/dkms/intel-nuc-led/1.0/build/nuc_led.c: In function ‘init_nuc_led’:
/var/lib/dkms/intel-nuc-led/1.0/build/nuc_led.c:475:75: error: passing argument 4 of ‘proc_create’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  475 |         acpi_entry = proc_create("nuc_led", nuc_led_perms, acpi_root_dir, &proc_acpi_operations);
      |                                                                           ^~~~~~~~~~~~~~~~~~~~~
      |                                                                           |
      |                                                                           struct file_operations *
In file included from /var/lib/dkms/intel-nuc-led/1.0/build/nuc_led.c:36:
/usr/src/linux-headers-5.10.0-9-common/include/linux/proc_fs.h:109:122: note: expected ‘const struct proc_ops *’ but argument is of type ‘struct file_operations *’
  109 | struct proc_dir_entry *proc_create(const char *name, umode_t mode, struct proc_dir_entry *parent, const struct proc_ops *proc_ops);
      |                                                                                                   ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/linux-headers-5.10.0-9-common/scripts/Makefile.build:285: /var/lib/dkms/intel-nuc-led/1.0/build/nuc_led.o] Error 1
make[2]: *** [/usr/src/linux-headers-5.10.0-9-common/Makefile:1846: /var/lib/dkms/intel-nuc-led/1.0/build] Error 2
make[1]: *** [/usr/src/linux-headers-5.10.0-9-common/Makefile:185: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.10.0-9-amd64'

Thanks all!!

noahbailey avatar Dec 13 '21 17:12 noahbailey

This repo doesnt have the necessary patch for the kernel module to compile on anything using 5.6.0 or newer. You need to use a downstream fork for that patch for now.

ju2wheels avatar Mar 16 '23 03:03 ju2wheels

so is installing debian 10 will then make this work ?

docop avatar Dec 20 '23 22:12 docop

Try this downstream fork, it merges a bunch of the downstream forks and adds support for more NUC models and separates the driver from the userland controls: https://github.com/tvision-insights/intel_nuc_led . This fork should compile ok on pre 5.6.0 kernels and newer kernels (ive used it up to kernel 6.2.0)

I dont know if this current repo will work on Debian 10, depends what the kernel version is which I dont know off the top of my head.

ju2wheels avatar Dec 20 '23 23:12 ju2wheels