Hi Jörg,

On Monday 08 October 2007 13:08, Jörg Hermsdorf wrote:
> > > > does the uvcvideo module export some controls that can be set via the
> > > > sysfs filesystem? I'm looking for a way to toggle the status LED on
> > > > and offf. Or is this directly controlled my the hardware?
> > > >
> > > > My cam is the Logitech QuickCam Sphere MP.
> > >
> > > The LED is directly controlled by the hardware. There is no way to turn
> > > it on or off from the computer.
> >
> >
> >
> > What Laurent said is partially true, the LED is by default controlled by
> > the hardware. However, there is a way of influencing the behavior of the
> > LED. There is an extension unit control that allows to set the LED to
> > states like On, Off, Blinking, and Auto. The latter one is just the
> > default.
>
> If I understand correctly, things like controlling the LED are vendor
> specific and should be implemented via the dynamic controls API now!?

That's right.

> So the goal is that the uvcvideo module just implements the UVC standard and
> does not contain the code to control certain vendor specific extension
> units?

Yep.

> So in the end, there's no more need to patch and recompile uvcvideo 
> if someone adds some vendor specific functionality (e.g. like controlling
> the LED)?

Exactly. Hardcoding all vendor-specific controls in the driver would soon 
become a maintenance nightmare. As most controls are quite simple, I decided 
to go for a userspace API that allows vendors to register new controls are 
runtime.

> I'm not sure if I understand the concept of the dynctl api correctly. Is it
> correct, that the dynctl API allows 3rd parties to register additional
> ioctls with the uvcvideo module which are then available to applications?

That's right. 3rd parties can register new UVC controls and optionally map 
them to V4L2 controls. The new V4L2 controls are then available to all V4L2 
applications.

The V4L2 mapping is optional. The API allows applications to access UVC 
controls directly. Mappings are used when the controls make sense at the V4L2 
level (pan/tilt for instance). There is no point in mapping a vendor-specific 
UVC firmware update control to V4L2.

> Does the dynctl api allows this additional functionality to be exported via
> the sysfs filesystem, too? Or would this require an additional sub-module
> e.g. uvcvideo-logitech.ko which exports this (and only this) additional
> functionality via sysfs?

No sysfs exports exists yet. What exactly do you want to export ? V4L2 
controls ? UVC controls ? How do you handle permissions on those ?

Best regards,

Laurent Pinchart
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to