Pour la démo, j'ai utilisé une webcam Philips, type PCA646VC/EU, sur port usb. Cette caméra est utilisable sous linux,
puisqu' un site est dédié à ces périphériques Philips.
Et comme le scanner, celle ci m'a été prèté par Monsieur Armand!
Voici ce que dit le noyau et le démon usbmgr (cf page scanner), lors du branchement de la webcam:
D'après le site cité plus haut, il faut le module pwc.o au minimum, pour avoir une gestion de la webcam, mais comme Philips n'a pas donné
toutes les info en gpl, il y a un second module pwcx.o à récupérer mais celui là est pré-compilé. Ce sera un peu plus difficile
à le charger, mais pas impossible, et en plus, il est efficace!
$ sudo tail -f /var/log/syslog
Mar 29 04:37:10 localhost kernel: pwc Philips PCA646VC USB webcam detected.
Mar 29 04:37:10 localhost kernel: pwc Registered as /dev/video0.
Mar 29 04:37:10 localhost kernel: usb.c: Philips webcam driver claimed interface c7959620
Mar 29 04:37:11 localhost usbmgr[2714]: vendor:0x471 product:0x303
Mar 29 04:37:11 localhost usbmgr[2714]: class:0x1 subclass:0x2 protocol:0x0
Mar 29 04:37:11 localhost usbmgr[2714]: USB device is matched the configuration
Mar 29 04:37:11 localhost usbmgr[2714]: "pwc" was loaded
Mar 29 04:37:12 localhost usbmgr[2714]: start //etc/usbmgr/vendor/0471/0303/script
Mar 29 04:37:13 localhost kernel: usb.c: audio driver claimed interface c7959650
Mar 29 04:37:13 localhost kernel: usbaudio: device 4 audiocontrol interface 1 has 1 input and 0 output AudioStreaming interfaces
Mar 29 04:37:13 localhost kernel: usbaudio: device 4 interface 2 altsetting 0 FORMAT_TYPE descriptor not found
Mar 29 04:37:13 localhost kernel: usbaudio: valid input sample rate 44100
Mar 29 04:37:13 localhost kernel: usbaudio: device 4 interface 2 altsetting 1: format 0x00000010 sratelo 44100 sratehi 44100 attributes 0x00
Mar 29 04:37:13 localhost kernel: usbaudio: valid input sample rate 32000
Mar 29 04:37:13 localhost kernel: usbaudio: device 4 interface 2 altsetting 2: format 0x00000010 sratelo 32000 sratehi 32000 attributes 0x00
Mar 29 04:37:13 localhost kernel: usbaudio: valid input sample rate 24000
Mar 29 04:37:13 localhost kernel: usbaudio: device 4 interface 2 altsetting 3: format 0x00000010 sratelo 24000 sratehi 24000 attributes 0x00
Mar 29 04:37:13 localhost kernel: usbaudio: valid input sample rate 22050
Mar 29 04:37:13 localhost kernel: usbaudio: device 4 interface 2 altsetting 4: format 0x00000010 sratelo 22050 sratehi 22050 attributes 0x00
Mar 29 04:37:13 localhost kernel: usbaudio: valid input sample rate 16000
Mar 29 04:37:13 localhost kernel: usbaudio: device 4 interface 2 altsetting 5: format 0x00000010 sratelo 16000 sratehi 16000 attributes 0x00
Mar 29 04:37:13 localhost kernel: usbaudio: valid input sample rate 12000
Mar 29 04:37:13 localhost kernel: usbaudio: device 4 interface 2 altsetting 6: format 0x00000010 sratelo 12000 sratehi 12000 attributes 0x00
Mar 29 04:37:13 localhost kernel: usbaudio: valid input sample rate 11025
Mar 29 04:37:13 localhost kernel: usbaudio: device 4 interface 2 altsetting 7: format 0x00000010 sratelo 11025 sratehi 11025 attributes 0x00
Mar 29 04:37:13 localhost kernel: usbaudio: valid input sample rate 8000
Mar 29 04:37:13 localhost kernel: usbaudio: device 4 interface 2 altsetting 8: format 0x00000010 sratelo 8000 sratehi 8000 attributes 0x00
Mar 29 04:37:13 localhost kernel: usbaudio: registered dsp 14,19
Mar 29 04:37:13 localhost kernel: usbaudio: constructing mixer for Terminal 2 type 0x0101
Mar 29 04:37:13 localhost kernel: usbaudio: no mixer controls found for Terminal 2
Mar 29 04:37:13 localhost kernel: usb_audio_parsecontrol: usb_audio_state at c4bbde60
Mar 29 04:37:13 localhost kernel: usb.c: audio driver claimed interface c7959638
Mar 29 04:37:13 localhost kernel: usb.c: kusbd: /sbin/hotplug add 4
Mar 29 04:37:13 localhost kernel: usb.c: kusbd policy returned 0xfffffffe
Attention, il y a des options à intégrer dans le noyau:
Pour l'utilisation de la webcam, il vous faut donc, des modules de gestion du périphérique, et un logiciel pour voir les images!
Pour xawtv, j'ai quelques soucis:
celui ci me met bien une fenetre de 353x264 environ, mais si je demande une copie d'écran, j'ai une photo en 128x96, et en plus
à moitié parasitée! (image probleme.jpeg). De plus, si je demande le mode capture du
logiciel, celui-ci met donne encore une fois, une image en 128x96! Par contre, là, la copie d'écran refonctionne bien (pas de parasitage).
Mais le plus extraordinaire, c'est que, au moin UNE fois, la copie d'écran en 353x264 a fonctionné!
Pour l'instant, je cherche une solution.
01/04/2002 (et ce n'est pas un poisson):
Pour faire mes essais, voilà ce que je fait:
$ sudo rmmod pwcx
$ sudo rmmod pwc
$ sudo insmod pwc
Si j'execute xawtv, il n'y a aucun problème, j'ai mon image en "vignette", et ma copie d'écran aussi
$ sudo insmod -f pwcx
J'execute xawtv, toujours aucun problème, j'ai mon image en 353x264, mais la copie d'écran est toujours
petite, voir parasitée! Est-ce donc le module?
Je suis passé au kernel 2.4.18, permettant (au minimum) d'avoir moins de problèmes avec le module pwcx-i386
j'ai modifié les parametres de la carte vidéo, et passé en 16bpp
J'ai rectifié le périphérique /dev/video0 (j'étais ces dernier temps, en 80-0 au lieu de 81-0!).
Tout cela m'a permis d'utiliser la webcam en mode 352x288, enfin!
Essai avec xawtv:
la capture ne fonctionne pas, puisque je me retrouve encore avec une petite image!, voir petite ET parasitée!!!!!!!!!!!!!!!!!!!
Ca marche, c'est indéniable! mais avec quelques réserves:
Dernièrement, j'ai eu une de cette webcam en prêt (par J. Lustik
Le premier essai avec le noyau 2.4.18 recompilé moi même, n'a pas été fructueux: webcam reconnue par aucun modules ni par l'usbmgr.
Après une rapide recherche sur l'internet, je trouve un lien vers http://qce-ga.sourceforge.net/,
qui est le site de référence pour le module de gestion des webcams logitech (et équivalentes). J'ai récupéré le module pour le noyau
(qce-ga-0.40c.tar.gz à la date du 12 janvier 2003), puis après détarage, compilation, installation, l'essai fut... désastreux,
puisqu'il a réussi à me geler complètement le serveur X, puis la machine!!!
Je n'en reste pas là, et en cherchant bien, je m'apperçois qu'il existe un paquet debian de module qce:
Il y a les sources du module, ainsi qu'une version déjà compilée. Je sens donc la recompilation dans l'air:
$ apt-cache search qce
qce-source - source code for QuickCam Express kernel module
qce-modules-2.4.18 - kernel module for QuickCam Express
A présent, dans la section 'kernel/drivers/media/video Cartes TV/Video', j'active le module 'c-qcam + QuickCam Colour Video For Linux'.
$ sudo apt-get install qce-source
$ cd /usr/src
# tar xzvf qce-modules.tar.gz
# cd linux
# make-kpkg --revision=voyager.0.1 kernel-image
# make-kpkg --revision=voyager.0.1 modules-image
# cd ..
# dpkg -i kernel-image-2.4.18_voyager.0.1_i386.deb
# dpkg -i qce-modules-2.4.18_0.40c-2+2.4.18+voyager.0.1_i386.deb
# modconf
Maintenant, le teste: je lance camstream, et ô surprise, ça marche:
L'usbmgr ne reconnait pas la webcam, c'est normal, mais le noyau, lui, le reconnait. Et camstream me propose comme périphérique vidéo, une logitech.
Bref, que du bonheur :)
$ sudo tail -f /var/log/syslog
Jan 14 22:03:06 localhost kernel: Colour QuickCam for Video4Linux v0.05
Jan 14 22:03:27 localhost kernel: usb.c: registered new driver quickcam
Jan 14 22:04:22 localhost kernel: uhci.c: ff80: wakeup_hc
Jan 14 22:04:22 localhost kernel: uhci.c: root-hub INT complete: port1: 93 port2: 80 data: 2
Jan 14 22:04:22 localhost kernel: hub.c: port 1 connection change
Jan 14 22:04:22 localhost kernel: hub.c: port 1, portstatus 101, change 1, 12 Mb/s
Jan 14 22:04:22 localhost kernel: hub.c: port 1, portstatus 103, change 0, 12 Mb/s
Jan 14 22:04:22 localhost kernel: hub.c: USB new device connect on bus1/1, assigned device number 2
Jan 14 22:04:22 localhost kernel: usb.c: kmalloc IF c464de00, numif 1
Jan 14 22:04:22 localhost kernel: usb.c: new device strings: Mfr=0, Product=1, SerialNumber=0
Jan 14 22:04:22 localhost kernel: usb.c: USB device number 2 default language ID 0x409
Jan 14 22:04:22 localhost kernel: Product: Camera
Jan 14 22:04:22 localhost kernel: USB Quickcam Class ff SubClass ff idVendor 46d idProduct 870
Jan 14 22:04:22 localhost kernel: USB Quickcam camera found using: $Id: quickcam.c,v 1.102 2002/03/25 22:22:34 jfclere ExpJan 14 22:04:22 localhost kernel: quickcam: probe of HDCS1000 sensor = 08 02 id: 08
Jan 14 22:04:22 localhost kernel: quickcam: HDCS1000 sensor detected
Jan 14 22:04:22 localhost kernel: usb.c: quickcam driver claimed interface c464de00
Jan 14 22:04:22 localhost kernel: usb.c: kusbd: /sbin/hotplug add 2
Jan 14 22:04:22 localhost kernel: usb.c: kusbd policy returned 0xfffffffe
Jan 14 22:04:23 localhost usbmgr[398]: vendor:0x46d product:0x870
Jan 14 22:04:23 localhost usbmgr[398]: class:0xff subclass:0xff protocol:0xff
Jan 14 22:04:23 localhost usbmgr[398]: USB device isn't matched the configuration