2011-04-20 06:55:11     uvc camera VGA capture issue

Document created by Aaronwu Employee on Aug 27, 2013
Version 1Show Document
  • View in full screen mode

2011-04-20 06:55:11     uvc camera VGA capture issue

Chandrashekhar Lavania (INDIA)

Message: 100038   

 

Hi,

 

I am using Logitech QuickCam E3500, with my BF527 based board. I tried to capture a YUYV image using ffmpeg in VGA resolution but it fails with error

 

uvcvideo: Failed to submit URB 0 (-90) VIDIOC_STREAMON error 90, Message too long.  But, when I try to useg MJPEG instead of YUYV it works fine.  I was able to capture QVGA images in YUYV.  What might be the issue?  I am using 2010R1 along with trunk commit 9703 which provides non mmu support in the uvc drivers.  Regards, Shekhar  PS: I was able to capture YUYV VGA image on desktop using the same camera.

 

QuoteReplyEditDelete

 

 

2011-04-22 07:04:53     Re: uvc camera VGA capture issue

Chandrashekhar Lavania (INDIA)

Message: 100124   

 

Hi,

 

I just wanted to add that I am using the following ffmpeg command:

 

 

 

ffmpeg -y -t 10 -f video4linux2 -r 15 -s 320*240 -pix_fmt yuyv422 -i  /dev/video0 -an -f avi Test_QVGA.avi

 

 

 

Also when I insert my camera into the usb port, I get the foolowing messages:

 

root:/> usb 1-1: new high speed USB device using musb_hdrc and address 2       

usb 1-1: New USB device found, idVendor=046d, idProduct=09a4                   

usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=2              

usb 1-1: SerialNumber: 8CEF8940                                                

uvcvideo: Found UVC 1.00 device <unnamed> (046d:09a4)                          

input: UVC Camera (046d:09a4) as /devices/platform/musb_hdrc.0/usb1/1-1/1-1:1.0/

input/input2 

 

Regards,

Shekhar

 

QuoteReplyEditDelete

 

 

2011-04-22 07:14:56     Re: uvc camera VGA capture issue

Chandrashekhar Lavania (INDIA)

Message: 100126   

 

Hi,

 

The ffmpeg command mentioned above :

 

ffmpeg -y -t 10 -f video4linux2 -r 15 -s 320*240 -pix_fmt yuyv422 -i  /dev/video0 -an -f avi Test_QVGA.avi

 

works fine on both the desktop and my BF527 based board.

 

But the command:

 

ffmpeg -y -t 10 -f video4linux2 -r 15 -s 640*480 -pix_fmt yuyv422 -i  /dev/video0 -an -f avi Test_VGA.avi

 

works fine on desktop, but fails on the board.

 

 

 

Thanks.

 

Regards,

 

Shekhar

QuoteReplyEditDelete

 

 

2011-04-25 00:07:46     Re: uvc camera VGA capture issue

Sonic Zhang (CHINA)

Message: 100137   

 

This error is reported by function musb_urb_enqueue() in driver/usb/musb/musb_core.c, because the uvc capture driver asks for high bandwidth ISO transfer support, which is not available on blackfin MUSB host controller. Change the uvc driver to use normal package size in ISO transfer mode only.

QuoteReplyEditDelete

 

 

2011-04-25 08:50:55     Re: uvc camera VGA capture issue

Chandrashekhar Lavania (INDIA)

Message: 100145   

 

Hi Sonic,

 

I tried to locate the musb_urb_enqueue() function from driver/usb/musb/musb_core.c , but unfortunately I am not able to locate it.

 

I looked into 2010R1-RC5 and the current trunk:   blackfin.uclinux.org/git/?p=readonly-mirrors/linux-kernel.git;a=blob;f=drivers/usb/musb/musb_core.c;h=5714b82154f2f7c95326f9079b17871bfc6ae6e9;hb=5ef52a945db587bfbccb4bf711c874fea10cf365

 

Can you direct me to the correct location?

 

Also while searching over the net I found the following link :    linux.omap.com/pipermail/davinci-linux-open-source/2011-February/022030.html

 

The person over there talks about modifying the struct fifo_cfg __initdata mode_0_cfg[] or one of its variants in the musb_core.c file. Although his suggested example did not work for me, but would it be a good idea to tinker with the different mode configurations, as there are many places similar to the one mentioned in that link which can be tinkered with.

 

 

 

I also tried to capture a VGA video using the standard v4l2 test example ( the file has been attached) given at   v4l2spec.bytesex.org/spec/capture-example.html.

 

I was able to capture the VGA image for MJPEG format, but again when I tried with YUYV I got :

 

uvcvideo: Failed to submit URB 0 (-90).                                        

 

VIDIOC_STREAMON: Message too long

 

same as earlier when I used ffmpeg.

 

Regards,

 

Shekhar

 

 

capture.c

QuoteReplyEditDelete

 

 

2011-04-26 00:14:44     Re: uvc camera VGA capture issue

Sonic Zhang (CHINA)

Message: 100153   

 

musb_urb_enqueue() can be found in line 1898 of file musb_host.c

QuoteReplyEditDelete

 

 

2011-05-26 04:21:43     Re: uvc camera VGA capture issue

Chandrashekhar Lavania (INDIA)

Message: 100863   

 

Hi,

 

I tried to reduce the ISO Packet size by :

 

1. Reducing the size in the logitech driver to 128 ..................did not work

 

2. Limiting the max packet size to 256 in the uvc_parse_control function of uvc_driver.c...................did not work

 

Any idea what other mechanisms are there?

 

Also Is there any place where the initalisation of usb_endpoint_descriptor.

 

Regards,

 

Shekhar

Attachments

Outcomes