Bug 11496 - gspca module does not work
Summary: gspca module does not work
Status: CLOSED OBSOLETE
Alias: None
Product: v4l-dvb
Classification: Unclassified
Component: v4l-other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Hans de Goede
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-09-04 07:30 UTC by Mateusz Kaduk
Modified: 2012-05-22 13:47 UTC (History)
4 users (show)

See Also:
Kernel Version: 2.6.27-rc4
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Mateusz Kaduk 2008-09-04 07:30:34 UTC
Latest working kernel version: 2.6.26
Earliest failing kernel version: 2.6.27-rc4
Distribution: GNU/Linux - Debian (sid)
Hardware Environment: Lenovo IBM Thinkpad T61
Software Environment: Xorg 1.4.99 Gnome 2.22 Mesa 7.1
Problem Description: gpsca module does not display correct video

Steps to reproduce: 

Connect webcam
Bus 004 Device 004: ID 046d:092f Logitech, Inc. QuickCam Express Plus

so dmesg shows

usb 4-1: new full speed USB device using uhci_hcd and address 3
usb 4-1: configuration #1 chosen from 1 choice
usb 4-1: New USB device found, idVendor=046d, idProduct=092f
usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 4-1: Product: Camera
usb 4-1: Manufacturer:         
gspca: main v2.2.0 registered
gspca: probing 046d:092f
gspca: probe ok
usbcore: registered new interface driver spca561
spca561: registered

run skype to see the error

compat_ioctl32: VIDIOC_S_PARMioctl32(skype:23604): Unknown cmd fd(36) cmd(c0cc5616){t:'V';sz:204} arg(f5f1bd90) on /dev/video0

all other application like camorama, cheese dont produce any error nor any video.
Comment 1 Mauro Carvalho Chehab 2008-09-04 17:00:28 UTC
skype binary is not capable of handling all webcam variants, since it doesn't support some unusual video encodings, like some bayer variants. the better is to use libv4l userspace library if you want to use your cam with skype.

You may read more about libv4l at:

http://hansdegoede.livejournal.com/3636.html

Also, several updates on gspca were sent today for merging upstream. Please, test it again with the next -rc kernel.
Comment 2 Mateusz Kaduk 2008-09-04 23:42:40 UTC
While waiting for next kernel -rc I tried libv4l library recompile and linked with -m32 option as skype is only in 32bit version. Nothing improves, no video just many pixels with different colors.

:~/Desktop/libv4l-0.1$ skype 
Skype V4L2: Failed to change capture framerate (15)
Starting the process...
Skype Xv: Xv ports available: 17
Skype XShm: XShm support enabled
Skype Xv: Using Xv port 68

also error in dmesg did not disappear

compat_ioctl32: VIDIOC_S_PARMioctl32(skype:7614): Unknown cmd fd(26) cmd(c0cc5616){t:'V';sz:204} arg(f5f97dc0) on /dev/video0

When it comes to camorama recompiled libv4l with -m64, finally i get some kind of video, but I had to rise brightness and contrast to max to see something so its still pretty too dark and video is in blue. Only working adjustments in camorama are contrast and brightness.
Comment 3 Mateusz Kaduk 2008-09-09 00:08:40 UTC
I tired latest 2.6.27-rc5-git10 
with gspca driver changes and Your library(64bit version and 32bit version for skype). But I am not getting ANY video. 
Moreover now when I want to read camera, it just turns off and I have to plug it out and in to get it again on.

This is what happens with camorama, cheese and skype

usb 5-1: new full speed USB device using uhci_hcd and address 5
usb 5-1: configuration #1 chosen from 1 choice
gspca: probing 046d:092f
gspca: probe ok
usb 5-1: New USB device found, idVendor=046d, idProduct=092f
usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 5-1: Product: Camera
usb 5-1: Manufacturer:         
gspca: usb_submit_urb [0] err -28
gspca: usb_submit_urb [0] err -28
gspca: usb_submit_urb [0] err -28
gspca: usb_submit_urb [0] err -28
gspca: usb_submit_urb [0] err -28
gspca: usb_submit_urb [0] err -28
gspca: ISOC data error: [29] len=546, status=-71
usb 5-1: USB disconnect, address 5
gspca: urb status: -108
gspca: urb status: -108

Now I cant see anything on camera and any adjustments changes cause
gspca: usb_submit_urb [0] err -28
Comment 4 Mateusz Kaduk 2008-09-10 01:52:22 UTC
When I connect camera and led is lightening after I run camorama I dont see anything. Then when I change resolution led turns off and I see something but its really dark. Also I never managed to make use of adjustments they just do not work.

Can You fix that ? 
Comment 5 Hans de Goede 2008-09-11 07:45:23 UTC
(In reply to comment #4)
> When I connect camera and led is lightening after I run camorama I dont see
> anything. Then when I change resolution led turns off and I see something but
> its really dark. Also I never managed to make use of adjustments they just do
> not work.
> 
> Can You fix that ? 
> 

Camorama is showing a fixed list of controls independent of the cam actually having these controls, this is due to camorama using the obsolete v4l1 interface.

For tuning the controls get and install v4l2ucp from
http://v4l2ucp.sourceforge.net/

That shows the actual controls available for your cam.

Also be sure to get Linux's latest 2.6.27 tree which includes quite a few fixes to spca561, including exposure control (will be shown in v4l2ucp) with the exposure control you should be able to get a good picture instead of the too dark picture.

The only unresolved issue with that cam is that we do not know how to set the powerlinefrequency filter, so you may see some flickering when using it with artificial light.
Comment 6 Hans de Goede 2008-09-11 07:56:31 UTC
Closing this as the controls are fixed in the latest 2.6.27rc code, if you are still having troubles feel free to reopen this.
Comment 7 Mateusz Kaduk 2008-09-11 08:58:08 UTC
I managed to set it correctly so I get video and the color and brightness set with v4lucp is nice, but its terribly slow and also lagging 2-3sec(in camorama and skype). I am 98% sure that it was faster, on windows it is. I don't know if this has something to do with that problem but when I run skype I see
Skype V4L2: Failed to change capture framerate (15)
I see myself in single images.
Comment 8 Hans de Goede 2008-09-11 10:22:30 UTC
Did you used the latest 2.6.27rc from Linus? You should get a exposure setting in v4lucp then, which should default to 200.

With the exposure < 300 you should get 30 fps, I do so and its not slow at all. If however you are in a dark room and krank up the exposure all the way, then yes, the FPS will drop.

What kind of CPU are you using? I find it unlikely but maybe your CPU (or GPU) cannot cope? What number of fps does camorama show in its status bar?
Comment 9 Mateusz Kaduk 2008-09-11 13:17:06 UTC
Yes I used latest 2.6.27rc6 and I can see something only with exposure more than 600 while I have a lot of lamps turned on and also during the day.

I have Intel(R) Core(TM)2 Duo CPU     T8300  @ 2.40GHz
and GPU Intel Corporation Mobile GM965/GL960 so latest Intel chipset.

When I run camera from start its really dark, I cant see anything. When I raise exposure its ok, but too low frame rate. 
Comment 10 Hans de Goede 2008-09-13 01:45:36 UTC
(In reply to comment #9)
> Yes I used latest 2.6.27rc6 and I can see something only with exposure more
> than 600 while I have a lot of lamps turned on

That is to be expected artificial light is way way way less brigh then daylight on a sunny day?

> and also during the day.

Hmm, is this during a sunny day and do you have a nice large window in the room and are you with your face towards that window?

> 
> When I run camera from start its really dark, I cant see anything. When I
> raise
> exposure its ok, but too low frame rate. 
> 

That is to be expected with artificial light, webcams suck without getting plenty of light. Really this is as good as it gets, closing again.
Comment 11 Mateusz Kaduk 2008-09-18 14:31:51 UTC
Its definitely too dark. On windows it works smooth in this light also my girlfriend is talking with me and her video is much brighter and works smooth.
In order to get similar brightness I have to set 2500, and then it really drops frames. I have Intel(R) Core(TM)2 Duo CPU     T8300  @ 2.40GHz
When I have less than 1000 I don't see anything in my cam. It should be possible to talk with artificial light without that huge frame drop :(
Also during the day it only helps when I seat in front of window. I have a bright room but when I move somewhere else, then its too dark and I have to set exposure > 600. This is definitely something wrong. I think previous gspca when it was working with this cam was better, cause I did notice anything wrong with brightness before. Also on window its much better.
Comment 12 Hans de Goede 2008-09-18 17:05:42 UTC
"I think previous gspca " ..... is not helping in any way. If you believe the previous version of gspca did better, please compile it, rmmod the version currently in the kernel, insmod the old one and give it a try!
Comment 13 Mateusz Kaduk 2008-09-19 04:39:06 UTC
The original one does not compile anymore. 
/root/gspcav1-20071224/gspca_core.c:54:27: error: asm/semaphore.h: No such file or directory
When I was using it first time I sent my web-cam ID to upstream, he added support for it and everything was working fine. Then after a few mounts after I did upgrade and it stopped working, the video was really dark and there was a error message about light sensor.
Then You released a kernel version of that driver and its still dark, but when I raise exposition I can see myself but its extremely slow. I have to use windows version to be able to use this camera normally.
Comment 14 Hans de Goede 2008-09-19 05:49:00 UTC
(In reply to comment #13)
> The original one does not compile anymore. 
> /root/gspcav1-20071224/gspca_core.c:54:27: error: asm/semaphore.h: No such
> file
> or directory
> When I was using it first time I sent my web-cam ID to upstream, he added
> support for it and everything was working fine. Then after a few mounts after
> I
> did upgrade and it stopped working, the video was really dark and there was a
> error message about light sensor.
> Then You released a kernel version of that driver and its still dark, but
> when
> I raise exposition I can see myself but its extremely slow. I have to use
> windows version to be able to use this camera normally.
> 

You're really not helping here in getting your problem fixed in anyway. For one you've been withholding important information, the fact that the cam image already became darker with a gspcav1 version bump is highly relevant here, this means we've not introduced a new bug, but that we've inherited a bug from gspcav1 which are 2 entirely different things.

Also as helpfull as it is telling (way too late) that it broken when moving from one version of gspcav1 to another, this is not going to be much help unless you can tell us from which version too which version it broke. We need to get exact data from you vague statements like this used to work in some version nd then broke some version later is not very usefull.

So please try installing an older kernel from your distro (for example from the previous release of your distro) and then compile gspcav1 versions and test the cam with each version, and tell us precisely *when* it broken, so in between which 2 versions.
Comment 15 Jean-Francois Moine 2008-10-26 12:40:21 UTC
(In reply to comment #11)
> Its definitely too dark. On windows it works smooth in this light also my
  [snip]

A bug was found about auto gain in this subdriver (spca561) at mid-september.

Did you try the lastest stable kernel (2.6.27)?
Comment 16 Sandro 2008-10-30 22:54:04 UTC
I'm not sure if my case is related to this bug but with kernel 2.6.26 and  gspcav1-20071224 drivers my webcam (Microsoft VX-3000 -  ID 045e:00f5) just worked fine. With 2.6.27.4 kernel the webcam doesn't work anymore.
On boot dmesg says:
gspca: main v2.2.0 registered
gspca: probing 045e:00f5
sonixj: Sonix chip id: 11
gspca: probe ok
gspca: probing 045e:00f5
gspca: probing 045e:00f5
usbcore: registered new interface driver sonixj
sonixj: registered


Opening camorama dmesg says:
gspca: usb_submit_urb [0] err -28
ohci_hcd 0000:00:02.0: leak ed ffff88007ec35140 (#81) state 2
Comment 17 Hans de Goede 2008-10-31 02:43:36 UTC
Sandro,

Are you using libv4l? If not download the latest version here:
http://people.atrpms.net/~hdegoede/libv4l-0.5.3.tar.gz

And then install it and use v4l1compat.so with LD_PRELOAD (as described) before running camorama. You may also want to try the latest version as described here:
http://moinejf.free.fr/gspca_README.txt
Comment 18 Sandro 2008-11-02 11:18:37 UTC
(In reply to comment #17)
> Are you using libv4l? If not download the latest version here:
> http://people.atrpms.net/~hdegoede/libv4l-0.5.3.tar.gz

No, I wasn't using it.

> And then install it and use v4l1compat.so with LD_PRELOAD (as described)
> before
> running camorama. You may also want to try the latest version as described
> here:
> http://moinejf.free.fr/gspca_README.txt

Installd. Then launched as:
LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so camorama

Result: 
libv4l2: error converting / decoding frame data: v4l-convert: error parsing JPEG
 header: Not a JPG file ?

No video output.

trying with ekiga:
LD_PRELOAD=/usr/lib64/libv4l/v4l1compat.so ekiga

Result:
libv4l2: error converting / decoding frame data: v4l-convert: error parsing JPEG
 header: Not a JPG file ?
[A lot of times]

libv4lconvert: Error decompressing JPEG: fill_nbits error: need 6 more bits
[A lot of times]

Maybe this is not strictly related to kernel. Do you know where to report this issue if this isn't the right place?
Comment 19 Hans de Goede 2008-11-03 01:30:37 UTC
(In reply to comment #18)
> Result:
> libv4l2: error converting / decoding frame data: v4l-convert: error parsing
> JPEG
>  header: Not a JPG file ?
> [A lot of times]
> 
> libv4lconvert: Error decompressing JPEG: fill_nbits error: need 6 more bits
> [A lot of times]
> 

Hmm, 

The: "Not a JPG file ?" error really should never happen together with the sonixj driver, something weird is going on here. Most likely an kernel issue.

Can you please:
1) Try the latest mercurial tree, as described here:
http://moinejf.free.fr/gspca_README.txt
2) If that does not work file a new bug for this, this really is becoming
   offtopic for this bug.
3) Mail JF Moine about this, and point him to the new bug, he maintains the 
   sonixj driver.
Comment 20 Sandro 2008-11-03 11:15:50 UTC
New bug opened as bug #11946
Comment 21 Erik Andr 2009-12-30 07:14:18 UTC
Is this still an issue with a recent kernel?

Note You need to log in before you can comment on or make changes to this bug.