Web lists-archives.com

[Spca50x-devs] [gspcav1-20071224] Proposed Patch for 0ac8:301b Z-Star Microelectronics Corp. ZC0301 WebCam - (KCM-90 Kocom)




Hi, last night i tested my old webcam ( i dont really use webcams ), i thought it was working cause id and sensor appears to be supported.

This is the webcam page:
http://www.kocom.com/index.php?bbscmd=view_product&name=KCM-90&mainmenu=2&submenu=5&lang=english

Based on RegMon and usb logs the sensor should be CS2102, but although the initial data is the same in cs2102.h as in the .inf and config.set of the Kocom driver,is not the same in the usb data ( initial sequence is similar, but send much more data for initialization ). Because i dont know if someone reported chip ZC0301plus and Sensor CS2102 working, i decided to create a new sensor CS2102K , that only change the start and scale data, but gamma, flicker, 50hz, etc are shared between both, cause i really didnt test that, but should be the same.

I disassembled the webcam, but sensor have not any legend about manufacturer or model. The only way i thought it could be possible to detect this webcam is using the chipset revision 0x8000 ( value that device return ) when testing sensor 3w VGA.

So, in resume, cause i dont wanna screw up original cs2102 sensor, i added a new one similar. Maybe , if no one reported this sensor as working could be replaced for this one.

I attach also 640x480 and CIF/SIF screenshot.

Patch was tested on Rxart Desktop 3.2 , kernel 2.6.22.2-pixart-panda.

===============================[LOG]===========================================
gspcav1-20071224/gspca_core.c: USB GSPCA camera found.(ZC3XX)
gspcav1-20071224/gspca_core.c: [spca5xx_probe:4276] Camera type JPEG
gspcav1-20071224/Vimicro/zc3xx.h: [zc3xx_config:687] Find Sensor CS2102K?. Chip revision 8000 gspcav1-20071224/gspca_core.c: [spca5xx_getcapability:1249] maxw 640 maxh 480 minw 160 minh 120
===================================================================================

Ty in advance,
Costantino Leandro
Pixart SRL


PD: i tested all sensors with force_sensor_id but without results before this.



JPEG image

JPEG image

diff -Nru gspcav1-20071224/gspca_core.c gspcav1-20071224-rxart-cs2102k/gspca_core.c
--- gspcav1-20071224/gspca_core.c	2007-12-24 13:56:47.000000000 -0300
+++ gspcav1-20071224-rxart-cs2102k/gspca_core.c	2008-02-22 04:25:30.000000000 -0300
@@ -1923,6 +1923,7 @@
 	case SENSOR_ICM105A:
 	case SENSOR_HDCS2020b:
 	case SENSOR_CS2102:
+	case SENSOR_CS2102K:
 	case SENSOR_OV7660:
 	case SENSOR_OV7620:
 	case SENSOR_MC501CB:
diff -Nru gspcav1-20071224/gspca.h gspcav1-20071224-rxart-cs2102k/gspca.h
--- gspcav1-20071224/gspca.h	2007-12-24 13:56:47.000000000 -0300
+++ gspcav1-20071224-rxart-cs2102k/gspca.h	2008-02-22 03:29:39.000000000 -0300
@@ -129,7 +129,7 @@
 #define SENSOR_OV7670 29
 #define SENSOR_MI1310_SOC 30
 #define SENSOR_MC501CB 31
-
+#define SENSOR_CS2102K 33
 /* Alternate interface transfer sizes */
 #define SPCA50X_ALT_SIZE_0       0
 #define SPCA50X_ALT_SIZE_128     1
diff -Nru gspcav1-20071224/Vimicro/cs2102.h gspcav1-20071224-rxart-cs2102k/Vimicro/cs2102.h
--- gspcav1-20071224/Vimicro/cs2102.h	2006-09-14 09:39:38.000000000 -0300
+++ gspcav1-20071224-rxart-cs2102k/Vimicro/cs2102.h	2008-02-22 03:57:09.000000000 -0300
@@ -805,4 +805,843 @@
 /*******************/
 {0, 0, 0}
 };
+//CS2102_KOCOM
+static __u16 cs2102K_start_data[][3] =
+{
+     { 0xa0 , 0x11, 0x0002},
+     { 0xa0 , 0x03, 0x0008},
+     { 0xa0 , 0x08, 0x0010},
+     { 0xa0 , 0x02, 0x0003},
+     { 0xa0 , 0x80, 0x0004},
+     { 0xa0 , 0x01, 0x0005},
+     { 0xa0 , 0xe0, 0x0006},
+     { 0xa0 , 0x01, 0x0001},
+     { 0xa0 , 0x03, 0x0012},
+     { 0xa0 , 0x01, 0x0012},
+     { 0xa0 , 0x00, 0x0098},
+     { 0xa0 , 0x00, 0x009a},
+     { 0xa0 , 0x00, 0x011a},
+     { 0xa0 , 0x00, 0x011c},
+     { 0xa0 , 0xe8, 0x009c},
+     { 0xa0 , 0x88, 0x009e},
+     { 0xa0 , 0x55, 0x008b},
+     { 0xa0 , 0x18, 0x0092},
+     { 0xa0 , 0x00, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x0a, 0x0092},
+     { 0xa0 , 0x02, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x0b, 0x0092},
+     { 0xa0 , 0x02, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x0c, 0x0092},
+     { 0xa0 , 0x7c, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x0d, 0x0092},
+     { 0xa0 , 0xa3, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x03, 0x0092},
+     { 0xa0 , 0xfb, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x05, 0x0092},
+     { 0xa0 , 0x00, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x06, 0x0092},
+     { 0xa0 , 0x03, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x09, 0x0092},
+     { 0xa0 , 0x08, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x0e, 0x0092},
+     { 0xa0 , 0x04, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x0f, 0x0092},
+     { 0xa0 , 0x18, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x10, 0x0092},
+     { 0xa0 , 0x18, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x11, 0x0092},
+     { 0xa0 , 0x18, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x12, 0x0092},
+     { 0xa0 , 0x18, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x15, 0x0092},
+     { 0xa0 , 0x00, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x16, 0x0092},
+     { 0xa0 , 0x0c, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x17, 0x0092},
+     { 0xa0 , 0x0c, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x18, 0x0092},
+     { 0xa0 , 0x04, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0xb7, 0x0101},
+     { 0xa0 , 0x05, 0x0012},
+     { 0xa0 , 0x78, 0x018d},
+     { 0xa0 , 0x0d, 0x0100},
+     { 0xa0 , 0x06, 0x0189},
+     { 0xa0 , 0x03, 0x01c5},
+     { 0xa0 , 0x13, 0x01cb},
+     { 0xa0 , 0x20, 0x0087},
+     { 0xa0 , 0x21, 0x0088},
+     { 0xa0 , 0x08, 0x0250},
+     { 0xa0 , 0x08, 0x0301},
+     { 0xa0 , 0x00, 0x01ad},
+     { 0xa0 , 0x01, 0x01b1},
+     { 0xa0 , 0x02, 0x0180},
+     { 0xa0 , 0x60, 0x0116},
+     { 0xa0 , 0x40, 0x0117},
+     { 0xa0 , 0x4c, 0x0118},
+     { 0xa0 , 0x03, 0x0008},
+     { 0xa0 , 0x08, 0x01c6},
+     { 0xa0 , 0x0f, 0x01cb},
+     { 0xa0 , 0x13, 0x0120},
+     { 0xa0 , 0x38, 0x0121},
+     { 0xa0 , 0x59, 0x0122},
+     { 0xa0 , 0x79, 0x0123},
+     { 0xa0 , 0x92, 0x0124},
+     { 0xa0 , 0xa7, 0x0125},
+     { 0xa0 , 0xb9, 0x0126},
+     { 0xa0 , 0xc8, 0x0127},
+     { 0xa0 , 0xd4, 0x0128},
+     { 0xa0 , 0xdf, 0x0129},
+     { 0xa0 , 0xe7, 0x012a},
+     { 0xa0 , 0xee, 0x012b},
+     { 0xa0 , 0xf4, 0x012c},
+     { 0xa0 , 0xf9, 0x012d},
+     { 0xa0 , 0xfc, 0x012e},
+     { 0xa0 , 0xff, 0x012f},
+     { 0xa0 , 0x26, 0x0130},
+     { 0xa0 , 0x22, 0x0131},
+     { 0xa0 , 0x20, 0x0132},
+     { 0xa0 , 0x1c, 0x0133},
+     { 0xa0 , 0x16, 0x0134},
+     { 0xa0 , 0x13, 0x0135},
+     { 0xa0 , 0x10, 0x0136},
+     { 0xa0 , 0x0d, 0x0137},
+     { 0xa0 , 0x0b, 0x0138},
+     { 0xa0 , 0x09, 0x0139},
+     { 0xa0 , 0x07, 0x013a},
+     { 0xa0 , 0x06, 0x013b},
+     { 0xa0 , 0x05, 0x013c},
+     { 0xa0 , 0x04, 0x013d},
+     { 0xa0 , 0x03, 0x013e},
+     { 0xa0 , 0x02, 0x013f},
+     { 0xa0 , 0x58, 0x010a},
+     { 0xa0 , 0xf4, 0x010b},
+     { 0xa0 , 0xf4, 0x010c},
+     { 0xa0 , 0xf4, 0x010d},
+     { 0xa0 , 0x58, 0x010e},
+     { 0xa0 , 0xf4, 0x010f},
+     { 0xa0 , 0xf4, 0x0110},
+     { 0xa0 , 0xf4, 0x0111},
+     { 0xa0 , 0x58, 0x0112},
+     { 0xa0 , 0x00, 0x0180},
+     { 0xa0 , 0x00, 0x0019},
+     { 0xa0 , 0x18, 0x0092},
+     { 0xa0 , 0x00, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x13, 0x0092},
+     { 0xa0 , 0x22, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x14, 0x0092},
+     { 0xa0 , 0x01, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x20, 0x0092},
+     { 0xa0 , 0x01, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x21, 0x0092},
+     { 0xa0 , 0x22, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x18, 0x0092},
+     { 0xa0 , 0x04, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x01, 0x00a3},
+     { 0xa0 , 0x22, 0x00a4},
+     { 0xa0 , 0x00, 0x0190},
+     { 0xa0 , 0x07, 0x0191},
+     { 0xa0 , 0xee, 0x0192},
+     { 0xa0 , 0x00, 0x0195},
+     { 0xa0 , 0x00, 0x0196},
+     { 0xa0 , 0x3a, 0x0197},
+     { 0xa0 , 0x10, 0x018c},
+     { 0xa0 , 0x20, 0x018f},
+     { 0xa0 , 0x0c, 0x01a9},
+     { 0xa0 , 0x28, 0x01aa},
+     { 0xa0 , 0x04, 0x001d},
+     { 0xa0 , 0x0f, 0x001e},
+     { 0xa0 , 0x19, 0x001f},
+     { 0xa0 , 0x1f, 0x0020},
+     { 0xa0 , 0x60, 0x011d},
+     { 0xa0 , 0x60, 0x011d},
+     { 0xa0 , 0x42, 0x0180},
+     { 0xa0 , 0x42, 0x0180},
+     { 0xa0 , 0x60, 0x0116},
+     { 0xa0 , 0x40, 0x0117},
+     { 0xa0 , 0x4c, 0x0118},
+     { 0xa0 , 0x04, 0x01a7},
+     { 0xa0 , 0x20, 0x0092},
+     { 0xa0 , 0x01, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x21, 0x0092},
+     { 0xa0 , 0x5c, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x18, 0x0092},
+     { 0xa0 , 0x00, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x13, 0x0092},
+     { 0xa0 , 0x5c, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x14, 0x0092},
+     { 0xa0 , 0x01, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x18, 0x0092},
+     { 0xa0 , 0x04, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x00, 0x01a7},
+     { 0xa0 , 0x04, 0x01a7},
+     { 0xa0 , 0x00, 0x01a7},
+     { 0xa0 , 0x04, 0x01a7},
+     { 0xa0 , 0x20, 0x0092},
+     { 0xa0 , 0x01, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x21, 0x0092},
+     { 0xa0 , 0x96, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x18, 0x0092},
+     { 0xa0 , 0x00, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x13, 0x0092},
+     { 0xa0 , 0x96, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x14, 0x0092},
+     { 0xa0 , 0x01, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x18, 0x0092},
+     { 0xa0 , 0x04, 0x0093},
+     { 0xa0 , 0x00, 0x0094},
+     { 0xa0 , 0x01, 0x0090},
+     { 0xa0 , 0x00, 0x01a7},
+     { 0xa0 , 0x04, 0x01a7},
+     { 0xa0 , 0x00, 0x01a7},
+     { 0x00,  0x00,  0x00},
+};
+
+static __u16 cs2102K_scale_data[][3] =
+{
+     {0xa0 ,0x11, 0x2},
+     {0xa0,0x00,0x0002 },
+     {0xa0,0x03,0x0008 },
+     {0xa0,0x08,0x0010 },
+     {0xa0,0x02,0x0003 },
+     {0xa0,0x80,0x0004 },
+     {0xa0,0x01,0x0005 },
+     {0xa0,0xE0,0x0006 },
+     {0xa0,0x01,0x0001 },
+     {0xa0,0x03,0x0012 },
+     {0xa0,0x01,0x0012 },
+     {0xa0,0x00,0x0098 },
+     {0xa0,0x00,0x009A },
+     {0xa0,0x00,0x011A },
+     {0xa0,0x00,0x011C },
+     {0xa0,0xE8,0x009C },
+     {0xa0,0x88,0x009E },
+     {0xa0,0x55,0x008B },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0A,0x0092 },
+     {0xa0,0x02,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0B,0x0092 },
+     {0xa0,0x02,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0C,0x0092 },
+     {0xa0,0x7B,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0D,0x0092 },
+     {0xa0,0xA3,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x03,0x0092 },
+     {0xa0,0xFB,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x05,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x06,0x0092 },
+     {0xa0,0x03,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x09,0x0092 },
+     {0xa0,0x08,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0E,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0F,0x0092 },
+     {0xa0,0x18,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x10,0x0092 },
+     {0xa0,0x18,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x11,0x0092 },
+     {0xa0,0x18,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x12,0x0092 },
+     {0xa0,0x18,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x15,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x16,0x0092 },
+     {0xa0,0x0C,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x17,0x0092 },
+     {0xa0,0x0C,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0xF7,0x0101 },
+     {0xa0,0x05,0x0012 },
+     {0xa0,0x78,0x018D },
+     {0xa0,0x0D,0x0100 },
+     {0xa0,0x06,0x0189 },
+     {0xa0,0x03,0x01C5 },
+     {0xa0,0x13,0x01CB },
+     {0xa0,0x20,0x0087 },
+     {0xa0,0x21,0x0088 },
+     {0xa0,0x08,0x0250 },
+     {0xa0,0x08,0x0301 },
+     {0xa0,0x00,0x01AD },
+     {0xa0,0x01,0x01B1 },
+     {0xa0,0x02,0x0180 },
+     {0xa0,0x60,0x0116 },
+     {0xa0,0x40,0x0117 },
+     {0xa0,0x4C,0x0118 },
+     {0xa0,0x03,0x0008 },
+     {0xa0,0x08,0x01C6 },
+     {0xa0,0x0F,0x01CB },
+     {0xa0,0x13,0x0120 },
+     {0xa0,0x38,0x0121 },
+     {0xa0,0x59,0x0122 },
+     {0xa0,0x79,0x0123 },
+     {0xa0,0x92,0x0124 },
+     {0xa0,0xA7,0x0125 },
+     {0xa0,0xB9,0x0126 },
+     {0xa0,0xC8,0x0127 },
+     {0xa0,0xD4,0x0128 },
+     {0xa0,0xDF,0x0129 },
+     {0xa0,0xE7,0x012A },
+     {0xa0,0xEE,0x012B },
+     {0xa0,0xF4,0x012C },
+     {0xa0,0xF9,0x012D },
+     {0xa0,0xFC,0x012E },
+     {0xa0,0xFF,0x012F },
+     {0xa0,0x26,0x0130 },
+     {0xa0,0x22,0x0131 },
+     {0xa0,0x20,0x0132 },
+     {0xa0,0x1C,0x0133 },
+     {0xa0,0x16,0x0134 },
+     {0xa0,0x13,0x0135 },
+     {0xa0,0x10,0x0136 },
+     {0xa0,0x0D,0x0137 },
+     {0xa0,0x0B,0x0138 },
+     {0xa0,0x09,0x0139 },
+     {0xa0,0x07,0x013A },
+     {0xa0,0x06,0x013B },
+     {0xa0,0x05,0x013C },
+     {0xa0,0x04,0x013D },
+     {0xa0,0x03,0x013E },
+     {0xa0,0x02,0x013F },
+     {0xa0,0x58,0x010A },
+     {0xa0,0xF4,0x010B },
+     {0xa0,0xF4,0x010C },
+     {0xa0,0xF4,0x010D },
+     {0xa0,0x58,0x010E },
+     {0xa0,0xF4,0x010F },
+     {0xa0,0xF4,0x0110 },
+     {0xa0,0xF4,0x0111 },
+     {0xa0,0x58,0x0112 },
+     {0xa0,0x00,0x0180 },
+     {0xa0,0x00,0x0019 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x13,0x0092 },
+     {0xa0,0x22,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x14,0x0092 },
+     {0xa0,0x01,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x20,0x0092 },
+     {0xa0,0x01,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x21,0x0092 },
+     {0xa0,0x22,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x01,0x00A3 },
+     {0xa0,0x22,0x00A4 },
+     {0xa0,0x00,0x0190 },
+     {0xa0,0x07,0x0191 },
+     {0xa0,0xEE,0x0192 },
+     {0xa0,0x00,0x0195 },
+     {0xa0,0x00,0x0196 },
+     {0xa0,0x3A,0x0197 },
+     {0xa0,0x10,0x018C },
+     {0xa0,0x20,0x018F },
+     {0xa0,0x0C,0x01A9 },
+     {0xa0,0x28,0x01AA },
+     {0xa0,0x04,0x001D },
+     {0xa0,0x0F,0x001E },
+     {0xa0,0x19,0x001F },
+     {0xa0,0x1F,0x0020 },
+     {0xa0,0x60,0x011D },
+     {0xa0,0x60,0x011D },
+     {0xa0,0x42,0x0180 },
+     {0xa0,0x42,0x0180 },
+     {0xa0,0x60,0x0116 },
+     {0xa0,0x40,0x0117 },
+     {0xa0,0x4C,0x0118 },
+     {0xa0,0x01,0x0000 },
+     {0xa0,0x01,0x0000 },
+     {0xa0,0x00,0x0002 },
+     {0xa0,0x03,0x0008 },
+     {0xa0,0x08,0x0010 },
+     {0xa0,0x02,0x0003 },
+     {0xa0,0x80,0x0004 },
+     {0xa0,0x01,0x0005 },
+     {0xa0,0xE0,0x0006 },
+     {0xa0,0x01,0x0001 },
+     {0xa0,0x03,0x0012 },
+     {0xa0,0x01,0x0012 },
+     {0xa0,0x00,0x0098 },
+     {0xa0,0x00,0x009A },
+     {0xa0,0x00,0x011A },
+     {0xa0,0x00,0x011C },
+     {0xa0,0xE8,0x009C },
+     {0xa0,0x88,0x009E },
+     {0xa0,0x55,0x008B },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0A,0x0092 },
+     {0xa0,0x02,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0B,0x0092 },
+     {0xa0,0x02,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0C,0x0092 },
+     {0xa0,0x7B,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0D,0x0092 },
+     {0xa0,0xA3,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x03,0x0092 },
+     {0xa0,0xFB,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x05,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x06,0x0092 },
+     {0xa0,0x03,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x09,0x0092 },
+     {0xa0,0x08,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0E,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x0F,0x0092 },
+     {0xa0,0x18,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x10,0x0092 },
+     {0xa0,0x18,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x11,0x0092 },
+     {0xa0,0x18,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x12,0x0092 },
+     {0xa0,0x18,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x15,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x16,0x0092 },
+     {0xa0,0x0C,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x17,0x0092 },
+     {0xa0,0x0C,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0xF7,0x0101 },
+     {0xa0,0x05,0x0012 },
+     {0xa0,0x78,0x018D },
+     {0xa0,0x0D,0x0100 },
+     {0xa0,0x06,0x0189 },
+     {0xa0,0x03,0x01C5 },
+     {0xa0,0x13,0x01CB },
+     {0xa0,0x20,0x0087 },
+     {0xa0,0x21,0x0088 },
+     {0xa0,0x08,0x0250 },
+     {0xa0,0x08,0x0301 },
+     {0xa0,0x00,0x01AD },
+     {0xa0,0x01,0x01B1 },
+     {0xa0,0x02,0x0180 },
+     {0xa0,0x60,0x0116 },
+     {0xa0,0x40,0x0117 },
+     {0xa0,0x4C,0x0118 },
+     {0xa0,0x03,0x0008 },
+     {0xa0,0x08,0x01C6 },
+     {0xa0,0x0F,0x01CB },
+     {0xa0,0x13,0x0120 },
+     {0xa0,0x38,0x0121 },
+     {0xa0,0x59,0x0122 },
+     {0xa0,0x79,0x0123 },
+     {0xa0,0x92,0x0124 },
+     {0xa0,0xA7,0x0125 },
+     {0xa0,0xB9,0x0126 },
+     {0xa0,0xC8,0x0127 },
+     {0xa0,0xD4,0x0128 },
+     {0xa0,0xDF,0x0129 },
+     {0xa0,0xE7,0x012A },
+     {0xa0,0xEE,0x012B },
+     {0xa0,0xF4,0x012C },
+     {0xa0,0xF9,0x012D },
+     {0xa0,0xFC,0x012E },
+     {0xa0,0xFF,0x012F },
+     {0xa0,0x26,0x0130 },
+     {0xa0,0x22,0x0131 },
+     {0xa0,0x20,0x0132 },
+     {0xa0,0x1C,0x0133 },
+     {0xa0,0x16,0x0134 },
+     {0xa0,0x13,0x0135 },
+     {0xa0,0x10,0x0136 },
+     {0xa0,0x0D,0x0137 },
+     {0xa0,0x0B,0x0138 },
+     {0xa0,0x09,0x0139 },
+     {0xa0,0x07,0x013A },
+     {0xa0,0x06,0x013B },
+     {0xa0,0x05,0x013C },
+     {0xa0,0x04,0x013D },
+     {0xa0,0x03,0x013E },
+     {0xa0,0x02,0x013F },
+     {0xa0,0x58,0x010A },
+     {0xa0,0xF4,0x010B },
+     {0xa0,0xF4,0x010C },
+     {0xa0,0xF4,0x010D },
+     {0xa0,0x58,0x010E },
+     {0xa0,0xF4,0x010F },
+     {0xa0,0xF4,0x0110 },
+     {0xa0,0xF4,0x0111 },
+     {0xa0,0x58,0x0112 },
+     {0xa0,0x00,0x0180 },
+     {0xa0,0x00,0x0019 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x13,0x0092 },
+     {0xa0,0x22,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x14,0x0092 },
+     {0xa0,0x01,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x20,0x0092 },
+     {0xa0,0x01,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x21,0x0092 },
+     {0xa0,0x22,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x01,0x00A3 },
+     {0xa0,0x22,0x00A4 },
+     {0xa0,0x00,0x0190 },
+     {0xa0,0x07,0x0191 },
+     {0xa0,0xEE,0x0192 },
+     {0xa0,0x00,0x0195 },
+     {0xa0,0x00,0x0196 },
+     {0xa0,0x3A,0x0197 },
+     {0xa0,0x10,0x018C },
+     {0xa0,0x20,0x018F },
+     {0xa0,0x0C,0x01A9 },
+     {0xa0,0x28,0x01AA },
+     {0xa0,0x04,0x001D },
+     {0xa0,0x0F,0x001E },
+     {0xa0,0x19,0x001F },
+     {0xa0,0x1F,0x0020 },
+     {0xa0,0x60,0x011D },
+     {0xa0,0x60,0x011D },
+     {0xa0,0x42,0x0180 },
+     {0xa0,0x42,0x0180 },
+     {0xa0,0x60,0x0116 },
+     {0xa0,0x40,0x0117 },
+     {0xa0,0x4C,0x0118 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x20,0x0092 },
+     {0xa0,0x01,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x21,0x0092 },
+     {0xa0,0x5C,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x13,0x0092 },
+     {0xa0,0x5C,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x14,0x0092 },
+     {0xa0,0x01,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x20,0x0092 },
+     {0xa0,0x01,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x21,0x0092 },
+     {0xa0,0x96,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x13,0x0092 },
+     {0xa0,0x96,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x14,0x0092 },
+     {0xa0,0x01,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x20,0x0092 },
+     {0xa0,0x01,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x21,0x0092 },
+     {0xa0,0xD0,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x13,0x0092 },
+     {0xa0,0xD0,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x14,0x0092 },
+     {0xa0,0x01,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x02,0x0008 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x20,0x0092 },
+     {0xa0,0x02,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x21,0x0092 },
+     {0xa0,0x0A,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x13,0x0092 },
+     {0xa0,0x0A,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x14,0x0092 },
+     {0xa0,0x02,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x20,0x0092 },
+     {0xa0,0x02,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x21,0x0092 },
+     {0xa0,0x44,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x13,0x0092 },
+     {0xa0,0x44,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x14,0x0092 },
+     {0xa0,0x02,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x20,0x0092 },
+     {0xa0,0x02,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x21,0x0092 },
+     {0xa0,0x7E,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x00,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x13,0x0092 },
+     {0xa0,0x7E,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x14,0x0092 },
+     {0xa0,0x02,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x18,0x0092 },
+     {0xa0,0x04,0x0093 },
+     {0xa0,0x00,0x0094 },
+     {0xa0,0x01,0x0090 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0xa0,0x00,0x01A7 },
+     {0xa0,0x04,0x01A7 },
+     {0, 0, 0}
+};
+
 #endif				//CS2102USB_H
diff -Nru gspcav1-20071224/Vimicro/zc3xx.h gspcav1-20071224-rxart-cs2102k/Vimicro/zc3xx.h
--- gspcav1-20071224/Vimicro/zc3xx.h	2007-12-24 13:56:47.000000000 -0300
+++ gspcav1-20071224-rxart-cs2102k/Vimicro/zc3xx.h	2008-02-22 03:37:12.000000000 -0300
@@ -318,7 +318,8 @@
 	    spca5xxRegRead(spca50x->dev, 0xa1, 0x01, 0x000a, &retbyte, 1);
 	    checkword |= retbyte;
 	    PDEBUG(1, "sensor 3w Vga ??? 0x%04X ", (checkword & 0xffff));
-	    if (checkword == 0xc001 || checkword == 0xe001 || checkword == 0x8001) {
+	    
+	    if (checkword == 0xc001 || checkword == 0xe001 || checkword == 0x8001 || checkword == 0x8000) {
 		spca50x->chip_revision = checkword;
 		spca5xxRegRead(spca50x->dev, 0xa1, 0x01, 0x0010, &retbyte,
 			       1);
@@ -326,7 +327,8 @@
 		spca5xxRegWrite(spca50x->dev, 0xa0, 0x0d, 0x003a, NULL, 0);
 		spca5xxRegWrite(spca50x->dev, 0xa0, 0x02, 0x003b, NULL, 0);
 		spca5xxRegWrite(spca50x->dev, 0xa0, 0x00, 0x0038, NULL, 0);
-		return 0x13;
+	       //CS2101K or MI0360
+	        return (checkword == 0x8000) ? 0x14 : 0x13;
 	    }
 
 	}
@@ -427,6 +429,7 @@
         GammaSettingsID = VF0250_Gamma;
         break;
      case SENSOR_CS2102:
+     case SENSOR_CS2102K:  
         GammaSettingsID = CS2102_Gamma;
         break;
      default:
@@ -680,7 +683,12 @@
 	spca50x->sensor = SENSOR_PB0330;
 	set_zc3xxVGA(spca50x);
 	break;
-    };
+     case 0x14:
+	PDEBUG(0, "Find Sensor CS2102K?. Chip revision %x\n",spca50x->chip_revision);
+	spca50x->sensor = SENSOR_CS2102K;
+	set_zc3xxVGA(spca50x);
+	break;
+       };
 
     if ((sensor == 0x02) || (sensor == 0x01) || (sensor == 0x05)
 	|| (sensor == 0x07) || (sensor == 0x09) || (sensor == 0x0b)
@@ -872,6 +880,16 @@
 	    err = zc3xxWriteVector(spca50x, pas106b_scale_data);   
 	}
 	break;
+    case SENSOR_CS2102K:
+	if (spca50x->mode) {
+	    /* 320x240 */
+	    err = zc3xxWriteVector(spca50x, cs2102K_start_data);
+	} else {
+	    /* 640x480 */
+	    err = zc3xxWriteVector(spca50x, cs2102K_scale_data);
+	}
+	break;
+
     }
     zc3xx_setbrightness(spca50x);
     zc3xx_setquality(spca50x);
@@ -953,6 +971,7 @@
  	  zc3xxWriteVector(spca50x, hdcs2020b_50HZ);
       break;
       case SENSOR_CS2102:
+      case SENSOR_CS2102K:
  	  zc3xxWriteVector(spca50x, cs2102_50HZ);
       break;
       default:     
@@ -987,6 +1006,7 @@
  	  zc3xxWriteVector(spca50x, hdcs2020b_60HZ);
       break;
       case SENSOR_CS2102:
+      case SENSOR_CS2102K:
  	  zc3xxWriteVector(spca50x, cs2102_60HZ);
       break;
       default:     
@@ -1021,6 +1041,7 @@
  	  zc3xxWriteVector(spca50x, hdcs2020b_50HZScale);
       break;
       case SENSOR_CS2102:
+      case SENSOR_CS2102K:
  	  zc3xxWriteVector(spca50x, cs2102_50HZScale);
       break;
       default:
@@ -1056,6 +1077,7 @@
  	  zc3xxWriteVector(spca50x, hdcs2020b_60HZScale);
       break;
       case SENSOR_CS2102:
+      case SENSOR_CS2102K:
  	  zc3xxWriteVector(spca50x, cs2102_60HZScale);
       break;
       default:
@@ -1091,6 +1113,7 @@
  	  zc3xxWriteVector(spca50x, hdcs2020b_NoFliker);
       break;
       case SENSOR_CS2102:
+      case SENSOR_CS2102K:
  	  zc3xxWriteVector(spca50x, cs2102_NoFliker);
       break;
       default:
@@ -1126,6 +1149,7 @@
  	  zc3xxWriteVector(spca50x, hdcs2020b_NoFlikerScale);
       break;
       case SENSOR_CS2102:
+      case SENSOR_CS2102K:
  	  zc3xxWriteVector(spca50x, cs2102_NoFlikerScale);
       break;
       default:
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Spca50x-devs mailing list
Spca50x-devs@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/spca50x-devs