17.3. Transmission de données par infrarouge

IrDA (en anglais, Infrared Data Association) est un standard de communication sans fil par infrarouge. De nombreux ordinateurs portables commercialisés actuellement sont équipés d'un émetteur/récepteur compatible irDA qui permet la communication avec d'autres appareils, tels que les imprimantes, les modems, les réseaux locaux ou d'autres ordinateurs portables. Le débit varie de 2 400 bps jusqu'à 4 Mbps.

Il existe deux modes d'exploitation pour IrDA. En mode par défaut SIR, on communique avec le port infrarouge au moyen d'une interface série. Ce mode fonctionne sur presque tous les appareils et est suffisant dans de nombreux cas. Le mode le plus rapide FIR nécessite un pilote spécial pour le composant IrDA. Il n'existe cependant pas de tel pilote pour tous les composants. De plus, il faut régler le mode souhaité lors de la configuration du BIOS de l'ordinateur. C'est également là que vous voyez quelle interface série est utilisée pour le mode SIR.

Vous trouverez des informations au sujet de l'IrDA dans le howto de Werner Heuser sous http://tuxmobil.org/Infrared-HOWTO/Infrared-HOWTO.html et sur le site Web du projet IrDA Linux : http://irda.sourceforge.net/.

17.3.1. Logiciels

Vous trouverez les modules de noyau nécessaires dans le paquetage du noyau. Le paquetage irda prépare les utilitaires pour la prise en charge de l'interface infrarouge. Une fois le paquetage installé, vous trouverez la documentation correspondante à l'emplacement /usr/share/doc/packages/irda/README.

17.3.2. Configuration

Le service système IrDA n'est pas automatiquement démarré lors de l'amorçage. Utilisez le module IrDA de YaST pour son activation. Seul un paramètre y est modifiable : l'interface série du périphérique infrarouge. Dans la fenêtre de test proposée, il existe deux sorties. La première est celle de irdadump qui journalise tous les paquets IrDA émis et reçus. Dans cette sortie, le nom de l'ordinateur et les noms de tous les appareils infrarouges à portée devraient apparaître régulièrement. Vous trouvez un exemple de cette sortie dans Section 17.3.4, « Problèmes possibles et solutions ». Tous les appareils avec lesquels il existe une liaison IrDA apparaissent dans la partie inférieure de la fenêtre.

Malheureusement, l'IrDA nécessite beaucoup plus d'énergie (de la batterie) car toutes les deux secondes un paquetage de découverte est envoyé pour la reconnaissance d'autres périphériques. C'est pour cette raison qu'il est conseillé, lorsque vous souhaitez économiser vos batteries, de ne démarrer l'IrDA qu'à la demande. Utilisez la commande rcirda start pour activer manuellement l'interface à tout instant ou rcirda stop pour la désactiver. Lorsque l'interface est activée, les modules du noyau nécessaires sont automatiquement chargés.

Vous pouvez procéder à la configuration manuelle dans le fichier /etc/sysconfig/irda. Celui-ci ne contient qu'une variable, IRDA_PORT, qui définit quelle interface utiliser en mode SIR.

17.3.3. Utilisation

Si vous souhaitez imprimer des documents par infrarouge, vous pouvez envoyer vos données via le fichier de périphériques /dev/irlpt0. Le fichier de périphériques /dev/irlpt0 se comporte comme l'interface connectée par un câble normal /dev/lp0, à la différence que les données à imprimer sont transmises sans fil par de la lumière infrarouge. Lors de l'impression, veillez à ce que l'imprimante soit à portée de l'interface infrarouge de l'ordinateur et que la prise en charge de l'infrarouge soit démarrée.

Vous pouvez configurer une imprimante exploitée par l'intermédiaire d'une interface infrarouge comme à votre habitude, à l'aide de YaST. L'imprimante n'est pas reconnue automatiquement, configurez-la alors manuellement en cliquant sur Autres (pas reconnues). Dans le dialogue suivant, vous pouvez sélectionner Imprimante via IrDA. Comme port irlpt0 est pratiquement toujours correct. Vous trouverez des détails sur l'utilisation des imprimantes sous Linux dans Chapitre 12, Utilisation de l'imprimante.

Si vous souhaitez utiliser l'interface infrarouge avec d'autres ordinateurs, des téléphones portables ou d'autres appareils de ce type, vous pouvez le faire au moyen du fichier de périphériques /dev/ircomm0. Ainsi avec les téléphones portables S25 de Siemens et 6210 de Nokia, vous pouvez vous connecter à l'Internet sans fil par de l'infrarouge grâce au programme wvdial. Une synchronisation des données avec un Palm Pilot est également possible, il vous suffit de saisir simplement le nom de périphérique /dev/ircomm0 dans le programme correspondant.

Vous ne pouvez communiquer qu'avec les appareils qui prennent en charge les protocoles Printer ou IrCOMM. Vous pouvez utiliser des programmes spéciaux comme irobexpalm3 ou irobexreceive pour vous adresser à des appareils comme le 3Com Palm Pilot qui utilisent le protocole IROBEX. Vous trouverez plus d'informations à ce sujet dans IR-HOWTO (http://tldp.org/HOWTO/Infrared-HOWTO/). La liste des protocoles pris en charge par l'appareil est affichée par irdadump après le nom de l'appareil entre crochets. La prise en charge du protocole IrLAN est toujours « en cours de développement ».

17.3.4. Problèmes possibles et solutions

Si certains appareils ne réagissent pas au niveau du port infrarouge, vous pouvez, en tant qu'utilisateur root, saisir la commande irdadump pour vérifier si l'autre appareil est reconnu par l'ordinateur.

Dans le cas d'une imprimante BJC-80 Canon en vue de l'ordinateur, on obtient alors un résultat semblable au suivant et qui se répète régulièrement (voir le résultat Exemple 17.1, « Sortie d'irdadump »).

Exemple 17.1. Sortie d'irdadump

21:41:38.435239 xid:cmd 5b62bed5 > ffffffff S=6 s=0 (14)
21:41:38.525167 xid:cmd 5b62bed5 > ffffffff S=6 s=1 (14)
21:41:38.615159 xid:cmd 5b62bed5 > ffffffff S=6 s=2 (14)
21:41:38.705178 xid:cmd 5b62bed5 > ffffffff S=6 s=3 (14)
21:41:38.795198 xid:cmd 5b62bed5 > ffffffff S=6 s=4 (14)
21:41:38.885163 xid:cmd 5b62bed5 > ffffffff S=6 s=5 (14)
21:41:38.965133 xid:rsp 5b62bed5 < 6cac38dc S=6 s=5 BJC-80 
                        hint=8804 [Printer IrCOMM ] (23) 
21:41:38.975176 xid:cmd 5b62bed5 > ffffffff S=6 s=* terre 
                        hint=0500 [ PnP Computer ] (21)
   

Si aucun résultat n'est obtenu ou si l'autre appareil ne se signale pas en retour, vérifiez la configuration de l'interface. Utilisez-vous vraiment la bonne interface ? Vous trouverez parfois aussi l'interface infrarouge sous le nom /dev/ttyS2 ou /dev/ttyS3 ou un autre quand l'interruption 3 est utilisée. Vous pouvez toutefois configurer ces paramètres pour presque tous les ordinateurs portables dans la configuration du BIOS.

Vous pouvez aussi utiliser une caméra vidéo pour facilement vérifier si la LED infrarouge s'allume. Contrairement aux yeux de l'homme, la plupart des caméras vidéos peuvent voir la lumière infrarouge.


SUSE LINUX Guide de l'administrateur 9.2