Hi,
ogre5000 wrote:
> Hi Németh. Thanks for sticking to my prob!
> 
> It always happens... The steps are a bit complicated... I installed
> Zoneminder (latest release on zoneminder.com), which needs quite a few
> additional packages to my standard distro (openSUSE 11.1) to work. I
> then added a new Monitor with the source "/dev/video1" and resolution
> 640*480 (also tried different ones). Then, make it "Active" and click on
> it, and it should display the video source. But it just displays a black
> screen and the log files (in /tmp/) report errors. What I mailed you is
> dmesg output.

I couldn't really find a simple testcase which triggers this problem, but
I analysed the source code and found that the function prototype "v4l2_kioctl"
changed between Linux kernel 2.6.27 and 2.6.28: the inode parameter was removed.

Last time when I updated the em28xx-new I forget this fact. I just sent a
patch titled "[PATCH] remove inode parameter of typedef v4l2_kioctl as of 
2.6.28".
Could you please apply and test the new version of em28xx-new driver?

> I actually searched the internet for xawtv and found out, that "webcam"
> is part of xawtv (I have xawtv installed). So I guess there is no other
> way to test the webcam with xawtv?
> *strace webcam* does give me the output I uploaded here:
> http://www.file-upload.net/download-1398622/strace_webcam.txt.html
> It doesn't say much to me ... :(

The end of the log looks quite interesting:

> write(2, "video4linux webcam v1.5 - (c) 19"..., 51video4linux webcam v1.5 - 
> (c) 1998-2002 Gerd Knorr
> ) = 51
> write(2, "grabber config:\n  size 360x576 ["..., 65grabber config:
>   size 360x576 [16 bit YUV 4:2:2 (packed, YUYV)]
> ) = 65
> write(2, "  input (null), norm (null), jpe"..., 46  input (null), norm 
> (null), jpeg quality 100

Here we can see that "(null)" is written to the output instead of a readable
input and norm parameter. This usually signals that there might be some return
value check missing in the code.

> ) = 46
> write(2, "  rotate=0, top=0, left=0, botto"..., 49  rotate=0, top=0, left=0, 
> bottom=480, right=640
> ) = 49
> write(2, "write config [local]:\n  local tr"..., 81write config [local]:
>   local transfer /root/uploading.jpeg => /root/webcam.jpeg
> ) = 81
> mmap2(NULL, 417792, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
> 0xb7d88000
> read(3, 
> "\20\200\20\200\20\200\20\200\20\200\20\200\20\200\20\200\20\200\20\200\20\200\20\200\20\200\20\200\20\200\20\200"...,
>  414720) = 414720
> mmap2(NULL, 622592, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
> 0xb7cf0000

This mmap2() calls also do not look like very good: -1 is the fd parameter which
shall be positive. The -1 is an error code which comes from a previous system 
call
and it is not a valid file descriptor.

> --- SIGSEGV (Segmentation fault) @ 0 (0) ---
> +++ killed by SIGSEGV +++

Regards,

        Márton Németh


_______________________________________________
Em28xx mailing list
Em28xx@mcentral.de
http://mcentral.de/mailman/listinfo/em28xx

Reply via email to