He trabajado un poco en la adaptación de los módulos del kernel para hid-apple
y bcm5974
(con mucha ayuda deSicVolo) y escribir scripts DKMS para ellos para poder mantener la compatibilidad entre las actualizaciones del kernel:
Los parches son bastante sencillos, solo agregan soporte para estos nuevos identificadores de productos USB.
El problema que tengo es que incluso después de instalar estos nuevos módulos del kernel usando DKMS, mis dispositivos estánnuncavinculados a los controladores correctos, siempre están vinculados a usbhid
y luego a hid-generic
, donde deberían estar vinculados por hid-apple
y bcm5974
para el teclado y el trackpad respectivamente.
Los cambios sonen realidadsimple y, por lo que puedo decir, deberían informarle al núcleo lo suficiente como paravincular los dispositivos correctoshaciaconductores correctos.
¿Me falta algún paso para decirle al kernel que realmente debería vincular estos dispositivos a estos controladores? ¿Estoy instalando los módulos en el lugar equivocado en DKMS?
Si me tomo la molestia de volver a vincular los dispositivos a los controladores correctos (es decir, localizar, buscar, desvincular, vincular), funcionan muy bien y los parches funcionan como se esperaba. Pero, ¿cómo consigo que el kernel vincule las cosas de la manera correcta?por defecto?
Respuesta1
Mi problema fue que estaba instalando los paquetes en directorios incorrectos en DKMS.
Es importante configurarlo DEST_MODULE_LOCATION
para que apunte al directorio dentro de los controladores del kernel en el que se supone que reside su módulo. Estaba instalando en /updates
, pero este era el lugar equivocado. Tuve que moverlo para /kernel/drivers/hid
que lo reconocieran.
Lo extraño es que DKMS parece seguir instalando el controlador /extras
sin importar lo que pase aquí, pero de alguna manera esto lo soluciona.