Page suivante Page précédente Table des matières

3. Compilation du noyau

3.1 Déterminer le pilote à utiliser

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.

3.2 Tester la présence des modules :

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.

3.3 Compilation si nécessaire:

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.


Page suivante Page précédente Table des matières