webcamd/cuse4bsd && Skype
Hans Petter Selasky
hselasky at c2i.net
Tue Jan 3 21:30:48 UTC 2012
On Tuesday 03 January 2012 19:15:38 Matthias Apitz wrote:
> El día Tuesday, January 03, 2012 a las 09:24:08AM +0100, Hans Petter Selasky
escribió:
> > Hi,
> >
> > > (u32)(long)arg, when passing to IOCTL functions.
> >
> > I meant printing the "cmd" value. "arg" value can be negative if a
> > pointer is passed along.
> >
> > Try to figure out which ioctl is failing. Maybe run webcamd from gdb and
> > add some code you can break-point on, then single step.
>
> Hi,
>
Hi,
> The failing ioctls are (only 2 are sent down from Skype):
>
> Creating /dev/video0
> mydebug: v4b_open fflags: 00000003
> mydebug: linux_open: handle=28c08600
> mydebug: v4b_ioctl: handle=28c08600 cmd=0x40047601
> mydebug: linux_ioctl returns: error=ffffffea
> mydebug: v4b_convert_error: CUSE_ERR_INVALID
#define VIDIOC_G_FMT _IOWR('V', 4, struct v4l2_format)
#define VIDIOC_S_CROP _IOW('V', 60, struct v4l2_crop)
Try to print the two above IOCTL's and see if they match.
It might be a compile issues that some structures have different sizes than
expected.
> mydebug: v4b_ioctl: handle=28c08600 cmd=0x403c7601
> mydebug: linux_ioctl returns: error=ffffffea
> mydebug: v4b_convert_error: CUSE_ERR_INVALID
> mydebug: v4b_close: handle=28c08600
>
> (cmd is printed as 'cmd=0x%08x')
The cmds are defined in the header files in /usr/local/include/linux/*/*
Also there might be a module parameter that will get you more debugging info
from the UVC/PWC driver. Check output from "webcamd -s".
--HPS
More information about the freebsd-multimedia
mailing list