8.4. Configuration des ports de communication

Les ports de communication sont les seuls moyens de communication de l'ordinateur avec d'autres appareils, et sont donc essentiels au même titre que les réseaux.

Historiquement, les plus vieux ports de communication utilisés sont sans doute les ports série, qui permettent de connecter une multitude de périphériques en raison de sa grande simplicité. Les ports parallèles sont également courants, et sont encore souvent utilisés pour connecter les imprimantes. Cependant, ces ports souffrent de défauts indéniables, dont l'un des principaux est sans doute le faible débit de données qu'ils autorisent. Ils ne peuvent donc pas être utilisés pour les applications les plus exigeantes. C'est pour cela que les ports USB (abréviation de l'anglais « Universal Serial Bus ») et IEEE1394 (alias « FireWire ») ont été inventés.

Cette section présente la manière de configurer les différents ports de communication actuellement utilisés, à savoir le port parallèle, les ports série standards, et enfin les ports USB et IEEE1394.

8.4.1. Configuration du port parallèle

La configuration du port parallèle sous Linux est relativement automatique. Il suffit en effet, dans le programme de configuration du noyau, d'activer les options « Parallel port support », « PC-style hardware », « Use FIFO/DMA if available (EXPERIMENTAL) » et « IEEE 1284 transfer modes » du menu « Parallel port support ». Si vous désirez connecter une imprimante sur votre port parallèle, ce qui est généralement le cas, il vous faudra également activer l'option « Parallel printer support » du menu « Character devices ». De même, si vous désirez connecter un disque dur, un lecteur de CD-ROM ou un lecteur de bande sur votre port parallèle, vous devrez activer l'option « Parallel port IDE device support » du menu « Block devices », ainsi qu'au moins une des sous-options pour le type de périphérique à utiliser et un des modules de prise en charge des protocole de communication sur port parallèle.

Note : Le choix de ces options suppose que vous utilisiez un ordinateur de type PC ou dont la gestion du port parallèle se fait de la même manière que sur un PC.

Il est recommandé d'activer ces fonctionnalités sous forme de module du noyau et non au sein du noyau lui-même. En effet, le gestionnaire de ports parallèles utilise, par défaut, une interrogation périodique pour déterminer l'état des ports. Cela consomme inutilement des ressources de calcul, parce que l'on peut le configurer pour utiliser une interruption matérielle et soulager ainsi le processeur de cette tâche. De plus, cela permet de charger les modules de gestion du port parallèle à la demande, et de configurer celui-ci pour les différentes utilisations possibles : communication avec une imprimante parallèle, avec un lecteur ZIP, ou encore avec un lecteur de CD IDE, etc.

Afin d'utiliser une interruption matérielle pour le port parallèle, il est nécessaire de spécifier explicitement la ligne de cette interruption. Cela peut se faire avec l'option irq du module prenant en charge le port parallèle. Sur les ordinateurs de type PC, le nom de ce module est « parport_pc », mais, comme on l'a vu dans la Section 8.1.2, le noyau demande toujours le chargement du module « parport_lowlevel » pour des raisons de portabilité. Il faut donc définir un alias dans le fichier de configuration /etc/modules.conf.

Outre la ligne d'interruption à utiliser, le module parport_pc peut prendre en paramètre une autre option permettant d'indiquer le port d'entrée / sortie qu'il doit utiliser pour accéder au port parallèle. Cette option est l'option io. En général, le port utilisé est le port numéro 378h et la ligne d'interruption est souvent la 7. Les options suivantes doivent donc être définies dans le ficher module.conf pour obtenir un fonctionnement optimal du port parallèle sous Linux :

alias parport_lowlevel parport_pc
option parport_pc io=0x378 irq=7

D'autre options pourront être définies dans le fichier de configuration modules.conf pour prendre en charge les périphériques de type bloc connectés sur port parallèle. Cela est inutile pour les imprimantes connectées sur le port parallèle.

8.4.2. Configuration des ports série

Les ports série fournis en standard sur les cartes mères sont détectés et configurés automatiquement par le noyau lorsque l'ordinateur démarre. Pour que cela fonctionne, il suffit que l'option « Standard/generic (8250/16550 and compatible UARTs) serial support » du menu « Character devices » soit activée.

Cela dit, il se peut que votre ordinateur contienne un port série non standard, ou que vous ayez à sélectionner des options spécifiques pour votre matériel. Il vous faudra, dans ce cas, activer les options complémentaires relatives aux ports série dans le menu « Character devices ».

Le noyau n'est, en général, capable d'initialiser que les ports série standards intégrés dans les cartes mères (c'est-à-dire les ports COM1 à COM4), auxquels on accède, sous Linux, par l'intermédiaire des fichiers spéciaux de périphériques /dev/ttyS0 à /dev/ttyS3. Pour les autres ports série, il peut être nécessaire de les initialiser manuellement, par exemple dans un fichier de configuration lancé au démarrage du système.

Cette initialisation se fait à l'aide de la commande setserial, dont la syntaxe simplifiée est la suivante :

setserial fichier [uart type] [port adresse] [irq ligne]
fichier est le fichier spécial de périphérique permettant d'accéder au port série à initialiser, type est le type de port série utilisé, adresse est son adresse d'entrée / sortie et ligne est la ligne d'interruption qu'il utilise. La commande setserial dispose de nombreuses autres options. Je vous invite à en lire la page de manuel pour les découvrir.

Une fois le port série correctement initialisé, il est possible de fixer les paramètres de la ligne de communication avec la commande stty. Comme on l'a déjà vu précédemment, cette commande permet de fixer tous les paramètres des lignes de communication des terminaux et non seulement les paramètres des lignes série, et elle dispose donc d'un grand nombre d'options. Nous n'allons nous intéresser ici qu'aux options utilisés pour les lignes série. La page de manuel de stty pourra être consultée pour plus de détails.

La syntaxe à utiliser pour lire les paramètres de communication d'une ligne série est la suivante :

stty -a -F périphérique
périphérique est le fichier spécial de périphérique de la ligne. Si vous exécutez cette commande, vous constaterez qu'un grand nombre d'information est donné. Les informations les plus utiles sont sans doute speed, qui donne la vitesse de la ligne série, csN, qui donne le nombre N de bits de données par caractère, [-]parenb, qui indique si un bit de parité est utilisé ou non (auquel cas le caractère '-' est présent), [-]parodd, qui indique le type de parité utilisée (paire ou impaire selon la présence ou l'absence du caractère '-'), et [-]cstopb, qui indique le nombre de bits de stop utilisés (un ou deux selon la présence ou l'absence du caractère '-'). L'option [-]crtscts indique si le contrôle de flux matériel est utilisé ou non. À titre d'exemple, voici une sortie typique de la commande stty sur le premier port série :

speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <indéfini>;
eol2 = <indéfini>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl
ixon -ixoff -iuclc -ixany -imaxbel opost -olcuc -ocrnl
onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop
-echoprt echoctl echoke

Les mêmes options peuvent être utilsées pour fixer les paramètres de la ligne de communication. La ligne de commande à utiliser est alors la suivante :

stty -F périphérique options

Il existe une différence cependant : le paramètre permettant de fixer la vitesse de la ligne est décomposé en deux options ispeed pour le flux de données entrant et ospeed pour le flux de données sortant. On peut fixer la vitesse de la ligne avec l'option ispeed. Par exemple, pour faire passer la ligne de communication du deuxième port série à 115200 bauds, 7 bits de données, un bit de stop et une parité paire, il faut utiliser la ligne de commande suivante :

stty -F /dev/ttyS1 ispeed 115200 cs7 -cstopb parenb -parodd

Il est important de bien configurer les ports série avec les mêmes paramètres de ligne que ceux utilisés par les périphériques qui y sont connectés pour que la communication se fasse correctement.

8.4.3. Installation des périphériques USB

Bien qu'ayant eu quelques difficultés à ses débuts, le port USB est désormais en pleine expansion. Il s'agit d'une extension des ports série classiques, qui offre les avantages suivants :

Tous ces avantages font que le bus USB est appelé à remplacer les ports série que l'on connaît, et que l'on n'utilise plus désormais que pour les modems, les vieilles souris série et quelques appareils extérieurs. Notez que la simplicité du port série fera qu'il restera encore présents sur bon nombre d'appareils pour plusieurs années encore, mais les périphériques informatiques risquent de s'en détourner de plus en plus.

La gestion de l'USB sous Linux se fait au niveau du noyau en ce qui concerne les gestionnaires de périphériques, et au niveau applicatif pour la détection et la configuration dynamique des périphériques branchés à chaud. Linux est capable d'utiliser la plupart des périphériques USB existant actuellement sur le marché. La configuration à chaud des périphériques n'est en revanche pas encore tout à fait finalisée, bien que les mécanismes soient tous en place.

8.4.3.1. Configuration du noyau

La configuration des périphériques USB se fait, au niveau du noyau, dans le menu « USB support ». Il faut simplement activer l'option « Support for USB », sélectionner un gestionnaire pour le port USB et choisir les gestionnaires des différents types de périphériques que l'on voudra connecter sur la machine.

Il peut être utile d'activer l'option « Preliminary USB device filesystem » afin de pouvoir vérifier, dans le répertoire /proc/bus/usb/ du système de fichiers virtuel /proc/, que les périphériques USB connectés apparaissent bien. Ce système de fichiers doit être monté à l'aide de la commande suivante :

mount -t usbdevfs none /proc/bus/usb

pour pouvoir être utilisé. Il est également possible de le monter automatiquement dans le fichier /dev/fstab.

En fait, il existe deux types d'interfaces USB sur le marché : l'interface UHCI (abréviation de l'anglais « Universal Host Controller Interface »), spécifiée par Intel, et que les contrôleurs de la plupart des cartes mères utilisent (chipsets Intel et VIA), et l'interface OHCI (« Open Host Controller Interface »), spécifiée par Compaq, et qui est utilisée par les chipsets Compaq et ALi principalement. Ces deux interfaces sont incompatibles, vous devez donc sélectionner l'un des deux pilotes UHCI disponibles (options « UHCI (Intel PIIX4, VIA, ...) support » et « UHCI Alternate Driver (JE) support (NEW) »)) ou le pilote OHCI (option « OHCI (Compaq, iMacs, OPTi, SiS, ALi, ...) support ».

Comme vous pouvez le constater dans le menu de configuration du noyau, un grand nombre de périphériques USB sont gérés par Linux. Vous devez bien entendu activer les options permettant de prendre en charge votre matériel. Il est conseillé d'inclure ces fonctionnalités sous forme de modules afin de permettre le chargement dynamique des gestionnaires de périphériques. Cela est nécessaire pour la configuration des périphériques connectés à chaud dans le système.

Il existe cependant une exception : les périphériques d'entrée tels que le clavier et la souris devront, si possible, être inclus directement au sein du noyau afin d'éviter de se retrouver sans clavier et sans souris en cas de problème dans la configuration du système. Notez qu'il existe deux types de pilotes pour les périphériques d'entrée : un pilote général (option « USB Human Interface Device (full HID) support ), qui fonctionne avec tous les périphériques d'entrée du menu « Input core support », et des pilotes simplifiés (options « USB HIDBP Keyboard (basic) support » et « USB HIDBP Mouse (basic) support »), que l'on utilisera pour réaliser des systèmes embarqués ou des noyaux légers. Il est évidemment recommandé d'utiliser le premier pilote, si réellement le support du clavier USB est nécessaire (normalement, les claviers USB sont pris en charge par le BIOS de l'ordinateur et apparaissent exactement comme des claviers classiques pour le système d'exploitation).

8.4.3.2. Détection automatique des périphériques USB

Nous avons signalé ci-dessus que le bus USB permettait l'ajout et la suppression des périphériques USB à chaud, c'est-à-dire ordinateur allumé. C'est une nette progression par rapport aux anciens bus, qui n'ont jamais réellement accepté ce genre d'opération, tant du point de vue électrique (ils peuvent être détériorés) que du point de vue logiciel (le nouveau périphérique n'est pas détecté ou ne peut pas être configuré).

Les pilotes USB de Linux sont capables de détecter l'apparition d'un nouveau périphérique sur le bus USB et de réserver les ressources systèmes nécessaires à son utilisation, mais ils ne peuvent pas faire grand chose de plus. En effet, la configuration d'un nouveau matériel requiert des opérations dépendantes de celui-ci, telles que :

  • déterminer le gestionnaire à charger pour gérer ce nouveau périphérique ;

  • charger et configurer ce gestionnaire ;

  • signaler aux applications clientes l'apparition du périphérique.

Bien entendu, les opérations inverses doivent également être effectuées lorsqu'un périphérique est débranché.

Sous Linux, toutes ces opérations sont donc réalisées par un programme externe au noyau. La gestion des périphériques USB se fait donc comme suit :

  • un mécanisme de surveillance du bus USB détecte les apparitions et disparitions des périphériques. Ce mécanisme est souvent implémenté sous la forme d'un démon USB ;

  • ce démon appelle des programmes clients capables de réaliser la configuration des nouveaux périphériques. Ces programmes clients sont couramment appelés des « agents USB ».

Il existe deux solutions pour implémenter le démon USB. La première solution consiste à surveiller le système de fichiers virtuel /proc/bus/usb/ pour détecter les apparitions et disparitions des périphériques USB. La deuxième solution est d'implémenter le démon USB directement au sein du noyau. Cette solution est plus efficace, parce que le démon fait dans ce cas partie intégrante du noyau et n'a donc pas à surveiller le système de fichiers virtuel /proc/bus/usb/. La suite de ce document décrit cette méthode, parce qu'elle est la plus aboutie et plus générale (elle fonctionne également avec d'autres périphériques que les périphériques USB).

Pour activer le démon USB du noyau (nommé khubd), il faut simplement valider l'option « Support for hot-pluggable devices » du menu « General setup » dans la configuration du noyau. Cette option ajoute également une entrée hotplug dans le répertoire /proc/sys/kernel/ du système de fichiers virtuels /proc/ du noyau. Ce fichier contient le chemin sur le programme utilisateur qui sera appelé par le démon USB à chaque fois qu'un périphérique sera ajouté ou supprimé pendant le fonctionnement du système. Par défaut, ce chemin référence l'utilitaire /sbin/hotplug, mais il est possible d'en indiquer un autre en écrivant une nouvelle valeur dans ce fichier.

Le programme hotplug est généralement un script, capable de charger les modules pour la gestion de la plupart des périphériques USB. Il joue donc le rôle d'un agent universel. Cependant, il peut aussi exécuter des agents utilisateurs, s'ils existent, qui sont situés dans le répertoire /etc/hotplug/. Pour les périphériques USB, le script appelé se nomme usb.agent.

En fait, le noyau appelle le script hotplug dès qu'un périphérique est ajouté ou supprimé, que ce soit un périphérique USB ou non. Ce mécanisme est donc absolument générique, et fonctionne également pour les cartes PCMCIA, les périphériques PCI connectables à chaud, et les interfaces réseau. Les scripts appelés par hotplug se nomment alors respectivement usb.agent, pci.agent et net.agent. Le script hotplug fait la distinction entre ces trois classes de périphériques grâce au premier paramètre que le noyau lui passe sur sa ligne de commande. Les valeurs de ce paramètres peuvent valoir respectivement usb, pci et net.

Les agents ont besoin d'informations complémentaires pour déterminer quel est le périphérique qui vient d'apparaître ou de disparaître. Ces informations sont passées à hotplug sous la forme de variables d'environnement spécifiques à chaque classe de périphérique. Pour les périphériques USB, les variables d'environnement définies par le noyau sont les suivantes :

  • ACTION, qui contient la description de l'événement qui s'est produit pour ce périphérique ;

  • PRODUCT, qui contient les identificateurs du vendeur, du produit et du périphérique pour le périphérique considéré ;

  • TYPE, qui contient la classe et la sous-classe du périphérique, ainsi que son protocole de communication ;

  • INTERFACE, qui contient les paramètres de classe, sous-classe et de protocole pour les interfaces, si le périphérique USB est de classe 0.

Si vous avez activé le support du système de fichiers virtuel USB, les variables suivantes seront également définies :

  • DEVFS, qui contient le chemin sur la liste des gestionnaires de périphériques USB. Il s'agit normalement du fichier /proc/bus/usb/drivers ;

  • DEVICE, qui contient le chemin sur le fichier spécial de périphérique pour le périphérique USB ;

Enfin, la variable d'environnement PATH est initialisée pour référencer les répertoires /sbin/, /bin/, /usr/sbin/ et /usr/bin/, et la variable d'environnement HOME contient le chemin du répertoire racine.

Normalement, le script hotplug et les agents utilisateurs doivent être fournis avec votre distribution. Cependant, toutes les distributions ne sont pas encore prêtes pour le support de l'USB, et vous devrez installer ces scripts vous-même. Leur rédaction peut être extrêmement technique, je vous recommande donc d'utiliser les scripts disponibles sur le site de l'USB pour Linux.

8.4.4. Installation des périphériques IEEE1394

Le bus IEEE1394 (initialement dénommé bus FireWire) est un bus série à grande vitesse, capable de transférer des données avec un très grand débit (400 mégabits par secondes). Ce bus peut être utilisé pour connecter de nombreux périphériques (disques dur et lecteurs de CDROM externes par exemple), mais sa principale utilisation reste pour les transferts de données vidéo provenant des caméscopes numériques. Certaines cartes mères disposent d'un port IEEE1394 intégré, mais la plupart nécessitent l'ajout d'une carte fille PCI. La plupart de ces cartes sont vendues en tant que cartes de montage vidéo et disposent de deux ports IEEE1394 afin de permettre une entrée et une sortie du flux vidéo.

Le bus IEEE1394 dispose d'avantages indéniables, puisqu'il permet de brancher et de débrancher un périphérique à chaud (c'est-à-dire sans redémarrer l'ordinateur), les données sont transférées en numérique (donc sans perte de qualité pour les séquences vidéo), et de piloter les appareils qui y sont connectés (ce qui permet de contrôler par exemple un caméscope à partir d'un logiciel de montage vidéo). Il est également possible d'utiliser le bus IEEE1394 pour connecter deux ordinateurs en réseau, bien que cette fonctionnalité soit encore expérimentale.

Linux dispose des pilotes permettant d'utiliser les ports IEEE1394 de manière générique. Cependant, il faut bien le reconnaître, les logiciels spécifiques aux différents types d'appareils sont encore très rares ou incomplets. Cet état de fait est particulièrement vrai en ce qui concerne les caméscopes numériques, pour lesquels il n'existe quasiment aucun logiciel de montage vidéo dont la qualité s'approche de celle de ceux qui ont été développés pour Windows. Cela dit, les autres périphériques tels que les disques durs et les lecteurs de CD-ROM externes sont mieux supportés, et la configuration du port IEEE1394 peut être réalisée complètement en attendant que des logiciels plus évolués ne voient le jour. Vous pouvez obtenir les dernières informations concernant le support des périphériques FireWire sous Linux sur le site de linux1394.

8.4.4.1. Configuration du noyau

La prise en charge du bus IEEE1394 au niveau du noyau est réalisable par l'intermédiaire des options du menu « IEEE 1394 (FireWire) support (EXPERIMENTAL) ». Comme le support des périphériques IEEE1394 sous Linux en est encore à ses balbutiements, ce menu ne peut être accédé que si l'on a activé l'option « Prompt for development and/or incomplete code/drivers » du menu « Code maturity level options ». Les principales options utilisables sont les suivantes :

  • l'option « IEEE 1394 (FireWire) support (EXPERIMENTAL) », qui est l'option principale qui active toutes les autres options. Il faut donc impérativement activer cette option et répondre 'Y' ;

  • l'option « Texas Instruments PCILynx support », qui permet de prendre en charge les cartes IEEE1394 basées sur la puce PCILynx de Texas Instrument. Ce ne sont pas les cartes les plus couramment utilisées, aussi la réponse recommandée est-elle 'N'. Si vous activez cette option, vous pourrez configurer des paramètres complémentaires du gestionnaire de périphériques avec les options « Use PCILynx local RAM » (utilisation de la mémoire embarquée sur la carte PCI) et « Support for non-IEEE1394 local ports » (utilisation de fonctionnalités complémentaires non FireWire de ces cartes) ;

  • l'option « OHCI-1394 support », qui active la prise en charge des périphériques IEEE1394 compatible OHCI (abréviation de l'anglais « Open Host Controller Interface ), qui sont les périphériques les plus courants à présent. La réponse recommandée est 'Y' ;

  • l'option « OHCI-1394 Video support », qui permet de prendre en charge les caméras vidéo numériques. Cette option ajoute également une fonctionnalité intéressante qui permet aux programmes de partager les données avec le gestionnaire de périphériques directement. Cela permet d'éviter qu'une copie de ces données ne soit réalisée entre la mémoire du noyau et la mémoire de l'application et d'obtenir ainsi de meilleures performances. La réponse recommandée est bien évidemment 'Y'. Cette option n'est toutefois disponible que pour les périphériques OHCI ;

  • l'option « SBP-2 support (Harddisks, etc.) », qui permet de prendre en charge les disques durs et les lecteurs de DVD connectés sur bus IEEE1394. Ces lecteurs apparaissent alors comme des périphériques SCSI standards et pourront être montés via l'un des périphériques /dev/sdx ;

  • l'option « Raw IEEE1394 I/O support », qui permet aux applications de communiquer directement avec le bus IEEE1394 par l'intermédiaire d'un fichier spécial de périphérique. Cette option est nécessaire au bon fonctionnement de la plupart des applications IEEE1394 et la réponse recommandée est donc 'Y' ;

  • l'option « Excessive debugging output », qui active l'émission de messages de traces pour toutes les données survenant sur le bus IEEE1394. Cette option saturera vos fichiers de traces très vite et n'est réellement utile que pour les développeurs, aussi faut-il répondre 'N'.

Comme pour tous les périphériques sous Linux, les fonctionnalités IEEE1394 du noyau seront accessibles par l'intermédiaire de fichiers spéciaux de périphériques situés dans le répertoire /dev/. Les fonctionnalités vidéo seront accédées par l'intermédiaire d'un fichier spécial de périphérique de type caractère et de code majeur 172. De même, l'interface de données brute activée par l'option « Raw IEEE1394 I/O support » est exposée par l'intermédiaire d'un fichier spécial de périphérique de type caractère et de code majeur 171. Vous devrez donc créer ces fichiers spéciaux à l'aide des deux commandes suivantes :

mknod /dev/raw1394 c 171 0
mknod -m 666 /dev/video1394 c 172 0
Le numéro de code mineur est utilisé pour distinguer les différents ports IEEE1394 présents dans la machine. Les lignes de commandes précédentes ne montrent que la manière de créer les fichiers spéciaux de périphériques que pour le premier port IEEE1394.

8.4.4.2. Installation des bibliothèques complémentaires

Les fonctionnalités IEEE1394 peuvent être utilisées par les applications directement par l'intermédiaire des fichiers spéciaux de périphériques /dev/raw1394 et /dev/video1394, mais quasiment aucune ne le fait. En effet, des bibliothèques spécifiques ont été écrites afin de fixer les interfaces de programmation de Linux avec ces applications. Il est donc nécessaire d'installer ces bibliothèques pour pouvoir utiliser les périphériques IEEE1394.

Il est encore rare que ces bibliothèques soient installées par les distributions, certainement parce qu'elles sont encore en cours de développement. Leur installation nécessite donc de les compiler soi-même, ce qui est une tâche facile si on sait le faire, mais qui peut effrayer un débutant. Rappelons une fois de plus que le support des périphériques IEEE1394 sous Linux est encore expérimental.

La bibliothèque de programme la plus importante est celle qui permet d'utiliser la fonctionnalité d'accès direct aux périphériques IEEE1394 par l'intermédiaire du fichier spécial de périphérique /dev/raw1394. Les fichiers sources de cette bibliothèque peuvent être trouvées sur le site du projet libraw1394. Une autre bibliothèque utilisée par les programmes vidéo est la bibliothèque libavc1394. Cette bibliothèque permet en effet aux programmes de piloter les caméscopes numériques par l'intermédiaire du bus IEEE1394. Enfin, les programmes d'édition vidéo peuvent avoir besoin de la bibliothèque libdv, qui permet de manipuler les données au format DV (c'est-à-dire le format de données utilisé par la plupart des caméscopes numériques). Cette bibliothèque ne fait pas à proprement parler partie des bibliothèques permettant de communiquer avec les périphériques IEEE1394, mais elle est extrêmement utile.

La compilation de ces bibliothèques se fait classiquement avec les commandes :

./configure --prefix=/usr
make
à partir du répertoire des sources. Celui-ci pourra être extrait des archives à l'aide de la commande tar xvf archive, où archive est le nom de l'archive en question. Une fois compilées, les bibliothèques pourront être installées avec la commande :
make install
Ces opérations ne devraient pas poser de problème particulier. Consultez le Chapitre 7 pour plus de détails sur ces opérations.

Une fois ces bibliothèques installées, vous devriez pouvoir installer et utiliser des applications dédiées aux périphériques IEEE1394, comme dvgrab (outil de capture vidéo), kino ou broadcast2000 (outils d'édition de séquences vidéo).