2009-02-09 6 views
1

libusb를 사용하여 USB 장치와 통신하려고하는데, 첫 번째 레이스에서 기분이 들떠있는 것 같습니다. 나는 내가 말 할 필요가있는 종점을 정확하게 알고있다. 그러나 나는 심지어 그렇게까지 얻을 수 없다. 나는 본질적으로,이 : 내가 디버그 모드에서 장치 정보를 볼 수 있습니다, 지금USB 설정을 설정하지 못했습니다.

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

을 나는 0 (초기화되지 않은/단지 재시작 후) 현재 구성 인 것을 알고, 정확히 1 유효한 구성은, 거기에있는 하지만 구성 번호를 1로 설정하면, 설정 값을 1로 설정하면 -22의 반환 값을 얻습니다.이 값은 "string API를 통해 전달 된"Windows API 오류 : 잘못된 매개 변수로 변환됩니다.

비슷한 문제가있는 다른 사람들을 찾을 수 있었고, 그렇게 간단한 것처럼 보입니다. 인터페이스를 설정하거나 alt 인터페이스를 설정하는 등의 작업을 수행 할 수 없습니다. 먼저 무엇이 누락 되었습니까? (m atters : WinXP)

답변

0

libusb-win32 \ src \ driver \ set_configuration.c를 보면 STATUS_INVALID_PARAMETER을 반환하는 데는 여러 가지 이유가있는 것 같습니다.

사용자 모드 응용 프로그램의 libusb_set_debug을 사용하여 자세한 디버그 수준을 설정 한 다음 Sysinternals DebugView을 실행하여 드라이버의 오류 메시지를 확인하십시오. 다행히도 set_configuration 호출이 실패하는 이유에 대한 단서를 볼 수 있기를 바랍니다.

관련 문제