У меня странная проблема. Я сделал хакерский взлом на основе работы другого человека, чтобы портировать поддержку встроенной клавиатуры на MacBook Pro 11,5 в ядро 3.19.Мой исходный код GitHub можно найти здесь.
Я сделал все возможное, чтобы обеспечить максимальное соответствие ядру 4.2 и при этом обеспечить возможность компиляции и работы в версии 3.19.
Однако, хотя загрузка в 4.2 дает мне идеальную функциональность, работающую как и ожидалось, мой модуль, похоже, ничего не делает. Существующие устройства Apple работают как и ожидалось, но у меня все еще те же проблемы со встроенной клавиатурой.
Проблемы связаны с тем, что функциональная клавиша не работает, и поэтому я не могу использовать свои медиа-клавиши. Я также провел тестирование работоспособности, чтобы убедиться, что другие клавиатуры Apple работают (проверено с проводной и беспроводной клавиатурой Apple, и обе работают правильно).
Есть ли способ проверить, привязана ли моя клавиатура к правильному драйверу?
USB-идентификатор устройства — 05ac:0274
, а строку конфигурации для этого устройства можно найти вскрытый-ids.h:147И вскрытый-apple.c:553-554. Я убежден, что он просто не распознает устройство, потому что даже при удалении модуля HID-Apple моя встроенная клавиатура работает, а другие — нет.
Как мне отладить происходящее и почему моя встроенная клавиатура не привязывается к модулю hid-apple
?
РЕДАКТИРОВАТЬ: Мне удалось привязать клавиатуру к нужному драйверу, используя следующее:
# unbind everything matching 05AC:0274 from hid-generic
for dev in `ls /sys/bus/hid/drivers/hid-generic/ | egrep 05AC\:0274`; do
echo -n $dev | sudo tee /sys/bus/hid/drivers/hid-generic/unbind
done
# bind everything matching 05AC:0274 to hid-apple
for dev in `ls /sys/bus/hid/devices/ | egrep 05AC:0274` ; do
echo -n $dev | sudo tee /sys/bus/hid/drivers/hid-apple/bind
done
Проблема остается: как заставить данный идентификатор USB ассоциироваться с данным драйвером? Я приму данный ниже ответ, но я все еще ищу решение...
решение1
Есть отличный ответздесь. Короткий ответ — команда usb-devices
(доступная для большинства дистрибутивов в пакете под названием usbutils
или как-то похоже) должна предоставить вам необходимую информацию о текущем драйвере, используемом каждым USB-устройством.