Hello, i'm having some problems getting my quickcam express working with camsource. The driver I am using uses v4l so that should not be able problem. Camera is able to capture images using vgrabbj and works in other software such a vic, xawtv and gqcam.
here are some outputs..
macado@macado:~$ camsource -c
Capability info for /dev/video0:
Name: Logitech USB Camera
Can capture to memory
Doesn't have a tuner
Cannot receive teletext
Overlay is not chromakeyed
Overlay clipping is not supported
Overlay doesn't overwrite frame buffer mem
Hardware image scaling not supported
Captures in color
Can capture only part of the image
Number of channels: 1
Number of audio devices: 0
Grabbing frame size:
Min: 176x144
Max: 352x288
Palette information:
Currenctly active palette: bgr24 with depth 24
Probing for supported palettes:
Palette "bgr24" supported: Yes, with depth 24
Palette "rgb24" supported: No
Palette "bgr32" supported: No
Palette "rgb32" supported: No
Palette "yuyv (16 bpp)" supported: No
Palette "yuv422 (16 bpp)" supported: Yes, with depth 24
Palette "rgb565" supported: No
Palette "rgb555" supported: No
Palette "yuv420 planar (12 bpp)" supported: No
Palette "yuv420 (12 bpp)" supported: No
Palette "grayscale (8 bpp)" supported: No
macado@macado:~$ sudo camsource
Camsource 0.6.0 starting up...
Loading modules:
jpeg_comp (alias jpeg_comp) version 0.6.0 OK
socket (alias socket) version 0.6.0 OK
http (alias http) version 0.6.0 OK
filewrite (alias filewrite) version 0.6.0 OK
flip (alias flip) version 0.6.0 OK
resize (alias resize) version 0.6.0 OK
text (alias text) version 0.6.0 OK
Main init done and logfile opened.
Closing stdout and going into background...
camsource will start fine without any problems but I am unable to get an image from the http module. There are no errors in the .camsource.log and it also does not write a file using the filewrite module. Both modules are also enabled. Perhaps I am missing something else in my configuration? When I try accessing the webcam at http://localhost:9192 it just hangs with no image. Is there something simple I might be overlooking?
here is a part of my config file..
<path>/dev/video0</path>
<width>max</width>
<height>max</height>
<fps>default</fps>
<channel>default</channel>
<norm>auto</norm>
any ideas would might be wrong? thanks
-macado
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hm I thought the quickcam was working alright with camsource. Have you tried earlier versions? Especially 0.5.1 would be interesting, because that's the last version not using mmap().
It sounds like the device is opened and initialized properly, but for some reason the actual grabbing fails, or rather hangs. What you can try is to use strace to find out at which point it hangs. You need the pid of the grabbing thread, which should be the third camsource process in your process list. Then run "strace -p <pid>". You should see it doing some system call that doesn't return. Let me know what that is. Note that the camsource process will probably die after you quit strace with ctrl-c, due to screwy signal handling in multithreaded programs.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2003-01-07
unfortunately, i'm really not too familiar with the inner working of these drivers or the camera in general but here are some outputs from strace.. second pid..
macado@macado:~/strace-4.4$ strace -p 7211
--- SIGSTOP (Stopped (signal)) ---
getppid() = 7210
poll([{fd=0, events=POLLIN}], 1, 2000) = 0
getppid() = 7210
poll([{fd=0, events=POLLIN, revents=POLLIN}], 1, 2000) = 1
getppid() = 7210
read(0, "\0\374_\277\0\0\0\0\260\372_\277<\177\r@h\260\6\10\0\0"..., 148) = 148
old_mmap(0xbec00000, 2097152, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xbec00000
mprotect(0xbec00000, 4096, PROT_NONE) = 0
clone(child_stack=0xbedffbf8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|0x21) = 7379
kill(7213, SIGRTMIN) = 0
poll( <unfinished ...>
third pid..
macado@macado:~/strace-4.4$ strace -p 7562
munmap(0x402f3000, 811008) = 0
write(1, "Not using mmap interface, fallin"..., 49) = 49
read(5,
i've run gdb and it shows no errors
Just tried downgrading to 0.5.1 and still no dice however if I use strace, I can now get a blank (black) window in my web browser when I point it to http://localhost:9192 after i've run strace..
macado@macado:~/camsource-0.5.1$ strace -p 13859
--- SIGSTOP (Stopped (signal)) ---
old_mmap(NULL, 307200, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x402a8000
old_mmap(NULL, 307200, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4033e000
munmap(0x402a8000, 307200) = 0
munmap(0x402f3000, 307200) = 0
gettimeofday({1041919952, 212921}, NULL) = 0
kill(13861, SIGRTMIN) = 0
kill(13909, SIGRTMIN) = 0
kill(13982, SIGRTMIN) = 0
kill(13861, SIGRTMIN) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
rt_sigsuspend([] <unfinished ...>
--- SIGRTMIN (Real-time signal 0) ---
<... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call)
sigreturn() = ? (mask now [RTMIN])
hope some of this helps.. its sort of oblivous to me :o)
-macado
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This line is pretty much the core of the problem. Camsource tries to read an image from the camera, but the read call never returns. It just hangs there. Strace'ing into the process canceled the mmap ioctl, but I bet it does the same: just hang and not return. Unfortunately I have no idea why it's doing that. The driver (I assume it's qce-ga/mod_quickcam) probably requires that something needs to be set up (software-wise) before frames can be grabbed, something that other drivers don't need. I looked at the driver code a bit but couldn't figure it out. Are there any messages from the driver in your syslog? Or does the driver's /proc entry give any information? Or perhaps can you enable the driver's debugging facility and then try again?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2003-01-07
enabled debug in camera
usb.c: registered new driver quickcam
USB Quickcam Class ff SubClass ff idVendor 46d idProduct 870
USB Quickcam camera found using: $Id: quickcam.c,v 1.110 2002/12/09 09:59:29 tuukkat Exp $
quickcam: probe of HDCS1000 sensor = 00 00 id: 08
quickcam: probe of BP100 sensor = 19 00 id: 64
quickcam: probe of VV6410 sensor = 19 00 id: 19
quickcam: VV6410 sensor detected
usb.c: quickcam driver claimed interface ce7fb480
Sorry it took me so long to get back to this. Unfortunately I'm absolutely clueless about what's going on. I don't know much about the internal driver workings and from what I can see, everything looks just fine, so I dunno really what to do...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hello, i'm having some problems getting my quickcam express working with camsource. The driver I am using uses v4l so that should not be able problem. Camera is able to capture images using vgrabbj and works in other software such a vic, xawtv and gqcam.
here are some outputs..
macado@macado:~$ camsource -c
Capability info for /dev/video0:
Name: Logitech USB Camera
Can capture to memory
Doesn't have a tuner
Cannot receive teletext
Overlay is not chromakeyed
Overlay clipping is not supported
Overlay doesn't overwrite frame buffer mem
Hardware image scaling not supported
Captures in color
Can capture only part of the image
Number of channels: 1
Number of audio devices: 0
Grabbing frame size:
Min: 176x144
Max: 352x288
Palette information:
Currenctly active palette: bgr24 with depth 24
Probing for supported palettes:
Palette "bgr24" supported: Yes, with depth 24
Palette "rgb24" supported: No
Palette "bgr32" supported: No
Palette "rgb32" supported: No
Palette "yuyv (16 bpp)" supported: No
Palette "yuv422 (16 bpp)" supported: Yes, with depth 24
Palette "rgb565" supported: No
Palette "rgb555" supported: No
Palette "yuv420 planar (12 bpp)" supported: No
Palette "yuv420 (12 bpp)" supported: No
Palette "grayscale (8 bpp)" supported: No
macado@macado:~$ sudo camsource
Camsource 0.6.0 starting up...
Loading modules:
jpeg_comp (alias jpeg_comp) version 0.6.0 OK
socket (alias socket) version 0.6.0 OK
http (alias http) version 0.6.0 OK
filewrite (alias filewrite) version 0.6.0 OK
flip (alias flip) version 0.6.0 OK
resize (alias resize) version 0.6.0 OK
text (alias text) version 0.6.0 OK
Main init done and logfile opened.
Closing stdout and going into background...
camsource will start fine without any problems but I am unable to get an image from the http module. There are no errors in the .camsource.log and it also does not write a file using the filewrite module. Both modules are also enabled. Perhaps I am missing something else in my configuration? When I try accessing the webcam at http://localhost:9192 it just hangs with no image. Is there something simple I might be overlooking?
here is a part of my config file..
<path>/dev/video0</path>
<width>max</width>
<height>max</height>
<fps>default</fps>
<channel>default</channel>
<norm>auto</norm>
any ideas would might be wrong? thanks
-macado
Hm I thought the quickcam was working alright with camsource. Have you tried earlier versions? Especially 0.5.1 would be interesting, because that's the last version not using mmap().
It sounds like the device is opened and initialized properly, but for some reason the actual grabbing fails, or rather hangs. What you can try is to use strace to find out at which point it hangs. You need the pid of the grabbing thread, which should be the third camsource process in your process list. Then run "strace -p <pid>". You should see it doing some system call that doesn't return. Let me know what that is. Note that the camsource process will probably die after you quit strace with ctrl-c, due to screwy signal handling in multithreaded programs.
unfortunately, i'm really not too familiar with the inner working of these drivers or the camera in general but here are some outputs from strace.. second pid..
macado@macado:~/strace-4.4$ strace -p 7211
--- SIGSTOP (Stopped (signal)) ---
getppid() = 7210
poll([{fd=0, events=POLLIN}], 1, 2000) = 0
getppid() = 7210
poll([{fd=0, events=POLLIN, revents=POLLIN}], 1, 2000) = 1
getppid() = 7210
read(0, "\0\374_\277\0\0\0\0\260\372_\277<\177\r@h\260\6\10\0\0"..., 148) = 148
old_mmap(0xbec00000, 2097152, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xbec00000
mprotect(0xbec00000, 4096, PROT_NONE) = 0
clone(child_stack=0xbedffbf8, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|0x21) = 7379
kill(7213, SIGRTMIN) = 0
poll( <unfinished ...>
third pid..
macado@macado:~/strace-4.4$ strace -p 7562
munmap(0x402f3000, 811008) = 0
write(1, "Not using mmap interface, fallin"..., 49) = 49
read(5,
i've run gdb and it shows no errors
Just tried downgrading to 0.5.1 and still no dice however if I use strace, I can now get a blank (black) window in my web browser when I point it to http://localhost:9192 after i've run strace..
macado@macado:~/camsource-0.5.1$ strace -p 13859
--- SIGSTOP (Stopped (signal)) ---
old_mmap(NULL, 307200, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x402a8000
old_mmap(NULL, 307200, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4033e000
munmap(0x402a8000, 307200) = 0
munmap(0x402f3000, 307200) = 0
gettimeofday({1041919952, 212921}, NULL) = 0
kill(13861, SIGRTMIN) = 0
kill(13909, SIGRTMIN) = 0
kill(13982, SIGRTMIN) = 0
kill(13861, SIGRTMIN) = 0
rt_sigprocmask(SIG_SETMASK, NULL, [RTMIN], 8) = 0
rt_sigsuspend([] <unfinished ...>
--- SIGRTMIN (Real-time signal 0) ---
<... rt_sigsuspend resumed> ) = -1 EINTR (Interrupted system call)
sigreturn() = ? (mask now [RTMIN])
hope some of this helps.. its sort of oblivous to me :o)
-macado
read(5,
This line is pretty much the core of the problem. Camsource tries to read an image from the camera, but the read call never returns. It just hangs there. Strace'ing into the process canceled the mmap ioctl, but I bet it does the same: just hang and not return. Unfortunately I have no idea why it's doing that. The driver (I assume it's qce-ga/mod_quickcam) probably requires that something needs to be set up (software-wise) before frames can be grabbed, something that other drivers don't need. I looked at the driver code a bit but couldn't figure it out. Are there any messages from the driver in your syslog? Or does the driver's /proc entry give any information? Or perhaps can you enable the driver's debugging facility and then try again?
enabled debug in camera
usb.c: registered new driver quickcam
USB Quickcam Class ff SubClass ff idVendor 46d idProduct 870
USB Quickcam camera found using: $Id: quickcam.c,v 1.110 2002/12/09 09:59:29 tuukkat Exp $
quickcam: probe of HDCS1000 sensor = 00 00 id: 08
quickcam: probe of BP100 sensor = 19 00 id: 64
quickcam: probe of VV6410 sensor = 19 00 id: 19
quickcam: VV6410 sensor detected
usb.c: quickcam driver claimed interface ce7fb480
macado@macado:~/quickcam$ cat /proc/video/quickcam/video0
*** Driver Status ***
Driver Version : $Id: quickcam.c,v 1.110 2002/12/09 09:59:29 tuukkat Exp
$
Sensor : VV6410
Streaming : Yes
Grabbing : Yes
Reading frame : -1
*** Sensor Control ***
Shutter value : 128
Gain : 10
Exposure value : 0
Red Gain : 128
Green Gain : 128
Blue Gain : 128
*** Output Window ***
Width : 352
Height : 288
*** Output Picture ***
Brightness : 32768
Whiteness : 0
Contrast : 32768
Hue : 32640
Color : 32768
Palette : RGB24
macado@macado:~/quickcam$ cat /proc/video/dev/video0
name : Logitech Quickcam Express USB
type : VID_TYPE_CAPTURE
hardware : 0x32
While strace is running I see no visible errors in syslog however the camsource process is killed I get this..
Jan 7 10:41:55 macado kernel: quickcam: oops, not streaming, but interrupt
Sorry it took me so long to get back to this. Unfortunately I'm absolutely clueless about what's going on. I don't know much about the internal driver workings and from what I can see, everything looks just fine, so I dunno really what to do...