Different Drivers for Individual Interfaces

Hello

We have a USB camera. My Mac can recognize it and we can get frames with any software. There is a physical button on it and the vendor says the camera is UVC-compliant. But button doesn't work anyway.

I captured some USB traffic data and saw that it has two interfaces. One for streaming and other one for interrupting (like button click). I read UVC 1.5 standards to understand it and it is working like written in UVC 1.5. So, I can get a data with an interrupt transfer when clicking the button.

I checked these two interfaces, they use UVCAssistant for driver(System Extension). I tried to use libusb, I can get data from button click. But for frames I had to use libuvc, but it wasn't work for my camera (I think it is related with USB descriptor parsing in libuvc).

I thought that I should write a driver for single interface and so second interface will use same UVC assistant driver and first interface will use my driver.

I wrote a driver and it matches with first interface. But second interface is empty (unhandled by any driver). I want to load UVCAssistant for second interface of USB port.

How can I do this?

Hello, have you solved the problem? I want to develop an app that also use a uvc camera with a capture button. This device work fine in Microsoft windows. Would you please share how to read the capture button as you mentioned using libusb?

Thanks in advance.

Hello Bariscelik,

I also want to know how to use libusb to read the button click interrupt in macos. Would you please sharing this portion to me? I use QT to access the uvc camera but I cannot read the click button.

Thanks in advance.

Tse Hon Kit

Different Drivers for Individual Interfaces
 
 
Q