Si la doc constructeur n'est pas suffisamment explicite ou si vous ignorez quel module il vous faudra utiliser, vous pouvez récupérer l'information, concernant le chipset utilisé (et donc le module) par la webcam, directement sur le port USB.
Évidemment vous raccordez la webcam au PC, et si le module usb est disponible vous faites :
modprobe usb-uhci
mount -t usbdevfs NONE /proc/bus/usb
less /proc/bus/usb/devices
Dans les informations qui s'affichent, à la ligne commençant par "P:" (pour une webcam OmniVision, par exemple) vous aurez:
P: Vendor=05a9 ProdID=a511 Rev=1.00
Dans ce cas, cela vous indique l'ID constructeur 05a9, sur le site /www.linux-usb.org/usb.ids vous recherchez O5a9 et vous trouvez :
05a9 OmniVision Technologies, Inc.
0511 OV511 WebCam
0518 OV518 WebCam
a511 OV511+ WebCam
a511 utilisera donc le module ov511.o (OV511+).
Ce descriptif est assez important, car par exemple pour une WebCam Mustek le modèle WCam3x utilise OV511 et le modèle WCam300 utilise CPiA.
Si votre système ne prend pas encore en charge le support USB, il vous faut commencer par recompiler le noyau avant de pouvoir effectuer ce test.
Avant de vous lancer dans la compilation du noyau, vérifiez si votre système ne contient déjà les modules.
Si vous devez utiliser un autre pilote que le OV511, vous remplacez ov511.o par cpia.o ou pwc.o ou mod_quickcam.o.
find /lib/modules -name "ov511.o"
si le module existe, le système retourne une ligne ressemblant à
pour un noyau 2.2.16:
/lib/modules/2.2.16-22/misc/ov511.o
pour un noyau 2.4.7 :
/lib/modules/2.4.7-2/kernel/drivers/usb/ov511.o
Si vous obtenez une ligne vide, il vous faut recompiler le noyau !
on continue en vérifiant la présence du module de video4linux
find /lib/modules -name "videodev.o"
vous pouvez également faire la vérification pour le module usb
find /lib/modules -name "uhci.o"
Pour gérer le support USB, vous devez utiliser l'un des pilotes UHCI (pour Intel...) avec le module uhci.o, ou OHCI (pour Compaq, iMac et autres) avec le module ohci.o.
Vous trouverez une documentation sur le module à utiliser pour votre WebCam, dans les docs des sources du noyau:
/usr/src/2.4.7-2/Documentation/usb/ov511.txt , philips.txt, ibmcam.txt...etc.
La compilation du noyau doit être effectuée par l'administrateur système, donc sous compte root.
J'utilise la version 2.4.7-2, vous adaptez à votre version du noyau, c'est parti:
/usr/src/linux doit être un lien symbolique de /usr/src/2.4.7-2 , sinon vous entrez la commande :
ln -s /usr/src/2.4.7-2 /usr/src/linux
et vous continuez avec :
cd /usr/src/2.4.7-2 make mrproper make xconfig
Activez le support USB, section USB support, voir figure 1et 2.
Si vous utilisez uhci, vous pouvez essayer "UHCI Alternate Driver" plus performant, mais le plantage n'est pas exclus.
Activez le support Video4Linux, section Character devices ->Multimedia devices ->Video for Linux, voir figure 3.
Enfin activez le pilote pour votre webcam:
Pour ov511cela se trouve dans la section USB support -> USB OV511 Camera support, voir figure 4.
Pour cpia cela se situe à la section Character devices ->Multimedia devices ->Video for Linux ->CPIA Video for Linux, voir figure 5.
Ensuite il suffit de tapez les traditionnelles commandes :
make dep make clean make bzImage make modules make modules_install
puis copier le nouveau noyau sous /boot :
cp arch/386/boot/bzImage /boot/vmlinuz-2.4.7-usb
N'oubliez pas d'éditer votre /etc/lilo.conf pour ajouter une entrée pour ce noyau, puis de relancer lilo pour que la modification soit prise en compte.
Votre fichier /etc/lilo.conf peut ressembler à cela:
boot=/dev/hda2 map=/boot/map install=/boot/boot.b timeout=50 default=linux image=/boot/vmlinuz-2.4.7-usb label=linux_2.4 initrd=/boot/initrd-2.4.7-usb.img read-only root=/dev/hda2 image=/boot/vmlinuz-2.4.7 label=linux initrd=/boot/initrd-2.4.7.img read-only root=/dev/hda2 other=/dev/hda1 label=dos table=/dev/hda
Redémarrer votre système avant de pouvoir charger les modules.