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
