# [webcam] Installation

## BENJI

Bonjour,

Pourriez-vous m'aider à installer ma webcam.

Je me base sur ce wiki mais je suis rapidement coincé.

http://en.gentoo-wiki.com/wiki/Webcam

Voici ce que me renvoie lsusb

```
Bus 001 Device 002: ID 046d:08b4 Logitech, Inc. QuickCam Zoom
```

Mais ensuite comment savoir quel driver correspond à ce modèle.

J'ai fait une recherche. Sous debian il semble que ce soit un paquet nommé pwc car qc-usb ne reconnait pas ma webcam (http://www.guim.info/dokuwiki/debian/quickcam).

Toutefois, une recherche dans portage ne me donne rien, pwc n'a pas l'air d'en faire partie. Il a peut-être un autre nom.

Ensuite j'ai vérifié dans le noyau ma webcam n'a pas l'air de faire partie des generic connu du noyau.

Bref je suis dans l'impasse

Pouvez-vous m'aider ?

Mon noyau est le linux-2.6.29-gentoo-r5

----------

## ghoti

Je n'ai pas de webcam mais après une recherche sommaire, je m'intéresserais à priori à media-video/setpwc : sa homepage mentionne entre autre la page de Luc Saillard, le nouveau mainteneur du driver pwc  :Wink: 

----------

## BENJI

Il semblerait que setpwc soit juste une couche permettant le réglage de la webcam qui au préalable doit fonctionner avec le driver pwc.

Je suis bon pour compiler le module du driver pwc et patcher mon noyau si j'ai bien lu!

J'ai jamais fait ça, alors même si il y a des instructions sur le site ça vous dérange de m'aider pas à pas ?

----------

## yotoo

Bonjour,

Je suis allé jeter un petit coup d'œil sur le site kernel newbies et il semblerait que le driver pwc soit intégré au noyau depuis la version 2.6.22.

http://kernelnewbies.org/Linux_2_6_22#head-ae3a87b2831cd3592abb434ea665099bdc1af522

En espérant que ça puisse t'aider.

----------

## ghoti

 *BENJI wrote:*   

> Il semblerait que setpwc soit juste une couche permettant le réglage de la webcam qui au préalable doit fonctionner avec le driver pwc.

 

Ben oui mais as-tu lu le site de Luc Saillart (lien plus haut ...) ?

 *Quote:*   

> If you don't want to patches your kernel, just grab the tarball, and do a make to build the module (or better read the INSTALL.en)

 

Il y a un lien vers un INSTALL.fr plus bas dans la page.

Difficile d'être plus clair que ce fichier !  :Wink: 

----------

## titoucha

 *yotoo wrote:*   

> Bonjour,
> 
> Je suis allé jeter un petit coup d'œil sur le site kernel newbies et il semblerait que le driver pwc soit intégré au noyau depuis la version 2.6.22.
> 
> http://kernelnewbies.org/Linux_2_6_22#head-ae3a87b2831cd3592abb434ea665099bdc1af522
> ...

 

Exacte je viens de contrôler dans un kernel 2.6.30 et l'option se nomme "USB_PWC"

----------

## ghoti

 *yotoo wrote:*   

> Je suis allé jeter un petit coup d'œil sur le site kernel newbies et il semblerait que le driver pwc soit intégré au noyau depuis la version 2.6.22.

 

Bravo ! Bien vu !  :Smile: 

----------

## BENJI

 *titoucha wrote:*   

> Exacte je viens de contrôler dans un kernel 2.6.30 et l'option se nomme "USB_PWC"

 

J'ai probablement dû passer à côté car je ne l'ai pas vu en cherchant avant d'ouvrir ce post.

Peux-tu me dire dans quelle section il se trouve exactement car j'ai un noyau 2.6.29 et non 30 ?

M'enfin si il est là depuis la version .22 ça doit pas changer grand chose.

Merci pour les info en tout cas. Je vous donne des nouvelles dès que j'en ai.

----------

## xaviermiller

quand tu es dans le menu "make menuconfig", tapes "/" et ce terme, tu trouveras où se trouve l'option  :Wink: 

----------

## BENJI

Comme sous "vi"   :Very Happy: 

Je savais pas merci !

----------

## BENJI

Voilà j'ai recompilé le noyau avec le driver qui va bien (dans l'aide ça fait plaisir de trouver en toute lettre le nom de ma webcam).

Maintenant je me dis qu'il faut que je charge le module mais c'est quoi son petit nom ?

Au pif modprobe pwc et ça marche

lsmod | grep pwc me renvoie

```
ataualpa linux # lsmod | grep pwc

pwc                    83324  0

videodev               33736  1 pwc
```

Que j'ai ensuite ajouté au fichier : /etc/modules.autoload.d/kernel-2.6 pour qu'il se charge automatiquement.

 :Question:  J'ai une question sur le noyau.

Mon noyau 2.6.29 date de deux jours et pour obtenir le module pwc, j'ai dû le recompiler aujourd'hui. Faut-il que je recopie la nouvelle bzimage sous /boot ou c'est inutile ?

N'hésitez pas à me dire si j'ai fais une erreur.

le dmesg me donne ça

```

Linux video capture interface: v2.00

pwc: Philips webcam module version 10.0.13 loaded.

pwc: Supports Philips PCA645/646, PCVC675/680/690, PCVC720[40]/730/740/750 & PCVC830/840.

pwc: Also supports the Askey VC010, various Logitech Quickcams, Samsung MPC-C10 and MPC-C30,

pwc: the Creative WebCam 5 & Pro Ex, SOTEC Afina Eye and Visionite VCS-UC300 and VCS-UM100.

pwc: Trace options: 0x0001

pwc: Logitech QuickCam Zoom (new model) USB webcam detected.

pwc: Registered as /dev/video0.

usbcore: registered new interface driver Philips webcam
```

J'ai bien une entrée /dev/v4l.

Et pour finir j'ai installer media-tv/xawtv pour lancer la commande v4l-info qui me donne :

```
ataualpa linux #

        name                    : "Webcam"

        tuners                  : 0

        flags                   : 0x0 []

        type                    : CAMERA

        norm                    : 0

tuner

ioctl VIDIOCGTUNER: Invalid argument

audio

    VIDIOCGAUDIO

        audio                   : -1

        volume                  : 0

        bass                    : 0

        treble                  : 0

picture

    VIDIOCGPICT

        brightness              : 32256

        hue                     : 65535

        colour                  : 32768

        contrast                : 32768

        whiteness               : 49152

        depth                   : 24

        palette                 : YUV420P

buffer

    VIDIOCGFBUF

        base                    : (nil)

        height                  : 0

        width                   : 0

        depth                   : 0

        bytesperline            : 0

window

    VIDIOCGWIN

        x                       : 0

        y                       : 0

        width                   : 160

        height                  : 120

        chromakey               : 0

        flags                   : 655360
```

Si je comprends bien la résolution est de 160 par 120... c'est pas un peu petit ça ? Il me semblait que c'était plutôt 640X480   :Question:  Vous en pensez quoi

----------

## brubru

Salut.

pour ton BzImage, non c'est bon, si tu n'a fais qu'ajouter un module, le noyau n'a pas été modifié donc un simple make modules_install suffit (en général).

Concernant, la webcam, j'ai une Philips PCVC680K (Vesta Pro) qui utilise aussi pwc. Et pour avoir les grandes résolutions c'est un peu compliqué:

Ces webcams datent de l'USB1 (lent) et donc pour avoir une grande résolution, le flux vidéo est compressé. Le premier module pwc utilisait un module proprio pour décompresser cela; Luc Sailllard a retro-ingénieré tous ça mais cela imposait de mettre le code de décompression dans le kernel, ce qui est techniquement mal. Les patchs sur le site de Luc Saillard le font mais cela n'a jamais été inclus dans le noyau. Finalement, la webcam peut envoyer le flux brut compressé directement en userspace. Il faut alors une application/bibliothèque (peut-être intégrée avec libv4l) pour faire la décompression. Là je sais pas ou ça en est. Mais bon mes informations datent un peu (2005 au moins). Ça a du évoluer depuis, car là j'arrive à avoir du 640x480@15fps avec camstream, mais quand j'augmente le fps ça plante. Oui, comme ç'est la bande passante de l'usb qui détermine tout, pour avoir une grande résolution, il faut baisser le rafraîchissement (et inversement).

pour tester la webcam:

 - camstream (qt3) (supporte des extensions philips)

 - camorama (gtk)

 - w3cam (mode texte) vidcat permet de faire des acquisition avec ≠ formats

voir aussi le wiki: http://www.lavrsen.dk/twiki/bin/view/PWC/WebHome

et la FAQ qui donne des infos sur les résolutions supportées en fonction du modèle.

----------

## BENJI

Merci pour ta réponse.

Sur le wiki voilà ce qui est dit pour ma webcam dans la liste des périphériques fonctionnant avec pwc :

 *Quote:*   

> Logitech QuickCam Zoom (On some webcam likes Quickcam Zoom Silver (usb product ID: 046d:08b4), you need to set module option: power_save=1 )

 

Je suppose que pour régler le paramètre power_save=1 il faut que j'installe setpwc non ?

Par contre je n'ai pas vu où dans la FAQ il y avait une correspondance entre les résolutions supportées et les modèles !

Ce n'est pas très clair pour moi ai-je également besoin de patcher le noyau ? De ce que tu me dis j'ai plutôt intérêt, non ?

----------

## brubru

 *BENJI wrote:*   

> Merci pour ta réponse.
> 
> Sur le wiki voilà ce qui est dit pour ma webcam dans la liste des périphériques fonctionnant avec pwc :
> 
>  *Quote:*   Logitech QuickCam Zoom (On some webcam likes Quickcam Zoom Silver (usb product ID: 046d:08b4), you need to set module option: power_save=1 ) 
> ...

 

Non, c'est un paramètre du module (cf /sbin/modinfo pwc) donc soit modprobe pwc power_save=1 ou à ajouter dans /etc/modprobe.d/*

 *Quote:*   

> 
> 
> Par contre je n'ai pas vu où dans la FAQ il y avait une correspondance entre les résolutions supportées et les modèles !
> 
> 

 

Je pensais à ces tableaux: http://www.lavrsen.dk/foswiki/bin/view/PWC/FrequentlyAskedQuestionsPWC#The_box_says_I_can_take_images_a,

les modèles sont: PCA 645/646* & VC010, PCVC 675/680/690 ou PCVC 730/740/750. Reste à trouver à quoi correspond ton modèle..

 *Quote:*   

> 
> 
> Ce n'est pas très clair pour moi ai-je également besoin de patcher le noyau ? De ce que tu me dis j'ai plutôt intérêt, non ?

 

Bah oui, mais je ne sais pas si les patchs passent pour les noyau récents. De mémoire, gentoo avait un paquet usb-pwc-re qui installait la version standealone du module de Luc Saillard mais il a été enlevé de portage car il ne compilait plus sur des noyau récents. Mais peut-être que les patchs noyaux sont toujours à jour.

Tu peux aussi trouver des informations plus récentes sur la mailling list : http://lists.saillard.org/pipermail/pwc/

----------

## BENJI

le dernier patch dispo ici était pour le noyau 2.6.15 en 2006...

Je crois que patcher ne va pas m'apporter grand chose. De ce côté là c'est mort à mon avis !

Après il y a d'autres patch mais je n'ai pas compris à quoi ils servent (exemple :   linux-v4l_pwc.10.0.12-1.patch.bz2) sachant que la version de mon module est la 10.0.13 

```
extrait de dmesg

pwc: Philips webcam module version 10.0.13 loaded.
```

Ensuite j'ai planché sur la version de mon modèle !

ça semble être le PCVC 740 car en installant setpwc et en lui demandant d'afficher la conf actuelle (setpwc -p) voilà le retour :

```
ataualpa ben # setpwc -p

setpwc v1.2, (C) 2003-2006 by folkert@vanheusden.com

Current device: Logitech QuickCam Zoom

VIDIOCPWCPROBE returns: Logitech QuickCam Zoom - 740

Serial number:

Resolution (x, y): 160, 120

Offset: 0, 0

Framerate: 10

Brightness: 32256

Hue: 65535

Colour: 32768

Contrast: 32768

Whiteness: 49152

Palette: YUV 4:2:0 Planar

Compression preference: 1

Automatic gain control: -25815

Whitebalance mode: auto

Blinking of LED is not supported by the combination

of your webcam and the driver.

Sharpness: -1

Backlight compensation mode: off

Anti-flicker mode: on

Noise reduction mode: 1

Pan/tilt range is not supported by the combination

of your webcam and the driver.

Get pan/tilt position is not supported by the combination

of your webcam and the driver.
```

La ligne VIDIOCPWCPROBE returns: Logitech QuickCam Zoom - 740  semble indiqué qu'il s'agit du modèle PCVC 740 et si j'en crois le tableau auxquel tu fais réfrence... ce sera du 160 X 120 point à la ligne. Tu confirmes  :Question: 

Le mieux maintenant c'est que j'essaye d'avoir une image et que j'augmente le framerate. Vous avez une solution rapide pour faire ça ?

Merci.

Une dernière j'ai jamais utilisé encore /etc/modprobe.d/

pour changer une option au module un simple :

```
echo "power_save=1" >> /etc/modprobe.d/pwc 
```

suffit-il  :Question: 

Tiens ça ça peut aider peut-être !

```
ataualpa ben # /sbin/modinfo pwc

filename:       /lib/modules/2.6.29-gentoo-r5/kernel/drivers/media/video/pwc/pwc.ko

version:        10.0.13

alias:          pwcx

license:        GPL

author:         Luc Saillard <luc@saillard.org>

description:    Philips & OEM USB webcam driver

srcversion:     5543926750BEFABCCC4425B

alias:          usb:v0D81p1900d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0D81p1910d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v06BEp8116d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v04CCp8116d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v041Ep4011d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v041Ep400Cd*dc*dsc*dp*ic*isc*ip*

alias:          usb:v055Dp9002d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v055Dp9001d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v055Dp9000d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v046Dp08B8d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v046Dp08B7d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v046Dp08B6d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v046Dp08B5d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v046Dp08B4d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v046Dp08B3d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v046Dp08B2d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v046Dp08B1d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v046Dp08B0d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v069Ap0001d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0471p0329d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0471p0313d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0471p0312d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0471p0311d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0471p0310d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0471p030Cd*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0471p0308d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0471p0307d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0471p0304d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0471p0303d*dc*dsc*dp*ic*isc*ip*

alias:          usb:v0471p0302d*dc*dsc*dp*ic*isc*ip*

depends:        videodev

vermagic:       2.6.29-gentoo-r5 mod_unload PENTIUMIII

parm:           size:Initial image size. One of sqcif, qsif, qcif, sif, cif, vga (charp)

parm:           fps:Initial frames per second. Varies with model, useful range 5-30 (int)

parm:           fbufs:Number of internal frame buffers to reserve (int)

parm:           mbufs:Number of external (mmap()ed) image buffers (int)

parm:           trace:For debugging purposes (int)

parm:           power_save:Turn power save feature in camera on or off (int)

parm:           compression:Preferred compression quality. Range 0 (uncompressed) to 3 (high compression) (int)

parm:           leds:LED on,off time in milliseconds (array of int)

parm:           dev_hint:Device node hints (array of charp)
```

----------

## brubru

Salut.

Pour tester le changement de résolution/framerate, le mieux, je trouve c'est camstream. En parallèle, dmesg indique des informations. Moi en 640x480, camstream plante quand je veux passer à 15fps, le module ne se décharge plus et il y a un joli oops dans dmesg.

Pour /etc/modprobe.conf, je dirais

```
echo "options pwc power_save=1" >> /etc/modprobe.d/pwc
```

puis

```
update-modules

```

en cas de doute: man modprobe.conf

mais tester d'abord manuellement avec la commande 'modprobe pwc power_save=1' pour voir si ça change quelque chose.

----------

## BENJI

J'ai essayé camstream mais c'est très lent.

Curieusement avec camstream la conf de départ c'est 176x144 à 10fps.

J'ai pu la monter jusque  30fps.

Mais dès que j'ai changé la résolution la webcam affichait toujours la même image et l'interface se figeait complètement.

J'avais pas beaucoup de temps alors j'ai pas pu insister.

J'ai également essayé motion mais je ne comprends pas où l'on gère le nom du répertoire qui dois accueillir toutes les images que prendra la webcam.

----------

## BENJI

ça y est j'ai trouvé c'est la variable target_dir /le/chemin/du/repertoire.

Enfin je crois parce que pour le moment j'ai aucune image dans ce répertoire et pourtant j'ai lancé le service /etc/init.d/motion

----------

