2011-09-09 3 views
2

저는 Linux에 익숙하지 않아 2 개의 인터페이스가있는 장치 용 USB 드라이버를 작성해야합니다. 하나의 인터페이스는 엔드 포인트에 하나의 인터럽트와 보고서 설명자가있는 HID 클래스 (3/0/0)입니다. 다른 인터페이스는 3 개의 대량 엔드 포인트로 정의 된 공급 업체입니다. 내 usb_device_id 테이블에는 VID 및 PID가있는 USB_DEVICE 항목이 있습니다.Linux USB 프로브 순서를 변경하거나 제어 할 수 있습니까?

장치를 연결하면 xxx_probe 함수가 HID 인터페이스가 아니라 공급자 정의 인터페이스에 대해 호출됩니다. 대신, 'generic-usb'라는 빌트인 드라이버가 HID 인터페이스를 제어하고있는 것처럼 보입니다.

내 드라이버 검사 기능이 먼저 호출되도록하는 방법이 있습니까?

Linux가 Windows와 같이 특정 드라이버를 먼저 찾는 다중 패스를 만드는 이유는 무엇입니까?

또는 '일반 -usb'드라이버를 사용하여 인터럽트 끝점에서 데이터를 수신하고 보고서 및 기능을 컨트롤 파이프에 설정할 수 있습니까?

+0

나는이 문제를 해결하는 커널 패치를 발견했다고 생각한다. http://lwn.net/Articles/460522/ 패치 설명에서 : "이것은 디바이스를 얻는 문제를 완전히 해결해야한다. 올바른 순서로 초기화한다. " 하지만 아직 끝나지 않았습니다 .. – Dmitry

답변

0

libusb-1.0.8을 사용하면 응용 프로그램에서 사용자 정의 드라이버 없이도 연결된 장치의 인터페이스를 제어 할 수 있습니다. 지금까지 내가 필요한 모든 지원을 제공하는 것 같습니다.

관련 문제