HID 장치에 바인딩된 모듈을 확인하시겠습니까?

HID 장치에 바인딩된 모듈을 확인하시겠습니까?

이상한 문제가 있습니다. MacBook Pro 11,5의 내부 키보드 지원을 커널 3.19로 백포트하기 위해 다른 사람의 작업을 기반으로 해킹을 수행했습니다.내 GitHub 소스는 여기에서 찾을 수 있습니다..

나는 3.19에서 예상대로 컴파일하고 작동할 수 있으면서도 가능한 한 커널 4.2에 가깝도록 하기 위해 할 수 있는 모든 일을 했습니다.

그러나 4.2로 부팅하면 예상대로 작동하는 완벽한 기능이 제공되지만 내 모듈은 아무 작업도 수행하지 않는 것 같습니다. 기존 Apple 장치는 예상대로 작동하지만 내장 키보드에 여전히 동일한 문제가 있습니다.

문제는 기능 키가 작동하지 않아 미디어 키를 사용할 수 없다는 사실에 기초합니다. 또한 다른 Apple 키보드가 제대로 작동하는지 확인하기 위해 온전한 테스트도 수행했습니다(Apple 유선 및 무선 키보드로 테스트했으며 둘 다 제대로 작동함).

내 키보드가 올바른 드라이버에 바인딩되어 있는지 확인할 수 있는 방법이 있습니까?

장치의 USB ID는 이며 05ac:0274해당 장치에 대한 구성 줄은 다음에서 찾을 수 있습니다.hid-ids.h:147그리고hid-apple.c:553-554. 숨겨진 사과 모듈을 제거한 경우에도 내장 키보드가 작동하지만 다른 키보드는 작동하지 않기 때문에 그것이 장치를 집어 들지 않는 것이라고 확신합니다.

무슨 일이 일어나고 있는지, 그리고 내장 키보드가 모듈에 바인딩되지 않는 이유를 어떻게 디버깅할 수 있습니까 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 ID를 특정 드라이버와 연결하도록 하려면 어떻게 해야 합니까? 아래에 제공된 답변을 수락하겠습니다. 하지만 여전히 해결책을 찾고 있습니다.

답변1

훌륭한 답변이 있습니다여기. 짧은 대답은 명령 usb-devices(대부분의 배포판에서 사용 가능한 패키지 usbutils또는 이와 유사한 것)이 각 USB 장치가 사용하는 현재 드라이버에 대해 원하는 정보를 제공해야 한다는 것입니다.

관련 정보