Hi again Laurent,
Right after writing to you I started playing with uvcdynctrl controls
and I've found out that setting 'Exposure (Absolute)' to a lower
value solves my problem.
Now what remains to understand is how come the settings are changed.
>> I compiled the latest uvcdynctrl (0.2) and here is some output:
>
> I'm afraid that's outdated :-/ Could you please check the last version out
> from the SVN repository ?
As I wrote before I identified the setting that gave me problems, but
on your request I tried also the SVN version and I can confirm you
that the 0.20 is the latest.
> Please try to modify the exposure controls using the -s option to uvcdynctrl.
That's exactly what I did and got me a smooth stream (the 'Exposure
(Absolute)' control).
> Set the driver trace parameter to 64 before plugging the camera (echo 64
>> /sys/modules/uvcvideo/parameters/trace). The driver will then log a message
> when an ioctl is called. Plug the camera and check if a userspace application
> invokes VIDIOC_S_CTRL to restore controls.
This is the syslog after enabling the trace when I plug the camera:
Nov 16 17:22:02 greywolf kernel: [24925.857046] usb 2-1: new high
speed USB device using ehci_hcd and address 10
Nov 16 17:22:02 greywolf kernel: [24926.102991] usb 2-1: configuration
#1 chosen from 1 choice
Nov 16 17:22:02 greywolf kernel: [24926.103473] uvcvideo: Found UVC
1.00 device <unnamed> (046d:09a4)
Nov 16 17:22:02 greywolf kernel: [24926.135418] input: UVC Camera
(046d:09a4) as /devices/pci0000:00/0000:00:02.1/usb2/2-1/2-1:1.0/input/input11
Nov 16 17:22:03 greywolf kernel: [24926.397739]
VIDIOC_QUERYCAPVIDIOCGCAPVIDIOC_QUERYCAPVIDIOC_ENUMINPUTVIDIOC_ENUMINPUTVIDIOC_ENUM_FMTVIDIOC_TRY_FMT<3>10:3:1:
cannot set freq 16000 to ep 0x86
Nov 16 17:22:03 greywolf kernel: [24927.400217] uvcvideo: Failed to
query (1) UVC control 1 (unit 0) : -110 (exp. 26).
Nov 16 17:22:04 greywolf kernel: [24927.515251]
VIDIOC_QUERYCAPVIDIOC_G_FMTVIDIOC_S_FMT<3>uvcvideo: Failed to query
(1) UVC control 1 (unit 0) : -32 (exp. 26).
Nov 16 17:22:05 greywolf kernel: [24927.849383]
VIDIOC_G_FMTVIDIOC_S_FMT<3>uvcvideo: Failed to query (1) UVC control 1
(unit 0) : -110 (exp. 26).
Nov 16 17:22:05 greywolf kernel: [24928.848506]
VIDIOC_ENUMINPUTVIDIOC_G_INPUTVIDIOC_ENUMINPUTVIDIOC_ENUMSTD<7>uvcvideo:
Unsupported ioctl 0xc0405619
Nov 16 17:22:06 greywolf kernel: [24928.848769]
VIDIOC_ENUMINPUTVIDIOC_ENUM_FMTVIDIOC_ENUM_FMTVIDIOC_ENUM_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMT<3>uvcvideo:
Failed to query (1) UVC control 1 (unit 0) : -110 (exp. 26).
Nov 16 17:22:07 greywolf kernel: [24929.849271]
VIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMT<3>uvcvideo:
Failed to query (1) UVC control 1 (unit 0) : -110 (exp. 26).
>> If I click on "auto exposure off" I still get "Set Auto Exposure off
>> error" in stderr.
>
> Please try to set the auto exposure control with uvcdynctrl.
Setting auto exposure fails even with uvcdynctrl. It's on by default
and doesn't seen to be changable (Even if the control is correcrly
identified).
Exposure, Auto
ID : 0x00000000,
Type : Choice,
Flags : { CAN_READ, CAN_WRITE },
Values : { 'Auto Mode'[0], 'Manual Mode'[1], 'Shutter Priority
Mode'[2], 'Aperture Priority Mode'[3] },
Default : 3
but:
/uvcdynctrl-0.2 --get='Exposure, Auto'
[libwebcam] Unknown V4L2 control ID encountered: 10094849
[libwebcam] Unknown V4L2 control ID encountered: 10094850
[libwebcam] Unknown V4L2 control ID encountered: 10094851
ERROR: Unknown control specified.
and:
./uvcdynctrl-0.2 --set='Exposure, Auto' 0
[libwebcam] Unknown V4L2 control ID encountered: 10094849
[libwebcam] Unknown V4L2 control ID encountered: 10094850
[libwebcam] Unknown V4L2 control ID encountered: 10094851
ERROR: Unknown control specified.
When I do that the syslog shows:
Nov 16 17:24:46 greywolf kernel: [24930.848233]
VIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_G_FMTVIDIOC_S_FMTVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_CROPCAPVIDIOC_S_CROPVIDIOC_S_INPUTVIDIOC_QUERYCTRLVIDIOC_S_CTRLVIDIOC_QUERYCTRLVIDIOC_S_CTRLVIDIOC_QUERYCTRLVIDIOC_S_CTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_STREAMOFFVIDIOC_QUERYCAPVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYC
Nov 16 17:25:29 greywolf kernel:
RLVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCAPVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCAPVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYMENUVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCAPVIDIOC_QUERYCTRLVIDIOC_QUERYCTRLVIDIOC_QUERYCTR
LVIDI
> I really doubt the camera includes an EEPROM to store control values (but I
> might of course be wrong). Please try to set auto-exposure off with
> uvcdynctrl. If it works the problem is probably in luvcview. If it doesn't
> we'll have a look somewhere else.
As told, the auto exposure can't be set with any software. Maybe I
open the camera to see if there's an EPROM?
Thanks
Ciao,
Mauro
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel