Can't get GSPCA Webcam working

Have a logitech QuickCam Chat hooked up to BB Rev C2 running Ubuntu
Karmic (http://www.logitech.com/en-us/435/281?hub=1)… having a heck
of a time trying to get it stream or dump to a file.

I tried the same cam on an x86 Ubuntu (Hardy) and had no problem using
the following command to stream:

vlc -vv --no-sout-audio v4l:// :v4l-vdev="/dev/video0" --sout
'#transcode{vcodec=mp4v,fps=10}:duplicate{dst=standard{access=http,mux=ts,dst=:
8080}}'

This works no problem... and can dump it to a file as well.

On the BB:

Running VLC gives me the following error:

ubuntu@beagleboard:~$ cvlc -v --no-sout-audio v4l2:// :v4l-vdev="/dev/
video0" --sout
'#transcode{vcodec=mp4v,fps=10}:duplicate{dst=standard{access=file,mux=ts,dst=tst.mp4}}'
VLC media player 1.0.2 Goldeneye
[0xb0ca0] dummy interface: using the dummy interface module...
[0xcbce0] v4l2 demux warning: Could not select any of the default
chromas; attempting to open as MPEG encoder card (access)
[0xcbce0] v4l2 demux error: cannot get video input characteristics
(Invalid argument)
[0xcbce0] main demux warning: no access_demux module matching "v4l2"
could be loaded
[0xc90e0] ps demux warning: this does not look like an MPEG PS stream,
continuing anyway
[0xc90e0] ps demux warning: garbage at input, trying to resync...
^C[0xb3a00] signals interface error: Caught Interrupt signal,
exiting...

What's more interesting is the syslog....

Sep 30 14:37:52 beagleboard kernel: [75482.018035] gspca:
usb_submit_urb [0] err -28

After I quit VLC when I do this, the light on the camera goes off,
whatever that means. It doesn't come on again without re-plugging.

Using FFMPEG on BB:

ffmpeg -s 320x240 -f video4linux2 -v 3 -i /dev/video0 -t 10 -acodec
none -y out.mpg

...gives me:

[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x32315559 to 0x31363553
[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x50323234 to 0x31363553
[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x56595559 to 0x31363553
[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x59565955 to 0x31363553
[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x50313134 to 0x31363553
[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x39565559 to 0x31363553
[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x4F424752 to 0x31363553
[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x50424752 to 0x31363553
[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x33524742 to 0x31363553
[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x33424752 to 0x31363553
[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x34524742 to 0x31363553
[video4linux2 @ 0x2ebb0]The V4L2 driver changed the pixel format from
0x59455247 to 0x31363553
[video4linux2 @ 0x2ebb0]Cannot find a proper format.

No URB error in the syslog though.

When I insert the cam, syslog:
Dec 31 16:00:40 beagleboard kernel: [75719.557373] usb 1-2.4: new full
speed USB device using ehci-omap and address 4
Dec 31 16:00:40 beagleboard kernel: [75719.692047] usb 1-2.4:
configuration #1 chosen from 1 choice
Dec 31 16:00:40 beagleboard kernel: [75720.099639] Linux video capture
interface: v2.00
Dec 31 16:00:40 beagleboard kernel: [75720.303497] gspca: main v2.6.0
registered
Dec 31 16:00:41 beagleboard kernel: [75720.504791] gspca: probing 046d:
092e
Dec 31 16:00:41 beagleboard kernel: [75720.524261] gspca: probe ok
Dec 31 16:00:41 beagleboard kernel: [75720.531433] usbcore: registered
new interface driver spca561
Dec 31 16:00:41 beagleboard kernel: [75720.531524] spca561: registered

I have a hub in between the BB and the Cam.

I can't tell if this is a GSPCA or V4L2 issue. Any ideas?

I had another use email me with a similar problem with GSPCA
camera's.. I only have a couple uvc cameras, which seem to be working
fine..

Which kernel are you using?

if your using one my kernels, does this latest one fix the issue?

http://rcn-ee.net/deb/karmic/v2.6.36-rc6-d1/install-me.sh

". install-me.sh" on beagle...

Regards,

Hey Robert,

Kernel Version:
ubuntu@beagleboard:~$ uname -a
Linux beagleboard 2.6.31.6-x6.0 #1 PREEMPT Fri Nov 13 17:02:45 UTC
2009 armv7l GNU/Linux

I did manage to get it working, not sure if that URB request is an
issue or not, but from doing a lot of reading around, it seemed like
there is a mismatch in kernel and V4L2 versions that are in this build
(again, not sure). But the way to work around it is by prepending /usr/
lib/libv4l/v4l1compat.so as an LD_PRELOAD (I just stuck it in /etc/
ld.so.preload). Works now.

Nice script btw. I will try it once I finish taking a look at this
Gstreamer release that was just posted!