Is it possible that some fields are not being set for the buffer size per frame on the Gumstix? All I am setting currently is the frame width and height, and assuming that V4L will figure out the pixel depth and such. Is it possible that the driver on the Gumstix needs more information to be specified before requesting buffers?
I'll look into the printk's. Thanks, Tom Laurent Pinchart wrote: > Hi Tom, > > On Tuesday 24 February 2009 12:51:47 Tom Moore wrote: >> Hi all, >> >> I wrote some capture code and tested it out on Ubuntu 8.10 (kernel >> 2.6.27.11). My Dynex 1.3 MP camera supports memory mapping and works >> just fine on my Ubuntu box. However, I have cross-compiled the UVC >> driver for my Gumstix (the target platform for capture - kernel is >> 2.6.21) and though I was able to successfully install the driver, my >> capture code doesn't seem to work. I've traced the problem to to ioctl >> call with VIDIOC_QUERYBUF. On my box, that function call returns a >> buffer length of width * height * 2 (format is YUYV, so this is right). >> On my Gumstix, it returns width * height + 589 (the 589 is the same >> regardless of the frame size). >> >> Is there any reason why this would be happening? I appear to be >> unfamilar with the behavior of VIDIOC_QUERYBUF, but it looks like it >> ought to be pretty straightforward. > > None that I can think of (at least at this time of the night). Would you mind > adding a few printk's to the driver code to hunt the bug down ? > >> Oh, I should point out that calls to VIDIOCSPICT and VIDIOCGPICT on my >> Ubuntu box works just fine, but returns -1 for the Gumstix. > > The uvcvideo driver relies on the videodev compatibility layer to handle V4L1 > ioctls. The Gumstix kernel might come with those disabled. > >> This camera requires that I use some bizarre combinations of V4L1 and V4L2 >> code to access all of its functionality. I'm not sure what versions of the >> various V4L modules and camera drivers are. > > That's definitely not normal. The uvcvideo driver implement V4L2 only. The > V4L1 ioctls are translated to V4L2 ioctls by the videodev compatibility > layer, > there's no added functionality for the V4L1 API. > > Best regards, > > Laurent Pinchart -- Tom Moore Member, Engineering Staff Lockheed Martin Advanced Technology Laboratories 3 Executive Campus, Suite 600 Cherry Hill, NJ 08002 Phone: 856-792-9750 E-mail: [email protected] _______________________________________________ Linux-uvc-devel mailing list [email protected] https://lists.berlios.de/mailman/listinfo/linux-uvc-devel
