Skip to content

Why control_in_blocking for my UVC device returns Err(Cancelled) on Windows #43

Answered by kevinmehall
wangxiaochuTHU asked this question in Q&A
Discussion options

You must be logged in to vote

Ah, ok, didn't realize that it was UVC. By "control" and "stream" you were also referring to the VideoControl and VideoStreaming interfaces defined in the UVC specification. In your descriptor you posted above, your interface number 0 has subclass=1 so is the VideoControl interface, and your interface number 1 has subclass=2 so is the VideoStreaming interface.

You should claim_interface(0) and claim_interface(1) to open both of these interfaces, and make VideoControl requests using interface 0, and VideoStreaming requests using interface 1. Then WinUSB will set the least significant byte of index to 0 or 1 to match the interface number used.

I think UVC will have an interface association …

Replies: 3 comments 5 replies

Comment options

You must be logged in to vote
1 reply
@wangxiaochuTHU
Comment options

Comment options

You must be logged in to vote
1 reply
@kevinmehall
Comment options

Comment options

You must be logged in to vote
3 replies
@kevinmehall
Comment options

Answer selected by wangxiaochuTHU
@wangxiaochuTHU
Comment options

@kevinmehall
Comment options

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants