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 모듈을 제거해도 내장 키보드는 작동하지만 다른 키보드는 작동하지 않기 때문에 장치를 인식하지 못하는 것이 확실합니다.

무슨 일이 일어나고 있는지, 내장 키보드가 모듈에 바인딩되지 않은 이유를 어떻게 디버깅할 수 있습니까 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 장치가 사용하는 현재 드라이버에 대해 필요한 정보를 제공해야 한다는 것입니다.

관련 정보