High speed UVC webcams dont work

Bug #969231 reported by Oliver Fogden
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
IglooCommunity
In Progress
Wishlist
supriya karanth

Bug Description

UVC webcams do not work on the ubuntu images.

A full speed webcam has been known to work using gspca.

Reproducible:
===========
Yes (5/5 times)

Steps:
==========
1. Plug in USB device
2. Bootup DUT
3. Run Command seen bellow (May be different for other webcams)

Hardware:
==========
Snowball: V10
HDMI Out to TV - via HDMI cable
USB-Serial Logging
USB Device via OTG

Command used to test :
gst-launch v4l2src device=/dev/video0 ! 'video/x-raw-yuv,width=640,height=480,framerate=30/1' ! xvimagesink

The above command is tested and works on a Ubuntu 11.04 2.6.38-11-generic netbook and several other devices.

### Snowball ###
http://pastie.org/3696798

### dmesg log ###
[ 900.007812] uvcvideo: Failed to query (GET_DEF) UVC control 2 on unit 3: -110 (exp. 2).
[ 900.247650] musb_h_ep0_irq 1075: no URB for end 0
[ 901.014739] uvcvideo: Failed to submit URB 0 (-28).
[ 949.948242] uvcvideo: Failed to set UVC probe control : -71 (exp. 26).
[ 950.083282] uvcvideo: Failed to set UVC probe control : -71 (exp. 26).
[ 950.235900] uvcvideo: Failed to set UVC probe control : -71 (exp. 26).
[ 950.279144] uvcvideo: Failed to set UVC probe control : -71 (exp. 26).
[ 950.882843] uvcvideo: Failed to submit URB 0 (-28)

### Netbook vs snowball dmsg ###

http://pastie.org/3696958

Tags: usb uvc webcam
Oliver Fogden (ofog)
description: updated
Changed in igloocommunity:
assignee: nobody → Kalle Vahlman (kvahlman)
Revision history for this message
Kalle Vahlman (kvahlman) wrote :

I've seen the URB error with a high-speed UVC cameras before and traced the origin thusly:

<3>[ 123.845458] uvcvideo: Failed to submit URB 0 (-28).

which is "no space left on device" error, is actually propagated
from the kernel drivers/usb/musb/musb_host.c:1924 (or thereabouts) where it fails to
find a suitable endpoint for isochronous transfers that UVC would want to use.

I'm told that the failure is basically due to missing support in the driver or maybe just a bug, either way that was the end of the road for me with this issue. I don't possess enough USB-fu to crack this nut.

Revision history for this message
supriya karanth (supriya-karanth) wrote :

Support for this needs to be added in the usb driver code.

Changed in igloocommunity:
importance: Undecided → Medium
assignee: Kalle Vahlman (kvahlman) → supriya karanth (supriya-karanth)
Revision history for this message
supriya karanth (supriya-karanth) wrote :
Changed in igloocommunity:
status: New → Confirmed
Revision history for this message
Patrik Klinger (patrik-klinger) wrote :

Hi Supriya, do you have any estimate on what the effort would be for the implementation of high speed camera support in the USB driver?

Revision history for this message
supriya karanth (supriya-karanth) wrote :

As Kalle had pointed out the musb driver was not able to find an endpoint for the ISO transfer. With a fifo configuration change was able to click a picture using

gst-launch-0.10 v4l2src num-buffers=1 \! jpegenc \! filesink location=/card/webcam.jpg

Needs further testing. Will give an estimate by Monday (April 16th)

Changed in igloocommunity:
status: Confirmed → In Progress
Revision history for this message
supriya karanth (supriya-karanth) wrote :

Was able to click a picture with one camera but not with another.

keep getting message

gstv4l2src.c(918): gst_v4l2src_get_mmap (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0
WARNING: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Got unexpected frame size of 92436 instead of 2457600.

Investigation ongoing

Revision history for this message
supriya karanth (supriya-karanth) wrote :

Video streaming works at 320x240 and 176x144

Setup:
Logitec webcam v046d p081b
Modified USB cable with external supply
Kernel with EXTVBUS patch + FIFO config changes for Webcam
Webcam directly connected to Modified USB cable ( NO hub in between)

Streaming/Image capture dosent work at 640x480 - Investigation ongoing

Revision history for this message
supriya karanth (supriya-karanth) wrote :

High Bandwidth ISO transfers are not working as expected in the usb driver. This requires more time and the effort estimate for this is around 20 days

Revision history for this message
supriya karanth (supriya-karanth) wrote :

As it will take more time to get webcam fully function, this patch is being provided which will get the High speed camera working at 320x240.

Its best to be used with ubuntu kernels only, because for Android this change might mess up device side usecases

Changed in igloocommunity:
importance: Medium → Wishlist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.