Laurent Pinchart <laurent.pinchart <at> skynet.be> writes:
> The 32 bits ioctl number are made of 4 fields, one of them being the size of
> the parameter in bytes. It seems your kernel and userspace tools don't agree
> on the number of bytes an enumeration should take.
>
> This is a known problem. Search the v4l mailing list archives for a thread
> started on 13/04/2006 which subject was
>
> [PATCH] [RFC] videodev2.h: ARM's old ABI support on EABI kernels
>
> If this helps, please report the problem on the v4l mailing list and bug them
> until a valid solution is found and applied to the kernel.
>
> Cheers,
>
> Laurent Pinchart
>
I read through most of the thread and it seems they got to a patch for the
makefile after the one you mention. I tried the makefile patch and got segfault
when I ran the userspace program. I still need to try the one for videodev2.h.
I was thinking about this and it seems that the problem is between uvcvideo and
the userspace app so I tried setting the values manually like this:
/* Buffers & streaming */
/* case VIDIOC_REQBUFS:*/
case 0xc0145608:
{
printk(KERN_DEBUG "In reqbuf\n");
struct v4l2_requestbuffers *rb = arg;
unsigned int bufsize =
video->streaming->ctrl.dwMaxVideoFrameSize;
rb->memory = V4L2_MEMORY_MMAP;
if (rb->type != V4L2_BUF_TYPE_VIDEO_CAPTURE ||
rb->memory != V4L2_MEMORY_MMAP)
return -EINVAL;
if ((ret = uvc_alloc_buffers(&video->queue, rb->count,
bufsize)) < 0)
return ret;
rb->count = ret;
}
Since uvcvideo only does MMAP what the heck. Luvcview now works on the device.
Picture, pan, tilt, all looks good.
I'll report back if the videodev2.h patch works, of course the hack above is
very crude and not the way to go overall, it just works for me.
Thanks for all your help!!
_______________________________________________
Linux-uvc-devel mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/linux-uvc-devel