Hi Nathanael,

On Monday 20 August 2007, Nathanael Galpin wrote:
> Hi Laurent,
>
> Thanks for getting back to me. I took a look at what you said, and
> here's what I've found.
>
> > What are the symptoms ? Do you get an error when you try to access the
> >
> > control ? If so, what error (errno) do you get?
>
> When I try to access the control, I get errno 22 (EINVAL) returned. I've
> also noticed that when I enumerate the controls on the camera, my new
> control displays the same information as a control that is not supported
> by this camera. This is why I was wondering if I needed to associate the
> control with the camera somehow.
>
> Output from my test app:
>
> ID: 0x800000a Exposure, Auto  Min: 0  Max: 100        Step: 3
> ID: 0x800000b Exposure (Absolute)     Min: 100        Max: 10000
> Step: 50
> ID: 0x800000c         Min: 100        Max: 10000      Step: 50
> ID: 0x800000d         Min: 100        Max: 10000      Step: 50
> ID: 0x800000e         Min: 100        Max: 10000      Step: 50
>
> The first two controls are supported on this camera. Controls c & d are
> unsupported, control e is my new control.

Check the v4l2_queryctrl flag member. The driver will set it to 
V4L2_CTRL_FLAG_DISABLED for unsupported controls. I bet it does for controls 
c, d and e.

> > If you can enumerate the control on your device instance, there should
> > be no "association" problem. Try to raise the trace level to 255
> > (modprobe uvcvideo trace=255 or echo 255 >
> > /sys/modules/uvcvideo/parameters/trace) 
> > and check the kernel log (dmesg) for error messages after you try to
> > access the control from your userspace application.
>
> So I raised the trace level, and I've been able to pinpoint where the
> error is occurring. The function uvc_find_ctrl (uvc_ctrl.c) is unable to
> find the control. The trace message logged in dmesg is "uvcvideo:
> Control 0x800000e not found.
>
> After some more debugging I also found that uvc_find_ctrl searchs the
> video->iterms list, but not the video->extensions list, presumably
> because there are no items in this list? Could this be my problem?

uvc_find_ctrl searches the video->extensions list. The list being empty might 
indicate a problem during descriptor parsing. Could you send me the output of 
lsusb -v for your device ? Make sure to use usbutils 0.72 or newer, otherwise 
lsusb won't print anything useful.

Best regards,

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

Reply via email to