Hello,
First thank you for the SPCA5xx drivers.
I just bought a new Philips SPC600NC webcam and
installed the drivers "spca5xx-20060301". The SPC600NC
webcam is a newly supported webcam by the drivers (as
it is said on the website "http://mxhaard.free.fr").
I ran several programs to test the webcam but the
"explosure" of the camera seems to be blocked. It give
too much "lightning" image during the day, and very
very dark image (unusable) with medium luminosity.
Under Windows XP, the webcam work very well (camera
auto ajust explosure to get the correct luminosity),
but not on Linux-Ubuntu.
I tried to reinstall the drivers ... and to modify
manually some of the parameters such as "gamma" or
"auto-explo" as said in the README file but it doesn't
change anything.
==> ### The auto-explosure doesn't work at all (no
change, even in front of powerfull light ;-) ###
One very surprising thing is that if I grab image in
"640x480" resolution, the image is more "normal" when
luminosity is low. But during the day, image at hight
resolution is almost "white"
==> ### Explosure is totaly blocked ###
Does someone know how to solve this bug ?
(I also tested the drivers with another webcam : "Intel
Easy PC Webcam", the explosure works well with it, so
it can't be a problem with my computer I think).
Thank you in advance
Logged In: YES
user_id=1479018
After looking at the source code, it seems that the bug come
from a non-complete code in the drivers :
In the file "spca5xx.c" :
the Philips SPC600NC, SPC700NC and SPC900NC use a "bridge"
called "BRIDGE_SN9CXXX" (line 8174) :
----------
spca50x->desc = PhilipsSPC600NC;
spca50x->bridge = BRIDGE_SN9CXXX;
spca50x->sensor = SENSOR_MI0360;
spca50x->customid = SN9C105;
spca50x->header_len = 0;
spca50x->i2c_ctrl_reg = 0x81;
spca50x->i2c_base = 0x5d;
spca50x->i2c_trigger_on_write = 0;
spca50x->cameratype = JPGS; // jpeg 4.2.2 whithout header ;
info("USB SPCA5XX camera found. Philips SPC600NC sn9c105 +
MI0360 ");
break;
----------
At line 4920, we have the "autoexpo" for automatic
exposition configuration :
----------
if (spca50x->autoexpo) {
/* set the autoexpo here */
if (spca50x->bridge == BRIDGE_SPCA561)
spca561_setAutobright(spca50x);
if (spca50x->bridge == BRIDGE_ETOMS) {
PDEBUG(5, "Etoms AutoBrightness");
Et_setAutobright(spca50x);
}
if (spca50x->bridge == BRIDGE_PAC207) {
PDEBUG(5, "Pac207 AutoBrightness");
pac207_setAutobright(spca50x);
}
#if 0
if (spca50x->bridge == BRIDGE_SN9CXXX)
sn9c102p_setAutobright(spca50x);
#endif
}
----------
!!! As you can see the configuration for the bridge
"BRIDGE_SN9CXXX" isn't enabled !!! Has this configuration
been forgotten ??? What's the solution to make it work ?
I tried to delete the "#if 0" and "#endif" to enable
configuration for this BRIDGE but they is a bug when
compiling the code and installing it :
*** Warning: "sn9c102p_setAutobright"
[/home/olisoft/packetDown/spca5xx-20060301/spca5xx.ko]
undefined!