No al Trusting Computing Send me a mail
Driver linux per WEB-CAM Creative
Per il controllo delle webcam Creative la distribuzione standard linux 2.6 fornisce driver zc0301. Questo driver pero' non si e' rovelato adatto a pilotare la web-cam Creative. Un driver che funziona egregiamente e' il driver gspca reperibile qui: http://mxhaard.free.fr/download.html

[root@enzo6 ~]# tail -f /var/log/messages


Jan 13 12:40:39 enzo6 kernel: ohci_hcd 0000:00:03.1: wakeup

Jan 13 12:40:39 enzo6 kernel: usb 2-1: new full speed USB device using ohci_hcd and address 4
Jan 13 12:40:39 enzo6 kernel: usb 2-1: configuration #1 chosen from 1 choice
Jan 13 12:40:39 enzo6 kernel: usb 2-1: ZC0301[P] Image Processor and Control Chip detected (vid/pid 0x041E/0x4034)
Jan 13 12:40:39 enzo6 kernel: usb 2-1: No supported image sensor detected

Creative 25 0x041e 0x400a PC Cam 300 spca500a

Creative 26 0x041e 0x400b PC Cam 600 spca504c
Creative 167 0x041e 0x4012 PC Cam 350 spca504c
Creative 27 0x041e 0x4013 PC Cam 750 spca504b
Creative 28 0x041e 0x4018 Vista spca508 PB100
Creative 29 0x041e 0x401a Vista PD1100 spca561a
Creative 30 0x041e 0x403b Vista VF0010 spca561a
Creative 31 0x041e 0x401d NX Ultra PD1120 spca505b


[root@enzo6 ~]# lsmod | grep v4
v4l1_compat 16453 1 videodev
v4l2_common 26305 2 zc0301,videodev

[root@enzo6 ~]# caminfo
CVideoDevice::ResetImagesRGB()
CVideoDevice::ResetImagesYUV()
Detected 0 Video4Linux devices.



DOWNLOAD DRIVER from: http://mxhaard.free.fr/download.html




[enzo@enzo6 BUILD]$ wget http://mxhaard.free.fr/spca50x/Download/gspcav1-20070110.tar.gz


[enzo@enzo6 driver]$ tar zxvf gspcav1-20070110.tar.gz
gspcav1-20070110/
..........


[enzo@enzo6 driver]$ cd gspcav1-20070110
[enzo@enzo6 gspcav1-20070110]$ ls
changelog decoder gspca_build gspca.h Mars-Semi Sonix Sunplus-jpeg utils
Conexant Etoms gspca_core.c Makefile Pixart Sunplus Transvision Vimicro



[enzo@enzo6 gspcav1-20070110]$ make
make -C /lib/modules/`uname -r`/build SUBDIRS=/usr_data/BUILD/driver/gspcav1-20070110 CC=cc modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-1.2868.fc6-i586'
CC [M] /usr_data/BUILD/driver/gspcav1-20070110/gspca_core.o
CC [M] /usr_data/BUILD/driver/gspcav1-20070110/decoder/gspcadecoder.o
LD [M] /usr_data/BUILD/driver/gspcav1-20070110/gspca.o
Building modules, stage 2.
MODPOST
CC /usr_data/BUILD/driver/gspcav1-20070110/gspca.mod.o
LD [M] /usr_data/BUILD/driver/gspcav1-20070110/gspca.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-1.2868.fc6-i586'




[root@enzo6 ~]# insmod /home/enzo/BUILD/driver/gspcav1-20070110/gspca.ko



[root@enzo6 ~]# tail -f /var/log/messages
kernel: /usr_data/BUILD/driver/gspcav1-20070110/gspca_core.c: USB SPCA5XX camera found.(ZC3XX)
Jan 13 14:45:13 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/gspca_core.c: [spca5xx_probe:3983] Camera type JPEG
Jan 13 14:45:13 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/Vimicro/zc3xx.h: [zc3xx_config:515] Sensor ID:10
Jan 13 14:45:14 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/Vimicro/zc3xx.h: [zc3xx_config:587] Find Sensor PAS106
Jan 13 14:45:14 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/gspca_core.c: [spca5xx_getcapability:1189] maxw 352 maxh 288 minw 176 minh 144
Jan 13 14:45:14 enzo6 kernel: usbcore: registered new driver gspca
Jan 13 14:45:14 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/gspca_core.c: gspca driver 01.00.12 registered


[root@enzo6 ~]# rmmod gspca


[root@enzo6 ~]# tail -f /var/log/messages
Jan 13 15:20:57 enzo6 kernel: usbcore: deregistering driver gspca
Jan 13 15:20:57 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/gspca_core.c: driver gspca deregistered





[root@enzo6 ~]# cp /home/enzo/BUILD/driver/gspcav1-20070110/gspca.ko /lib/modules/2.6.18-1.2868.fc6/extra
[root@enzo6 ~]# modprobe gspca


[root@enzo6 ~]# tail -f /var/log/messages
Jan 13 15:28:57 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/gspca_core.c: USB SPCA5XX camera found.(ZC3XX)
Jan 13 15:28:57 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/gspca_core.c: [spca5xx_probe:3983] Camera type JPEG
Jan 13 15:28:57 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/Vimicro/zc3xx.h: [zc3xx_config:515] Sensor ID:10
Jan 13 15:28:57 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/Vimicro/zc3xx.h: [zc3xx_config:587] Find Sensor PAS106
Jan 13 15:28:57 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/gspca_core.c: [spca5xx_getcapability:1189] maxw 352 maxh 288 minw 176 minh 144
Jan 13 15:28:57 enzo6 kernel: usbcore: registered new driver gspca
Jan 13 15:28:57 enzo6 kernel: /usr_data/BUILD/driver/gspcav1-20070110/gspca_core.c: gspca driver 01.00.12 registered


[root@enzo6 ~]# lsmod | grep spca
gspca 641872 0
videodev 27073 2 gspca,zc0301

[root@enzo6 ~]# mknod /dev/video0 c 81 0

root@enzo6 ~]# modinfo gspca
filename: /lib/modules/2.6.18-1.2868.fc6/extra/gspca.ko
license: GPL
description: GSPCA/SPCA5XX USB Camera Driver
author: Michel Xhaard <mxhaard@users.sourceforge.net> based on spca50x driver by Joel Crisp <cydergoth@users.sourceforge.net>,ov511 driver by Mark McClelland <mwm@i.am>
srcversion: AEAEB91F002DC1E41760970
alias: usb:v0AC8pC001d*dc*dsc*dp*ic*isc*ip*
alias: usb:v06D6p0031d*dc*dsc*dp*ic*isc*ip*
.............
alias: usb:v0733p0401d*dc*dsc*dp*ic*isc*ip*
alias: usb:v0733p0430d*dc*dsc*dp*ic*isc*ip*
depends: videodev
vermagic: 2.6.18-1.2868.fc6 SMP mod_unload 586 REGPARM 4KSTACKS gcc-4.1
parm: autoexpo:Enable/Disable auto exposure (default=1: enabled) (PC-CAM 600/Zc03xx/spca561a/Etoms Only !!!) (int)
parm: debug:Debug level: 0=none, 1=init/detection, 2=warning, 3=config/control, 4=function call, 5=max (int)
parm: force_rgb:Read RGB instead of BGR (int)
parm: gamma:gamma setting range 0 to 7 3-> gamma=1 (int)
parm: OffRed:OffRed setting range -128 to 128 (int)
parm: OffBlue:OffBlue setting range -128 to 128 (int)
parm: OffGreen:OffGreen setting range -128 to 128 (int)
parm: GRed:Gain Red setting range 0 to 512 /256 (int)
parm: GBlue:Gain Blue setting range 0 to 512 /256 (int)
parm: GGreen:Gain Green setting range 0 to 512 /256 (int)
parm: compress:Turn on/off compression (not functional yet) (int)
parm: usbgrabber:Is a usb grabber 0x0733:0x0430 ? (default 1) (int)
parm: lightfreq:Light frequency banding filter. Set to 50 or 60 Hz, or zero to NoFliker (default=50) (int)





[root@enzo6 ~]# caminfo
Detected 1 Video4Linux devices.
Device node : /dev/video0
Name of device : "Creative Instant P0620"
Minimum size : 176x144
Current size : 0x0
Maximum size : 352x288
Video inputs : 1
Input 0
Name : "ZC301-2"
Type : Camera
Audio : no
Tuners : 0
Audio inputs : 0

[enzo@enzo6 ~]$ camstream
CCamWindow::CCamWindow()
CWebCamViewer::CWebCamViewer(0x8c931e0, 640x480)
CVideoDevice::Init()
Using mmap(), VMBuf.size = 2457616
Trying to find video options for Creative Instant P0620:/dev/video0
searching Creative Instant P0620
CSnapshotSettingsDlg::CSnapshotSettingsDlg(...)
QFont::setRawName(): Invalid XLFD: "null"
CVideoSettingsDlg::SizeChanged(352x288)
CVideoSettingsDlg::FramerateChanged(10)
CCamPanel::SetSize(352x288)
CCamPanel::SetImageSize(352x288)
CCamPanel::SetVisibleSize(352x288)
CVideoDevice::SetSize(640, 480)
Video device did not accept hint_size.

CCamPanel::SetSize(352x288)
CCamPanel::SetImageSize(352x288)
CCamPanel::SetVisibleSize(352x288)
RecalcTotalViewSize: resize viewport(352x288)
EnableRGB: +
CVideoDevice::SetPalette picked palette 5 [rgb32]
CVideoDevice::CreateImagesRGB()
using pre-allocated memory
CVideoDevice::StartCapture() go!
EnableRGB: +
CVideoDevice::SetPalette picked palette 5 [rgb32]
RecalcTotalViewSize: resize viewport(704x288)
TakeSnapshot: stampimage = F, stampfile F, savetodisk = T, ftptoserver = F
CCamPanel::SetSize(352x288)
CCamPanel::SetImageSize(352x288)
CCamPanel::SetVisibleSize(352x288)
RecalcTotalViewSize: resize viewport(704x288)
Saving image to snapshot.jpg
TakeSnapshot: stampimage = F, stampfile F, savetodisk = T, ftptoserver = F
CCamPanel::SetSize(352x288)
CCamPanel::SetImageSize(352x288)
CCamPanel::SetVisibleSize(352x288)
RecalcTotalViewSize: resize viewport(704x288)
Saving image to snapshot.jpg
CWebCamViewer::~CWebCamViewer()
CWebCamViewer::StopTimeSnap()
CWebCamViewer::StopFTP()
CCamWindow::~CCamWindow()


[enzo@enzo6 ~]$ cat .camstream
<!DOCTYPE Configuration>
<config>
<defaults/>
<videodevices>
<videoconfiguration node="" name="Creative Instant P0620" >
<basename>snapshot</basename>
<textfont>null</textfont>
<textcolor>#ffff00</textcolor>
<timeinimage>false</timeinimage>
<fileformat>JPEG</fileformat>
<savetodisk>true</savetodisk>
<ftptoserver>false</ftptoserver>
<saveoption>1</saveoption>
<maxsequence>1000</maxsequence>
<sequence>0</sequence>
<ftpserver></ftpserver>
<ftppath></ftppath>
<ftpuser></ftpuser>
<ftppass></ftppass>
<ftppassive>false</ftppassive>
<ftpunique>true</ftpunique>
</videoconfiguration>
</videodevices>
</config>