BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

No me carga el modulo xpad instalado vía dkms como módulo extra

Jeronimo17

Modifiqué el módulo xpad para que me admitiese uno de mis mandos y perfecto, pero en el PC que lo quiero no me funciona la instalación con dkms. No da ningún error pero se me sigue cargando el módulo interno que trae el núcleo de Linux.

Linux Mint 20.3

$ sudo dkms install -m xpad -v 0.4

Creating symlink /var/lib/dkms/xpad/0.4/source ->
                 /usr/src/xpad-0.4

DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j4 KERNELRELEASE=5.4.0-113-generic KVERSION=5.4.0-113-generic....
cleaning build area...

DKMS: build completed.

xpad.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.4.0-113-generic/extra/

depmod...

DKMS: install completed.
Aspire-5749:~$ modinfo xpad
filename:       /lib/modules/5.4.0-113-generic/kernel/drivers/input/joystick/xpad.ko
license:        GPL
description:    X-Box pad driver
author:         Marko Friedemann <mfr@bmx-chemnitz.de>
srcversion:     91B3BDD031A7AEC26D28D9E
Aspire-5749:~$ dkms status 
xpad, 0.4, 5.4.0-113-generic, x86_64: installed

En otro PC tambien con Linux Mint 20.3

OptiPlex-9010 /etc/modprobe.d $ modinfo xpad
filename:       /lib/modules/5.4.0-113-generic/extra/xpad.ko
license:        GPL
description:    X-Box pad driver
author:         Marko Friedemann <mfr@bmx-chemnitz.de>

Me tiene un poco rayado, no se que difiere en la configuración de ese PC para que no cargue el módulo de extra.

Para probar copie de /lib/modules/5.4.0-113-generic/extra/xpad.ko a xpad4.ko

$ depmod -v | grep xpad
/lib/modules/5.4.0-113-generic/kernel/drivers/input/joystick/psxpad-spi.ko needs "devm_input_allocate_polled_device": /lib/modules/5.4.0-113-generic/kernel/drivers/input/input-polldev.ko
/lib/modules/5.4.0-113-generic/kernel/drivers/input/joystick/psxpad-spi.ko needs "input_ff_create_memless": /lib/modules/5.4.0-113-generic/kernel/drivers/input/ff-memless.ko
/lib/modules/5.4.0-113-generic/kernel/drivers/input/joystick/xpad.ko needs "input_ff_create_memless": /lib/modules/5.4.0-113-generic/kernel/drivers/input/ff-memless.ko
/lib/modules/5.4.0-113-generic/extra/xpad4.ko needs "input_ff_create_memless": /lib/modules/5.4.0-113-generic/kernel/drivers/input/ff-memless.ko

Y entonces parece que depmod lo ve en /extra/. Me parece que el problema está más relacionado con depmod que con dkms, pero ya no se que mirar. Ahora mismo está copiado a lo bruto de /lib/modules/5.4.0-113-generic/extra/xpad.ko a /lib/modules/5.4.0-113-generic/kernel/drivers/input/joystick/xpad.ko y funciona, pero cuando se actualice en núcleo dejará de funcionar de nuevo.

Gracias

SOLUCIÓN

Black Hole

Pero... después de eliminar de memoria el módulo con modprobe -r xpad.ko, el comando insmod /ruta/xpad.ko hacia la nueva ruta, ¿consigue que el mando funcione bien o no?

🗨️ 4
Jeronimo17
$ sudo modprobe -r xpad
$ sudo insmod /lib/modules/5.4.0-113-generic/extra/xpad.ko
insmod: ERROR: could not insert module /lib/modules/5.4.0-113-generic/extra/xpad.ko: Unknown symbol in module

Creo que no se puede con insmod por que necesita cargar otros módulos, modprobe si funciona

🗨️ 3
Black Hole
1

Yo no controlo mucho de programar… pero me suena que al compilar debería enlazar a los símbolos del kernel disponibles en /lib/modules/`uname -r`/modules.symbols

De todas formas, es que yo ya estoy en el kernel 5.18.0.1 que acaba de salir el lunes, no sé cómo ha evolucionado xpad.c desde el kernel 5.4.*

Sé que la serie 5.4 es un LTS, pero van por el 5.4.196 … no sé si lo tienes desactualizado por algún motivo.

🗨️ 2
Jeronimo17

En este caso dkms se encarga de hacer la compilación, pero no tiene importancia aquí.

Probé en 3 pcs con Linux Mint en uno más moderno con 5.14.0-1038-oem (sin problemas) y 2 con el mismo núcleo 5.4.0-113 (es que el facilita como último Mint) y solo falla en uno de ellos, que lo mismo toqué algo hace tiempo para otro mando de Play 3 pero era otro modulo y no se por que puede afectar a esta instalación.

Sobre xpad he pedido que incluyan el cambio, pero hay que probar si es solo para mi modelo de mando o general de esa marca, asi que ese cambio aun no esta en ningún núcleo

🗨️ 1
vukits
1

¿el tuyo propio Por qué no le pones un nombre diferente y el del kernel lo pones en blacklist para que no cargue?

🗨️ 1
Jeronimo17

Si, he tenido que modificar el nombre en varios sitios, pero si funciona. Gracias es una solución :-)

Me queda la duda de porque falla originalmente…:S