Andrew Hi,

You should now make this change more permanent in the driver configuration,
create a file named uvcvideo.conf in /etc/modprobe.d
add the following line:
options uvcvideo quirks=2

the quirks parameter bypasses some problems originated by faulty or
non fully compliant hardware.
In your case the camera fails when getting the min and max values for
the compression settings during probe,
quirks=2 bypasses this.

Laurent, you should add this camera to the uvc_ids list and hard code
the quirk there.
(This list just keeps getting bigger and bigger)

Regards,
Paulo

2010/6/24 Andrew V Kuzmin <freeg...@mail.ru>:
> Paulo, the miracle is happened, it's now works!
>
> as in
>
>  mplayer tv://
>
> also with preload lib with skype
>
> LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
>
> what means quirks=2???
> did you need more logs, or now we can close this problem?
>
>
>
> В Чтв, 24/06/2010 в 15:44 +0100, Paulo Assis пишет:
>> Andrew Hi,
>> Can you try setting quirks to 2:
>>
>> rmmod uvcvideo
>> modprobe uvcvideo quirks=2 trace=65535
>>
>> please post also a working dmesg log (from vlc)
>>
>> Regards,
>> Paulo
>>
>> 2010/6/24 Andrew V Kuzmin <freeg...@mail.ru>:
>> > Hi Paulo! Requested logs in attach
>> > dmesg - all from the system cold boot
>> >
>> >
>> >
>> >
>> >
>> > В Чтв, 24/06/2010 в 10:31 +0100, Paulo Assis пишет:
>> >> Andrew Hi,
>> >> you can increase the driver verbosity by setting the trace parameter:
>> >> rmmod uvcvideo
>> >> modprobe uvcvideo trace=65535
>> >>
>> >> trace level is given by grouping several flags so you can set it to
>> >> something like 0xffffff and get a huge amount of information on the
>> >> logs (just don't forget to reset it after you finish debugging)
>> >>
>> >> after this dmesg should be a lot more verbose.
>> >>
>> >> Some cameras require a quirks value to function properly, but you
>> >> really need to check what's going on first.
>> >>
>> >> Best regards,
>> >> Paulo
>> >>
>> >> 2010/6/24 Andrew V Kuzmin <freeg...@mail.ru>:
>> >> > Hi, I did not fully inderstand how to seperverbose driver logs,
>> >> > the key in guvcview -v only, not like -vvv in vlc.
>> >> > DMESG once again
>> >> >
>> >> > when camera plugged in
>> >> >
>> >> > 46064.024031] usb 1-1: new high speed USB device using ehci_hcd and
>> >> > address 7
>> >> > [46064.158039] usb 1-1: configuration #1 chosen from 1 choice
>> >> > [46064.158652] uvcvideo: Found UVC 1.00 device USB2.0 PC CAMERA
>> >> > (18ec:3188)
>> >> > [46064.158900] uvcvideo: UVC non compliance - GET_DEF(PROBE) not
>> >> > supported. Enabling workaround.
>> >> > [46064.159391] input: USB2.0 PC CAMERA
>> >> > as /devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1:1.0/input/input10
>> >> >
>> >> > then when guvcview called
>> >> >
>> >> > [46206.284313] uvcvideo: Failed to query (130) UVC probe control : 0
>> >> > (exp. 26).
>> >> > [46206.287686] uvcvideo: Failed to query (130) UVC probe control : 0
>> >> > (exp. 26).
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > kuz...@kuzmin-desktop:~$ guvcview -v
>> >> > guvcview 1.4.1
>> >> >
>> >> > (process:13812): Gtk-WARNING **: Locale not supported by C library.
>> >> >        Using the fallback 'C' locale.
>> >> > unexpected integer value (0) for vid_mux
>> >> > Strings must be quoted
>> >> > unexpected integer value (1) for snd_numsec
>> >> > Strings must be quoted
>> >> > unexpected integer value (160) for snd_bitrate
>> >> > Strings must be quoted
>> >> > unexpected integer value (2) for Pan_Step
>> >> > Strings must be quoted
>> >> > unexpected integer value (2) for Tilt_Step
>> >> > Strings must be quoted
>> >> > video_device: /dev/video0
>> >> > vid_sleep: 0
>> >> > cap_meth: 1
>> >> > resolution: 640 x 480
>> >> > windowsize: 480 x 700
>> >> > vert pane: 0
>> >> > spin behavior: 0
>> >> > mode: mjpg
>> >> > fps: 1/25
>> >> > Display Fps: 0
>> >> > bpp: 0
>> >> > hwaccel: 1
>> >> > avi_format: 0
>> >> > sound: 1
>> >> > sound Device: 0
>> >> > sound samp rate: 0
>> >> > sound Channels: 0
>> >> > Sound delay: 0 nanosec
>> >> > Sound Format: 80
>> >> > Pan Step: 2 degrees
>> >> > Tilt Step: 2 degrees
>> >> > Video Filter Flags: 0
>> >> > image inc: 0
>> >> > profile(default):/home/kuzmin/default.gpfl
>> >> > starting portaudio...
>> >> > bt_audio_service_open: connect() failed: Connection refused (111)
>> >> > bt_audio_service_open: connect() failed: Connection refused (111)
>> >> > bt_audio_service_open: connect() failed: Connection refused (111)
>> >> > bt_audio_service_open: connect() failed: Connection refused (111)
>> >> > language catalog=> dir:/usr/share/locale type:(null) lang:en_EN
>> >> > cat:guvcview.mo
>> >> > mjpg: setting format to 1196444237
>> >> > capture method = 1
>> >> > video device: /dev/video0
>> >> > /dev/video0 - device 1
>> >> > Init. USB2.0 PC CAMERA (location: usb-0000:00:1d.7-1)
>> >> > { pixelformat = 'MJPG', description = 'MJPEG' }
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { pixelformat = 'RGB3', description = 'RGB3' }
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { pixelformat = 'BGR3', description = 'BGR3' }
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { pixelformat = 'YU12', description = 'YU12' }
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { pixelformat = 'YV12', description = 'YV12' }
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > vid:18ec
>> >> > pid:3188
>> >> > driver:uvcvideo
>> >> > checking format: 1196444237
>> >> > VIDIOC_S_FORMAT - Unable to set format: Input/output error
>> >> > Init v4L2 failed !!
>> >> > Init video returned -2
>> >> > trying minimum setup ...
>> >> > capture method = 1
>> >> > video device: /dev/video0
>> >> > /dev/video0 - device 1
>> >> > Init. USB2.0 PC CAMERA (location: usb-0000:00:1d.7-1)
>> >> > { pixelformat = 'MJPG', description = 'MJPEG' }
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { pixelformat = 'RGB3', description = 'RGB3' }
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { pixelformat = 'BGR3', description = 'BGR3' }
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { pixelformat = 'YU12', description = 'YU12' }
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { pixelformat = 'YV12', description = 'YV12' }
>> >> > { discrete: width = 640, height = 480 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > { discrete: width = 320, height = 240 }
>> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> > vid:18ec
>> >> > pid:3188
>> >> > driver:uvcvideo
>> >> > checking format: 1196444237
>> >> > VIDIOC_S_FORMAT - Unable to set format: Input/output error
>> >> > Init v4L2 failed !!
>> >> > ERROR: Minimum Setup Failed.
>> >> >  Exiting...
>> >> > free audio mutex
>> >> > VIDIOC_REQBUFS - Failed to delete buffers: Invalid argument (errno 22)
>> >> > closed v4l2 strutures
>> >> > free controls - vidState
>> >> > cleaned allocations - 100%
>> >> > Closing portaudio ...OK
>> >> > Terminated.
>> >> >
>> >> >
>> >> >
>> >> > В Срд, 23/06/2010 в 23:52 +0100, Paulo Assis пишет:
>> >> >> Andrew Hi,
>> >> >> By default vlc uses libv4l, just like most other software, when this
>> >> >> fails it reverts to direct v4l2 access, (you probably should also
>> >> >> check your libv4l version and update it if needed)
>> >> >> vlc seems to be able to open a MJPG stream after a few failed
>> >> >> attempts, I can't really understand why it fails with the other
>> >> >> software (it returns a I/O error when trying to set the stream
>> >> >> format).
>> >> >> Can you increase the driver verbosity and check for error messages 
>> >> >> with dmesg ?
>> >> >>
>> >> >> Regards,
>> >> >> Paulo
>> >> >>
>> >> >> 2010/6/23 Andrew V Kuzmin <freeg...@mail.ru>:
>> >> >> > Got the latest version, but error still happened (logs below)
>> >> >> > Have you seen the vlc logs?
>> >> >> > It seems that cam not supported by гмс drivers - direct kernel v4l2  
>> >> >> > -
>> >> >> > what does it means?
>> >> >> >
>> >> >> >
>> >> >> > [0x8e24368] v4l2 demux debug: will try to find optimal width and 
>> >> >> > height.
>> >> >> > libv4l2: error setting pixformat: Input/output error
>> >> >> > libv4l2: error setting pixformat: Input/output error
>> >> >> > libv4l2: error setting pixformat: Input/output error
>> >> >> > [0x8e24368] v4l2 demux warning: Could not select any of the default
>> >> >> > chromas; attempting to open as MPEG encoder card (access)
>> >> >> > [0x8e24368] main demux warning: no access_demux module matching 
>> >> >> > "v4l2"
>> >> >> > could be loaded
>> >> >> > [0x8e24368] main demux debug: TIMER module_need() : 55.611 ms - Total
>> >> >> > 55.611 ms / 1 intvls (Avg 55.611 ms)
>> >> >> > [0x8bdfa98] main input debug: creating access 'v4l2' path=''
>> >> >> > [0x8e28398] main access debug: looking for access module: 1 candidate
>> >> >> > [0x8e28398] v4l2 access debug: Trying direct kernel v4l2
>> >> >> > [0x8e28398] v4l2 access debug: opening device '/dev/video0'
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > kuz...@kuzmin-desktop:~$ guvcview --format yuyv
>> >> >> > guvcview 1.4.1
>> >> >> >
>> >> >> > (process:4154): Gtk-WARNING **: Locale not supported by C library.
>> >> >> >        Using the fallback 'C' locale.
>> >> >> > unexpected integer value (0) for vid_mux
>> >> >> > Strings must be quoted
>> >> >> > unexpected integer value (1) for snd_numsec
>> >> >> > Strings must be quoted
>> >> >> > unexpected integer value (160) for snd_bitrate
>> >> >> > Strings must be quoted
>> >> >> > unexpected integer value (2) for Pan_Step
>> >> >> > Strings must be quoted
>> >> >> > unexpected integer value (2) for Tilt_Step
>> >> >> > Strings must be quoted
>> >> >> > bt_audio_service_open: connect() failed: Connection refused (111)
>> >> >> > bt_audio_service_open: connect() failed: Connection refused (111)
>> >> >> > bt_audio_service_open: connect() failed: Connection refused (111)
>> >> >> > bt_audio_service_open: connect() failed: Connection refused (111)
>> >> >> > video device: /dev/video0
>> >> >> > /dev/video0 - device 1
>> >> >> > Init. USB2.0 PC CAMERA (location: usb-0000:00:1d.7-1)
>> >> >> > { pixelformat = 'MJPG', description = 'MJPEG' }
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { pixelformat = 'RGB3', description = 'RGB3' }
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { pixelformat = 'BGR3', description = 'BGR3' }
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { pixelformat = 'YU12', description = 'YU12' }
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { pixelformat = 'YV12', description = 'YV12' }
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > vid:18ec
>> >> >> > pid:3188
>> >> >> > driver:uvcvideo
>> >> >> > checking format: 1448695129
>> >> >> > VIDIOC_S_FORMAT - Unable to set format: Input/output error
>> >> >> > Init v4L2 failed !!
>> >> >> > Init video returned -2
>> >> >> > trying minimum setup ...
>> >> >> > video device: /dev/video0
>> >> >> > /dev/video0 - device 1
>> >> >> > Init. USB2.0 PC CAMERA (location: usb-0000:00:1d.7-1)
>> >> >> > { pixelformat = 'MJPG', description = 'MJPEG' }
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { pixelformat = 'YUYV', description = 'YUV 4:2:2 (YUYV)' }
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { pixelformat = 'RGB3', description = 'RGB3' }
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { pixelformat = 'BGR3', description = 'BGR3' }
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { pixelformat = 'YU12', description = 'YU12' }
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { pixelformat = 'YV12', description = 'YV12' }
>> >> >> > { discrete: width = 640, height = 480 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > { discrete: width = 320, height = 240 }
>> >> >> >        Time interval between frame: 1/25, 1/20, 1/15, 1/10,
>> >> >> > vid:18ec
>> >> >> > pid:3188
>> >> >> > driver:uvcvideo
>> >> >> > checking format: 1196444237
>> >> >> > VIDIOC_S_FORMAT - Unable to set format: Input/output error
>> >> >> > Init v4L2 failed !!
>> >> >> > ERROR: Minimum Setup Failed.
>> >> >> >  Exiting...
>> >> >> > VIDIOC_REQBUFS - Failed to delete buffers: Invalid argument (errno 
>> >> >> > 22)
>> >> >> > cleaned allocations - 100%
>> >> >> > Closing portaudio ...O
>> >> >> >
>> >> >> > В Срд, 23/06/2010 в 17:05 +0100, Paulo Assis пишет:
>> >> >> >> guvcview --format yuyv
>> >> >> >
>> >> >> >
>> >> >>
>> >> >
>> >> >
>> >> >
>> >>
>> >
>> >
>>
>
>
>
_______________________________________________
Linux-uvc-devel mailing list
Linux-uvc-devel@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel

Reply via email to