imx28 USB Camera - USB bandwidth issue?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx28 USB Camera - USB bandwidth issue?

Jump to solution
3,963 Views
simong
Contributor I

Hi all,

I am attempting to add a USB camera to an existing system based around a Karo Tx28 module which utilises the imx28 processor.

The camera is UVC compatible and I have built video4linux and the ucvvideo driver into the system.

The camera works when plugged into a laptop running Ubuntu 10.10. 

I have built the libv4l2 libraries and am attempting to use the example v4l2grab application to grab an image on the target.

However upon running the application I receive the following errors:

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

libv4l2: error turning on stream: No space left on device

error 28, No space left on device

I have googled this error and it seems to suggest that we have insufficient USB bandwidth however there is nothing else connected to the USB host port and as a high speed usb 2.0 port I would assume there is sufficient bandwidth for a camera. 

I have tried lowering the framesize the v4l2grab application requests but even at 160x120 (the lowest resolution our camera supports) the error was the same. 


Does anybody have any experience of this error and any potential solutions or areas worth investigating?


I am curious to know if anyone has any experience of using cameras with the imx28 and if it is actually possible to get a camera working on the USB host port?


If i turn on trace output for the uvcvideo driver ( modprobe uvcvideo trace=0xffff) i get the following output:

root@sw /home$ ./v4l2grab

uvcvideo: uvc_v4l2_open

uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYCAP)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_FMT)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_PARM)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FMT)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FMT)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FRAMESIZES)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUM_FMT)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYCAP)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_INPUT)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_ENUMINPUT)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYCTRL)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_S_FMT)

uvcvideo: Trying format 0x56595559 (YUYV): 320x240.

uvcvideo: Using default frame interval 33333.3 us (30.0 fps).

uvcvideo: uvc_v4l2_ioctl(VIDIOC_G_PARM)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_REQBUFS)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYBUF)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYBUF)

uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYBUF)

uvcvideo: uvc_v4l2_mmap

uvcvideo: uvc_v4l2_ioctl(VIDIOC_QUERYBUF)

uvcvideo: uvc_v4l2_mmap

uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)

uvcvideo: Queuing buffer 0.

uvcvideo: uvc_v4l2_ioctl(VIDIOC_QBUF)

uvcvideo: Queuing buffer 1.

uvcvideo: uvc_v4l2_ioctl(VIDIOC_STREAMON)

uvcvideo: Device requested 2688 B/frame bandwidth.

uvcvideo: Selecting alternate setting 6 (2688 B/frame bandwidth).

uvcvideo: Allocated 5 URB buffers of 32x2688 bytes each.

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

libv4l2: error turning on stream: No spauvcvideo: uvc_v4l2_release

ce left on device

error 28, No space left on device

best regards,

Simon





Labels (1)
0 Kudos
Reply
1 Solution
1,860 Views
fabio_estevam
NXP Employee
NXP Employee

I tested USB webcam with FSL 2.6.35 on a mx28evk and it was not detected by the kernel.

Then I tested the same on a 3.6 kernel and it works fine. I would suggest you to try the latest kernel.

Regards,

Fabio Estevam

View solution in original post

0 Kudos
Reply
2 Replies
1,861 Views
fabio_estevam
NXP Employee
NXP Employee

I tested USB webcam with FSL 2.6.35 on a mx28evk and it was not detected by the kernel.

Then I tested the same on a 3.6 kernel and it works fine. I would suggest you to try the latest kernel.

Regards,

Fabio Estevam

0 Kudos
Reply
1,860 Views
simong
Contributor I

Thanks for your reply. 

I have access to an imx28evk so I will see if I can get that working with our camera with the latest kernel, before trying again on the Karo module. .

best regards,

Simon

0 Kudos
Reply