문제

나는 libusb를 사용하여 USB 장치와 대화하려고 노력하고 있지만 레이스의 첫 번째 다리를 넘어 뜨리는 것처럼 느낍니다. 나는 어떤 엔드 포인트와 대화 해야하는지 정확히 알고 있지만, 그렇게 멀리 얻을 수는 없습니다. 본질적으로는 다음과 같습니다.

usb_device *dev = ...; // opened from get_busses()
usb_set_configuration(dev, dev->config[0].bConfigurationValue); // bConfigVal = 1

이제 디버그 모드에서 장치 정보를 살펴볼 수 있으며 현재 구성이 0 (다시 시작된 직후 / 시작 / 재시작 직후)이며 구성 번호가 정확히 1 인 유효한 구성이 있습니다. 1이면 -22의 리턴 값을 얻습니다. (Stringifier를 통해 전달 된)는 "Windows API Error : 잘못된 매개 변수로 변환됩니다.

나는 비슷한 문제를 가진 다른 사람들을 찾을 수 없었고, 그렇게 간단한 일처럼 보입니다. 인터페이스를 청구하거나 alt-interface 또는 그와 비슷한 것을 설정할 수도 없습니다. 먼저 구성을 설정해야합니다. 내가 무엇을 놓치고 있습니까? (중요하다면 : 이것은 winxp에 있습니다)

도움이 되었습니까?

해결책

libusb-Win32 src driver set_configuration.c를 보면 반품의 다른 이유가 많이있는 것 같습니다. STATUS_INVALID_PARAMETER.

사용 libusb_set_debug (사용자 모드 응용 프로그램에서) 장황 디버그 레벨을 설정 한 다음 실행합니다. Sysinternals Debugview 운전자의 오류 메시지를 보려면 바라건대 당신은 왜 당신의 이유에 대한 단서를 보게 될 것입니다 set_configuration 전화가 실패합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top