UVC problems with Beaglebone

I have been using the Beagleboard xM for some time for video capture using various USB web-cams. Now I have received my first Beaglebone, and although I appear to be able to set and read camera parameters, no mmap streaming appears to work. I am setting up a select/poll for the fd but the call only times out. I have tried multiple programs including the example capture program from the V4L2 manual. All appear to give similar symptoms. For example, with the V4L2 capture program:

./capture -d /dev/video0
select timeout

Any one else had similar experiences?

Thanks,

Dave.

I was able to get a Logitech C250 to work with no problems using mjpeg-
streamer http://mjpg-streamer.svn.sourceforge.net/viewvc/mjpg-streamer/mjpg-streamer/?view=tar.

Thanks, but I am more specifically looking at problems with raw yuyv capture using the memory mapping interface.

Update on my own post. It appears that the USB DMA is not working from UVC. Are there any known issues here?

Update on my own post. It appears that the USB DMA is not working from UVC.
Are there any known issues here?

Here's a note I got from Ajay:

Dave,

You can try enabling the DMA and see if this helps. We have tested UVC
camera streaming on AM335x EVM in DMA mode.

Regards,
Ajay

FYI.

Here's a note I got from Ajay: Dave, You can try enabling the DMA and see if this helps. We have tested UVC camera streaming on AM335x EVM in DMA mode. Regards, Ajay

OK thanks. I had thought that DMA was enabled by default. In any case, how do I enable DMA?

Thanks for all the suggestions. I found that "./oebb.sh update followed by bitbake virtual-kernel" produced a kernel that now works!

Dave.

I just updated my kernel to 3.2 and found that UVC video YUYV streaming no longer works as it did in version 3.1h. Any ideas?

Dave.

I just updated my kernel to 3.2 and found that UVC video YUYV streaming no longer works as it did in version 3.1h. Any ideas?

I have a new uImage with some more USB fixes, which might fix your issues, can you give these a try?

http://dominion.thruhere.net/koen/angstrom/beaglebone/uImage-3.2.5-r2a+gitr09e9651bcf2ee8d86685f2a8075bc6557b1d3b91-beaglebone-20120210140111.bin
http://dominion.thruhere.net/koen/angstrom/beaglebone/modules-3.2.5+-r2a+gitr09e9651bcf2ee8d86685f2a8075bc6557b1d3b91-beaglebone.tgz

Copy the uImage to the fat partition (after renaming it) and extra the modules to your rootfs, reboot, depmod -a, reboot.

regards,

Koen

Thanks for your quick reply. Unfortunately this did not work but there are a couple of messages that I thought might be a clue:

During bootup:
[ 7.192468] musb_g_ep0_irq 720: SetupEnd came in a wrong ep0stage setup

A couple of minutes later:
root@argus2:~# [ 107.383667] usb_process_rx_queue 1463: Invalid PD popped from Rx completion queue

Any updates on this? I seem to be having the same issue. My camera is a Creative Live! Cam Sync (uvcvideo). Select timeouts in the demo v4l program. Various other programs timeout or hang. No suspicious messages in dmesg. I have a few non-uvc webcams and verified they work.

I have managed to get a UVC camera to work. Worked on the stock 2012-01-27 angstrom distribution (3.1.0+) and also worked after upgrading to 3.2.0+. In both cases I used mjpg_streamer.

However, the best I can get is about 7fps at 320x240 and can only use YUV mode. No 640x480 or greater resolution seems possible. I did find a post about enabling DMA in musb, but I haven't tried that yet.

http://osdir.com/ml/beagleboard/2011-12/msg00393.html

No luck yet with a non-uvc camera...

   --- Wayne

I tried on the 2012-01-27 image with no luck. Tried http://elinux.org/BeagleBoardUbuntu#Oneiric_11.10 too. My UVC webcam still didn’t work but both of my gspca webcams worked. Didn’t get a chance to test them on Angstrom thou. I’ll try later if I have time.

I still have had no luck with UVC on the 3.2 kernel. I tried the "released" image Angstrom-Cloud9-IDE-eglibc-ipk-v2012.02-core-beaglebone-2012.02.14.img.xz, but still UVC does not work. Any suggestions?

I had some issues with kernel 3.1.0+ (uvc driver failed eventually)
but solved them after installing the kernel 3.2.6+

opkg install kernel-3.2.6+
opkg install kernel-image-3.2.6+

and then:

Sorry an errata:
I had some issues with kernel 3.1.0+ (uvc driver failed eventually)
but solved them after installing the kernel 3.2.6+

opkg install kernel-3.2.6+
opkg install kernel-image-3.2.6+

and then:

I had found that one of the intermediate 3.1 kernels worked fine, but when I upgraded to 3.2, it stopped working again. Currently I am still using that 3.1 kernel which I will attach in a private email. In the meantime I hope that the 3.2 kernel will fix this issue as it stabilizes for the Beaglebone.

Regards,

Dave.

Koen,

  I have tried disabling USB DMA in 3.2 kernel. It worked for me. I
was able to capture properly at 320x240. But 640x480 did not work.

Dear Mr. David,

I try to do image processing on beaglebone (ubuntu oneiric) and I stuck with as same as your problem.
Previously, I try updating the kernel to

kernel, but it can not resolve this problem, too.
After that, while I don’t know how to deal with this problem, I found your post.

It seems, You can solve this problem with switch the kernel to intermediate 3.1 kernels, right?
If the answer is yes, what does the intermediate 3.1 kernels means? Could please suggest me the way you used?

Thank you in advance
Sorat A.