WebCam Philips SPC710NC sous Fedora7
La SPC710NC ne fonctionne pas avec le dernier driver gspca en ligne au 18/10/2007 : gspca-20070508.tar.gz
En modifiant le source afin de reprendre les parametres du modele SPC700NC
ma webcam fonctionne enfin avec camstream
Le très bon driver gspca utilise les identifiants de constructeur et de no id pour compiler le driver
qui correspond a la webcam utilisée
par ex : la webcam philips 710NC possède les identifiants suivants : ID 0471:0330
0471 : le constructeur philips et 0330 : le modele de la camera
Pour connaitre les identifiants de la webcam, utilisez
/sbin/lsusb
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 002: ID 0471:0330 Philips
Bus 003 Device 001: ID 0000:0000
Bus 001 Device 003: ID 1019:0c55
Bus 001 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Comment faire :
1) avoir les sources de la version du kernel utilise (kernel-devel rpm dans insta de nouveaux logiciels)
2) télécharger la derniere version de gspca :
http://mxhaard.free.fr/download.html
3) décompresser l'archive : tar -xvzf gspca-20070508.tar.gz
4) editer le fichier gspca_core.c
5) repérer la ligne 374 qui contient PhilipsSPC700NC,
- dupliquer cette ligne et la modifier en PhilipsSPC710NC,
6) meme chose pour la ligne 565 {PhilipsSPC700NC, "Philips SPC700NC "},
ajouter {PhilipsSPC710NC, "Philips SPC710NC "},
7) meme chose ligne 755 {USB_DEVICE(0x0471, 0x0328)}, /* Philips SPC 700 NC */,
ajouter une ligne {USB_DEVICE(0x0471, 0x0330)}, /* Philips SPC 710 NC */
8) et enfin a la ligne 4041 le bloc de lignes
case 0x0328:
spca50x->desc = PhilipsSPC700NC;
spca50x->bridge = BRIDGE_SN9CXXX;
spca50x->sensor = SENSOR_MI0360;
spca50x->customid = SN9C105;
spca50x->i2c_ctrl_reg = 0x81;
spca50x->i2c_base = 0x5d;
break;
ajouter le bloc
case 0x0330:
spca50x->desc = PhilipsSPC710NC;
spca50x->bridge = BRIDGE_SN9CXXX;
spca50x->sensor = SENSOR_MI0360;
spca50x->customid = SN9C105;
spca50x->i2c_ctrl_reg = 0x81;
spca50x->i2c_base = 0x5d;
break;
c'est tout pour le driver
concernant le shell d'installation : gspca_build.sh
pour la fedora7 le repertoire /sbin ou se trouvent les programmes tel que
modprobe n'est pas implicitement dans le path, donc soit l'inclure dans le path
ou modifier le prog en ajoutant /sbin/ devant les lignes contenant des appels aux
programmes du repertoire sbin
voici le résultat
fichier gspca_build :
#!/bin/bash
WHO=`whoami`
KERNELVER=`uname -r`
SRCDIR=/lib/modules/$KERNELVER/build
if [ $WHO != "root" ]; then
echo -e '\E[31;44m'
echo -e '\E[1m FATAL !! you must be root to run this script\E[0m'
exit 1
fi
if [ ! -d $SRCDIR/include/linux ]; then
echo -e '\E[31;44m'
echo -e '\E[1m FATAL you need to install the Kernel Source for your running kernel\E[0m'
exit 1
fi
echo -e '\E[1;33;44m'
echo -e '\E[1m REMOVE the old module if present\E[0m'
/sbin/rmmod gspca
echo -e '\E[1;33;44m'
echo -e '\E[1m CLEAN gspca source tree\E[0m'
make clean
echo -e '\E[1;33;44m'
echo -e '\E[1m COMPILE gspca Please Wait ....!!\E[0m'
make >& kgspca.err
echo -e '\E[1;33;44m'
echo -e '\E[1m INSTALL gspca in the kernel binary tree\E[0m'
make install
echo -e '\E[1;33;44m'
echo -e '\E[1m LOAD gspca in memory \E[0m'
/sbin/modprobe gspca
echo -e '\E[1;33;44m'
echo -e '\E[1m PRINT COMPILATION MESSAGES if ERRORS look kgspca.err \E[0m'
cat kgspca.err
//
une fois les modif enregistrées faire en mode console dans le repertoire de gspca
la commande : ./gspca_build
verifier dans les log systèmes et avec camstream
cette bidouille peut sans doute fonctionner sur d'autres modèles en utilisant les reglages d'un modèle
approchant
Eric