On 09/14/17 09:56, Rail Shafigulin wrote: > On Thu, Sep 14, 2017 at 2:21 AM, Oliver Neukum <oneukum@xxxxxxxx> wrote: >> Hi, >> >> either the camera (to be precise: an interface of it) advertises >> itself as UVC compliant and implements the UVC standard. If that >> is the case the existing kernel driver will work and user space >> can use the V4L API to use the camera. >> >> (Theoretically a device can be so stupid that it implements the protocol >> but does not advertise that. Then you need to add the id to the uvc kernel driver) >> >> >> If the camera does not implent UVC, you will have to write a kernel >> driver for it, which needs to implement the V4L API. >> >> Does this clean up the confusion? >> >> Regards >> Oliver >> > Thanks for the reply. That does clarify it. But I still have a few > more questions. > > 1. What makes camera UVC compliant? Is there a document describing > this? I have access to the hardware (or I should say access to the > hardware engineers) and can make it compliant. UVC == USB Video Class. It is a USB standards specification. The best solution would be for the hardware to be made compliant to the spec. See the Video Class spec at http://www.usb.org/developers/docs/devclass_docs/ > 2. If making camera UVC compliant is a software issue, then I can > certainly make changes to UVC, I just don't know what is good starting > point for this. I'd appreciate if someone could point me in the right > direction (i.e. take a look at this function in this file and it will > get you started). No need to handhold, but a little help navigating > UVC/USB is appreciated. > > 3. In case items 1 and 2 are not the steps that I need to take, I will > write a V4L driver. V4L is quite complex and I have the same request > here as in item 2. What is a good starting point to write a V4L > driver? Is there a template file I could use? Would Virtual Video > Driver (vivid) be a good place to look at? > -- ~Randy -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html