Eu fiz alguns trabalhos de backport dos módulos do kernel para hid-apple
e bcm5974
(com muita ajuda deSic Volo) e escrever scripts DKMS para eles para que eu possa manter a compatibilidade entre atualizações do kernel:
Os patches são bastante simples, apenas adicionam suporte para esses novos IDs de produtos USB.
O problema que estou tendo é que mesmo depois de instalar esses novos módulos do kernel usando DKMS, meus dispositivos estãonuncavinculados aos drivers corretos, eles estão sempre vinculados a usbhid
e, em seguida, a hid-generic
, onde deveriam ser vinculados hid-apple
ao bcm5974
teclado e ao trackpad, respectivamente.
As mudanças sãorealmentesimples e até onde eu sei, eles deveriam informar ao kernel o suficiente paravincule os dispositivos certospara omotoristas certos.
Há alguma etapa que estou faltando para informar ao kernel que ele realmente deveria vincular esses dispositivos a esses drivers? Estou instalando os módulos no lugar errado no DKMS?
Se eu tiver o trabalho de religar os dispositivos aos drivers corretos (ou seja: localizar, pesquisar, desvincular, vincular), eles funcionarão muito bem e os patches funcionarão conforme o esperado. Mas como faço para que o kernel ligue as coisas da maneira certapor padrão?
Responder1
Meu problema era que eu estava instalando os pacotes nos diretórios errados do DKMS.
É importante definir DEST_MODULE_LOCATION
para apontar para o diretório dentro dos drivers do kernel no qual seu módulo deve residir. Eu estava instalando no /updates
, mas este era o lugar errado. Tive que movê-lo para /kernel/drivers/hid
que fosse reconhecido.
O estranho é que o DKMS parece ainda instalar o driver, /extras
não importa o que você passe aqui, mas de alguma forma isso resolve o problema.