<!doctype linuxdoc system>
<!--
  $Id: IR-HOWTO.sgml,v 1.4 1999/06/29 10:21:15 mat Exp $

  $Log: IR-HOWTO.sgml,v $
  Revision 1.4  1999/06/29 10:21:15  mat
  Relecture appliquée

  Revision 1.3  1999/04/01 21:14:25  mat
  traduction finite !
  envoi en relecture...


-->
<!--

  NdT: quelquefois, j'ai mis en commentaires une note, la plupart du
  temps, c'est parce que la traduction que j'ai faite ne me plaît
  pas...

-->
<article>
  
<title>Linux IR HOWTO

<author>Werner Heuser, <htmlurl url = "mailto:wehe@snafu.de" name =
"&lt; wehe@snafu.de &gt;"> &nl; Traduction française par Mathieu
Arnold <htmlurl url="mailto:arn_mat@club-internet.fr" name="&lt;
arn_mat@club-internet.fr &gt;">
</author>

<date>v2.4, 9 Février 1999

<abstract>
Une introduction à Linux et aux périphériques infrarouges, et comment utiliser
les logiciels fournis par le projet Linux/IrDA. Ce paquetage utilise utilise
le standard IrDA(TM). IrDA(TM) est un standard industriel utilisé pour les
communications infrarouges sans fils, et la majorité des ordinateurs portables
construits après janvier 1996 sont équipés de transmetteurs infrarouges
compatibles IrDA. Les ports infrarouges permettent de communiquer avec des
imprimantes, modems, fax, LAN et d'autres portables. La vitesse de
transmission va de 2400bps à 4Mbps. La pile Linux/IrDA supporte IrLAP, IrLMP,
IrIAS, IrIAP, IrLPT, IrCOMM, IrOBEX, et IrLAN. De nombreux protocoles sont
implémentés en tant que clients et serveurs. Les connections multiples via
IrLAP¨sont aussi supportées, via plusieurs périphériques IrDA en même
temps. Le projet Linux/IrDA à démarré à la fin de l'année 1997 et son statut
est toujours expérimental, alors, n'espérez pas que tout marchera du premier
coup. D'après ce que je sais, Linux/IrDA est la _seule_ implémentation libre
disponible actuellement. Le contrôle à distance (Remote Control~: RC) via
infrarouge n'est pas le but de ce projet, malgré tout, ce sujet est traité
partiellement dans ce HOWTO.
</abstract>
<toc>

<p>
<sect>Introduction

<p>

<it>Better red, than dead. - Unknown AuthorEss</>

Depuis 2.1.131 et 2.2.0, Linux/IrDA fait partie du noyau. Notez toutefois que
le statut de ce projet est toujours expérimental. Si vous avez besoin
d'informations à propos du support Linux/IrDA pour les noyaux 2.0.x, allez
voir l'ancienne version de ce howto disponible à <htmlurl
url="http://www.snafu.de/~wehe/index_li.html"
name="http://www.snafu.de/~wehe/index_li.html">. Mais d'après ce que je sais,
ce paquetage n'est plus maintenu.

Les compagnies et les développeurs qui aimeraient participer à ce projet
devraient contacter le projet Linux/IrDA à <htmlurl
url="http://www.cs.uit.no/~dagb/irda" name="http://www.cs.uit.no/~dagb/irda ">
ou moi à <htmlurl url = "mailto:wehe@snafu.de" name = "&lt; wehe@snafu.de
&gt;">.

Maintenant, un peu d'histoire. Le projet démarra à la fin de l'année 1997 avec
le nom Linux/IrDA. A cause de problèmes dus au fait que le nom IrDA est une
marque déposée par l'Infrared Data Association IrDA <htmlurl
url="http://www.irda.org/" name=" http://www.irda.org/">, le nom a été changé
en Linux/IR. A la fin de l'année 1998, les relations entre nous et eux
devinrent meilleures, et le nom redevint Linux/IrDA.

Ce document est basé sur la partie "Comment l'utiliser" du site Linux/IrDA
<htmlurl url="http://www.cs.uit.no/~dagb/irda/howto.html"
name="http://www.cs.uit.no/~dagb/irda/howto.html">. J'ai aussi inclus des
informations provenant de l'équipe Linux/IrDA, de la liste de diffusion, ainsi
que d'autres sources.

Ce document fait partie du LINUX DOCUMENTATION PROJECT <htmlurl
url="http://metalab.unc.edu/LDP" name="http://metalab.unc.edu/LDP">.

La dernière version de ce document est disponible à <htmlurl
url="http://www.snafu.de/~wehe/index_li.html"
name="http://www.snafu.de/~wehe/index_li.html"> (version anglaise) et <htmlurl
url="http://www.freenix.org/unix/linux/HOWTO/IR-HOWTO.html"
name="http://www.freenix.org/unix/linux/HOWTO/IR-HOWTO.html"> (version
française)

J'ai essayé de vérifier toutes les informations, mais je n'ai pas tout le
matériel infrarouge nécessaire, alors, si cela ne marche pas pour vous, ne
m'accusez pas.

Si vous avez des commentaires ou des questions, n'hésitez pas à me
contacter. Je sais que ce document n'est ni fini ni parfait, mais j'espère
qu'il vous sera utile.

<htmlurl url = "mailto:wehe@snafu.de" name = "&lt;Werner Heuser&gt;">

<sect>Prérequis

<p>

<itemize>

<item>
BIOS

<p>
- Assurez vous que le port infrarouge est bien activé dans le BIOS, et
vérifiez quelle interruption et quel port il utilise.

<item>
Puce contrôleur infrarouge

<p>
- Assurez vous que votre port infrarouge soit bien détecté par Linux. Pour
plus de détails, référez vous à la section "Aperçu du matériel supporté" ci
dessous.

<item>
modutils

<p>
- Assurez vous que vous avez bien modutils 2.1.x (<tt>insmod
--version</>). J'utilise la version 2.1.121.

<item>
Librairies partagées

<p>
- La librairie <tt>libc.so.5</> et le chargeur <tt>ld-linux.so.1</> doivent
être disponibles.

<p>
- Mais <tt>glibc2</> aka <tt>libc6</> devrait aussi marcher.

<p>
- Je ne suis pas sûr que vous ayez besoin de la librairie <tt>zlib</> si
vous utilisez la compression de données.

<item>
Interfaces graphiques~:

<p>
Il y a actuellement deux interfaces graphiques pour Linux/IrDA qui sont en
développement~:

<itemize>

<item>
GNOBEX, une application GNOME développée par Dag Brattli <htmlurl
url="http://www.cs.uit.no/~dagb/irda/irda.html"
name="http://www.cs.uit.no/~dagb/irda/irda.html"> avec le support du
glisser/déposer depuis le gestionnaire de fichier GNOME (gmc). Il indique
aussi la progression du transfert en cours et donne de bons messages d'erreurs
quand quelque chose tourne mal. L'interface graphique n'est pas terminée pour
autant, mais si vous voulez la tester, vous aurez besoin du module Perl-GTK+.

<item>
KDE, une application KDE développée par Thomas Davis. Allez faire un tour sur
sa page <htmlurl url="http://www.jps.net/tadavis/irda"
name="http://www.jps.net/tadavis/irda">.
</itemize>

Pour vous autres lecteurs~-~voici votre chance de contribuer~! Ces deux
interfaces graphiques nécessitent des icônes. Toutes les icônes doivent~:&nl;
a) Avoir une taille fixe (je pense que 48x48 pixels semble être la taille
commune).&nl;
b) Grosse & petite (les petites sont pour être dockées).&nl;
c) 16 couleurs.&nl;
d) Libres de tous droits.&nl;
e) SVP, ne copiez pas des icônes microsoft~!&nl;
Contactez les développeurs.

<item>
Sécurité

<p>
- <bf>Très important</>, vous devez faire un <tt>sync</> sur vos disques~!!!
Vous aurez peut être à rebooter votre machine. N'avez vous pas lu le
désistement de responsabilité~?

<p>

<item>
Divers

<p>
- Autres programmes utiles~: APSFILTER, EZ-Magic, MagicFilter ou quelque chose
de similaire pour configurer les imprimantes.
</itemize>

<sect>Noyau

<p>
S'il vous plaît, lisez le <url
url="http://www.freenix.org/unix/linux/HOWTO/Kernel-HOWTO.html"
name="Kernel-HOWTO"> pour trouver plus d'informations sur la compilation. Vous
trouverez les sources de Linux/IrDA dans~:

<tt>/usr/src/linux/net/irda</> (protocoles)

<tt>/usr/src/linux/drivers/net/irda</> (pilotes de périphériques)

<tt>/usr/src/linux/include/net/irda</> (fichiers d'en-têtes)


<sect1>Configuration générale 

<p>
- Assurez vous que vous utilisez bien les sources du noyau <it>noyau
2.2.x</>. Si vous n'êtes pas sûr de la version de votre noyau, essayez
<tt>uname -r</>.

- Récupérez le dernier patch du projet Linux/IrDA <htmlurl
url="http://www.cs.uit.no/~dagb/irda/snapshots/"
name="http://www.cs.uit.no/~dagb/irda/snapshots/">. Mettez le dans
<tt>/usr/src</> ou à l'endroit où vous avez les sources de votre noyau, et
appliquez quelque chose ressemblant à (remplacez le nom du patch
<tt>patch-2_2.0-irdaXXX </> par le nom du fichier que vous avez)~:

<tscreen><verb>
cd /usr/src
tar xvzf patch-2_2.0-irdaXXX.tar.gz
cd linux
patch -p1 -l &lt; ./patch-2_2.0-irdaXXX 
</verb></tscreen>

<p>
- Le support pour le code expérimental doit être activé (CONFIG_EXPERIMENTAL).

- Activez sysctl dans le "General Setup" (CONFIG_SYSCTL).

- Vous devriez avoir <it>proc file system support</> (CONFIG_PROC_FS).

- De même <it>serial support</> pour les fonctionnalités SIR (CONFIG_SERIAL).

- Je ne suis pas certain qu'il y ait besoin d'y avoir le <it>printer
support</> pour utiliser une imprimante avec Linux/IrDA (CONFIG_PRINTER). Mais
je suppose que cette fonctionnalité n'est pas nécessaire

- Le <it>Networking support</> doit être activé (CONFIG_NET).

- Assurez vous que vous avez le <it>module support</> (CONFIG_MODULES) dans
votre noyau~! Testez en faisant <tt>lsmod</>.

- De même le support de <tt>kerneld</> (CONFIG_KERNELD) est recommandé. Mais
<tt>kmod</> (CONFIG_KMOD) marche aussi. Une noyau monolithique semble aussi
marcher.

- Matt Francis a écrit~: "J'ai remarqué que certains modules ont besoin non
seulement du support pour les modules, mais aussi du <it>misc user device
support</>." (CONFIG_UMISC).

Si vous avez juste appliqué le patch Linux/IrDA, vous ne devriez pas avoir à
faire un <tt>make clean</>, alors, cela devrait aller un peu plus vite. Je
vous suggère de faire un truc dans ce style~:

<tscreen><verb>make dep &amp;&amp; make all &amp;&amp; make modules &amp;&amp; make install &amp;&amp; make modules_install
</verb></tscreen>

Si vous avez des erreurs vraiment bizarres, alors, essayez de recompiler après
un <tt>make clean</>.

<sect1>Paramètres spécifiques à IrDA

<p>
Voici ce que j'ai suggéré pour
<tt>../linux-2.2.x/Documentation/Configure.help</>, des morceaux viennent de
Dag Brattli et Andreas Butz~:

<sect2>IrDA subsystem support

<p>
CONFIG_IRDA

IrDA(TM) est un protocole industriel standardisé pour les communications
infrarouges sans fils. Les ports infrarouges vous permettent de communiquer
avec des imprimantes, modems, fax, réseaux et ordinateurs portables. La
vitesse de transmission varie de 2400bps à 4Mbps. Pour utiliser ces
fonctionnalités, vous aurez besoin du paquetage irda_utils fournis par le
projet Linux/IrDA (<htmlurl url="http://www.cs.uit.no/~dagb/irda/">). Pour de
plus amples informations, vous pouvez trouver le IR-HOWTO à <htmlurl
url="http://www.snafu.de/~wehe/index_li.html">. Pour l'instant, il est
conseillé de compiler le support IrDA en tant que module uniquement (Référez
vous à Documentation/modules.txt). Notez que le support Linux/IrDA est
toujours expérimental.
<p>
<sect3>Protocole IrDA
<p>
<itemize>
<item>
Protocole IrLAN
<p>
CONFIG_IRLAN
<p>
Compile le pilote IrDA réseau. Utilisez ``ifconfig eth0 &lt;IP-NUMBER&gt;''
pour le configurer. - Répondez juste Y.

<item>
Support des clients IrLAN
<p>
CONFIG_IRLAN_CLIENT
<p>
Si vous connectez des périphériques infrarouges via IrLAN, l'un doit être
serveur et l'autre client. Vous pouvez utiliser les deux en même temps. Le
premier à se connecter sera le client.  - Répondez juste Y. &nl; Note~: Les
derniers patch incluent le support peer-to-peer à la place.

<item>
Support pour le serveur IrLAN
<p>
CONFIG_IRLAN_SERVER
<p>
Si vous connectez des périphériques infrarouges via IrLAN, l'un doit être
serveur et l'autre client. Vous pouvez utiliser les deux en même temps. Le
premier a se connecter sera le client.  - Répondez juste Y. &nl; Note~: Les
derniers patch incluent le support peer-to-peer à la place.

<item>
Protocole IrOBEX
<p>
CONFIG_IROBEX
<p>
IrOBEX est un protocole pour échanger des objets (fichiers, cartes de visite,
etc.) à travers une connexion infrarouge. Vous pouvez l'utiliser pour échanger
des fichiers entre Linux et un PALM III. IrOBEX peut aussi être utilisé entre
deux machines Linux, entre une machine Linux et une machine Windows95, etc. -
Répondez juste Y.

<item>
Protocole IrCOMM
<p>
CONFIG_IRCOMM
<p>
Via IrCOMM, il est possible de communiquer avec des téléphones cellulaires,
etc. Pour utiliser ce service, vous aurez à créer un périphérique avec ``mknod
/dev/irnine c 60 64'', il marche comme /dev/ttySx. - Répondez juste Y.&nl; Note
: les nombres majeurs et mineurs ne sont toujours pas officiels. Pour les
dernières améliorations, (IrSocket est en chemin !), allez faire un tour sur
la page de Takahide Higuchi <htmlurl
url="http://www.pluto.dti.ne.jp/~thiguchi/irda/">.&nl; Note~: Actuellement,
IrCOMM semble faire planter le noyau assez facilement, alors, vous devriez
probablement attendre le prochain patch.

<item>
Support des clients IrLPT
<p>
CONFIG_IRLPT_CLIENT
<p>
Dites Y ici si vous voulez le support pour le protocole client IrLPT. Si
vous voulez le compiler en tant que module, dites M ici et lisez
Documentation/modules.txt. Le protocole client IrLPT peut être utilisé pour
imprimer des documents sur des imprimantes compatibles IrDA telle la HP-5MP,
ou sur un adaptateur IrLPT tel le ACTiSYS IR-100M. - Répondez juste Y.

<item>
Support du serveur IrLPT
<p>
CONFIG_IRLPT_SERVER
<p>
Dites Y ici si vous voulez compiler le support pour le protocole serveur
IrLPT. Si vous voulez le compiler en tant que module, dites M ici et lisez
Documentation/modules.txt. Le protocole serveur IrLPT rends possible
l'utilisation d'une machine Linux en tant qu'imprimante infrarouge pour
d'autres portables. Alors, si votre machine Linux a une imprimante, d'autres
portables pourront l'utiliser via la liaison infrarouge. - Répondez juste Y.

</itemize>

<sect3>Options du protocole IrDA
<p>
CONFIG_IRDA_OPTIONS
<p>
Vous avez la possibilité de définir certaines options du protocole IrDA
<itemize>
<item>
Cache last
<p>
LSAP CONFIG_IRDA_CACHE_LAST_LSAP
<p>
Dites Y ici si vous voulez que IrLMP cache le dernier LSAP utilisé. Ceci est
intéressant puisque la majorité des trames seront envoyées/reçues via la même
connexion. L'activation de cette option vous fera gagner une recherche dans
un tableau à chaque trame transmise. Si vous êtes indécis, dites Y.

<item>
FAST RRs
<p>
CONFIG_IRDA_FAST_RR
<p>
Utilisez cette option si vous voulez envoyer les trames RR (Receive Ready)
plus vite lorsque la queue est vide. Cela vous donnera de biens meilleurs
temps de réponse, mais consommera plus de puissance, à cause des rebonds des
trames RR.

<item>
Recycle RRs
<p>
CONFIG_IRDA_RECYCLE_RR
<p>
Lorsque le protocole IrLAP fonctionne normalement, il envoie beaucoup de
petites trames RR (Receive Ready) à travers la liaison (tout du moins,
lorsqu'il n'a rien d'autre à faire). Répondre Y ici demandera à IrLAP de
recycler ces trames, évitant par là même plein de alloc_skb et de
kfree_skb. Pour réaliser cela, il va juste garder une trame ce qui est
suffisant dans la majorité des cas.

<item>
Debug information
<p>
CONFIG_IRDA_DEBUG
<p>
Dites Y ici si vous voulez que IrDA donne des informations de débogage à votre
syslog. Vous pouvez changer le niveau de débogage dans
/proc/sys/net/irda/debug. &nl; Si vous êtes indécis, dites Y (car il deviendra
plus simple de dénicher les bogues).
</itemize>

<sect3>
IrDA compressors
<p>
CONFIG_IRDA_COMPRESSION
<p>
Vous pouvez utiliser les méthodes de compression BZIP2 et BSD. Cela ne fait
pas partie du standard IrDA. Cela permettra à deux machines Linux de
compresser leur trafic. Cela devrait être compatible avec les autres
périphériques IrDA, mais les communications ne seront alors pas compressées.

<itemize>
<item>
Deflate compression (experimental)
<p>
CONFIG_IRDA_DEFLATE
<p>
Dites Y ici si vous voulez compiler le support pour le protocole de
compression Deflate. Si vous voulez le compiler en tant que module, dites M et
référez vous à Documentation/modules.txt. La compression deflate (GZIP) est
exactement la même que celle utilisée par le protocole PPP. Activer cette
option créera un module nommé irda_deflate.o.

<item>
BZIP2 compression
<p>CONFIG_IRDA_BZIP2
<p>
Pas d'aide disponible.

<item>
BSD compression
<p>
CONFIG_IRDA_BSD
<p>
Pas d'aide disponible.

</itemize>

<sect2>Pilotes de périphériques infrarouges
<p>
Trois types de pilotes sont disponibles~: série, dongle et FIR. Ils
apparaîtrons dans /proc/net/dev (irda0) après initialisation.
<p>

<sect3>IrTTY (utilise le pilote série)
<p>
La majorité des puces IrDA supportent StandardInfraRed (SIR), qui marche
jusqu'à 115200 bps et émmule un port série (UART 16550A). Sur beaucoup de
portables, ce port est détecté par le pilote série du noyau, référez vous a
``dmesg''. IrTTY connecte les services Linux/IrDA à ce port. - Vous devriez
dire Y ici.

<itemize>
<item>
Support du dongle série
<p>
CONFIG_IRTTY_SIR
<p>
Dites Y ici si vous voulez compiler le support pour la IrTTY line discipline.
Si vous voulez le compiler en tant que module, dites M et référez vous à
Documentation/modules.txt. IrTTY rends possible l'utilisation du pilote série
de Linux pour tous les ports IrDA qui sont compatibles 16550. La majorité des
puces le sont, par conséquent, vous devriez aussi dire Y à cette
option. L'utilisation de IrTTY limitera toutefois la vitesse de connexion à
115200 bps (mode IrDA SIR). Si vous n'êtes pas sûr, dites Y.
</itemize>

<sect3>Support des dongles
<p>
CONFIG_DONGLE
<p>
Pour l'instant 4 dongles (adaptateurs infrarouges pour port série) sont
supportés. Le dongle est un périphérique infrarouge qui se connecte au port
série, si vous n'avez pas de port infrarouge intégré à votre machine. Si vous
utilisez un dongle sur un ordinateur portable, vous aurez certainement à
désactiver le support IrDA dans le BIOS.

<itemize>
<item>
Dongle ESI JetEye PC
<p>
CONFIG_ESI_DONGLE 
<p>
Dites Y ici pour compiler le support pour les dongles Extended Systems JetEye
PC. Si vous voulez le compiler en tant que module, dites M et référez vous à
Documentation/modules.txt. Ce dongle se branche sur un port série 9 broches,
et ne peut être utilisé que par IrTTY. Pour activer le support pour le dongle
ESI, vous aurez à insérer ``irattach -d esi'' dans le script
/etc/irda/drivers. <htmlurl
url="http://www.extendsys.com/support/ftp/infrared.html">

<item>
Dongle ACTiSYS IR-220L and IR220L+
<p>
CONFIG_ACTISYS_DONGLE 
<p>
Dites Y ici pour compiler le support pour les dongles ACTiSYS IR-220L et
IR220L+. Si vous voulez le compiler en tant que module, dites M et référez
vous à Documentation/modules.txt. Ce dongle se branche sur un port série 9
broches, et ne peut être utilisé que par IrTTY. Pour activer le support pour
les dongles ACTiSYS, vous aurez à insérer ``irattach -d esi'' ou ``irattach -d
actisys_plus'' dans le script /etc/irda/drivers. <htmlurl
url="http://www.actisys.com">

<item>
Dongle Tekram IrMate 210B
<p>
CONFIG_TEKRAM_DONGLE
<p>
Dites Y ici pour compiler le support pour le dongle Tekram IrMate 210B. Si
vous voulez le compiler en tant que module, dites M et référez vous à
Documentation/modules.txt. Ce dongle se branche sur un port série 9 broches,
et ne peut être utilisé que par IrTTY. Pour activer le support pour les
dongles Tekram, vous aurez à insérer ``irattach -d tekram'' dans le script
/etc/irda/drivers. <htmlurl url="http://www.tekram.de/">

<item>
Dongle GirBIL
<p>
CONFIG_GIRBIL_DONGLE
<p>
Dites Y ici pour compiler le support pour le dongle Greenwich Instruments
GirBIL. Si vous voulez le compiler en tant que module, dites M et référez vous
à Documentation/modules.txt. Ce dongle se branche sur un port série 9 broches,
et ne peut être utilisé que par IrTTY. Pour activer le support pour les
dongles Greenwich, vous aurez à insérer ``irattach -d girbil'' dans le script
/etc/irda/drivers. <htmlurl url="http://www.greenwichinst.com/">

</itemize>

<sect3>Support de FIR
<p>
FastInfraredSupport (FIR) (support de l'infrarouge rapide) nécessite un
contrôleur spécial, qui supporte jusqu'à 4Mbps. Dites juste "Y"

<itemize>
<item>
NSC PC87108
<p>
CONFIG_NSC_FIR
<p>
La puce FIR NationalSemiConductor NSC PC87108 (utilisée par exemple dans l'IBM
Thinkpad 560X et le dongle ACTiSYS IR2000). La puce FIR NSC PC87338 FIR est
probablement aussi supportée. Le pilote supporte les vitesses SIR, MIR et FIR
(4Mbps). - Dites juste Y.

<item>
Winbond W83977AF (IR)
<p>
CONFIG_WINBOND_FIR
<p>
La puce FIR Winbond W83977AF (IR) (utilisée par exemple dans le Corel
Netwinder PC).  Le pilote supporte les vitesses SIR, MIR et FIR (4Mbps). -
Dites juste Y.

<item>
Sharp UIRCC
<p>
CONFIG_SHARP_FIR
<p>
Dites Y ici pour compiler le support pour le chipset Sharp UIRCC IrDA. Si vous
voulez le compiler en tant que module, dites M et référez vous à
Documentation/modules.txt. Ce chipset est utilisé dans les portables Toshiba
de la gamme Tecra.

</itemize>

<p>

<sect>Utilitaires Linux/IrDA
<p>

<itemize>
<item>
Utilisez la dernière version des <tt>irda-utils</> disponible à <htmlurl
url="http://www.cs.uit.no/~dagb/irda/irda-utils/"
name="http://www.cs.uit.no/~dagb/irda/irda-utils/">.

<item>
Détarez le paquetage en faisait <tt>tar xvzf irda-utils&lt;VERSION&gt;</>. Je
vous recommande de le mettre dans <tt>/usr/src</>.

<item>
Faites un <tt>make depend</>.

<item>
Faites un <tt>make clean</> (ce n'est pas nécessaire si vous compilez le
paquetage pour la première fois).

<item>
Faites un <tt>make all</> pour compiler tous les exécutables.

<item>
Faites un <tt>make install</>, cela installe <tt>irattach</> et
<tt>irmanager</> au bon endroit, et installe quelques fichiers de
configuration dans <tt>/etc/irda</>.

</itemize>

Une recommandation de Bjoern Hansson &lt;Bjorn.Hansson@signal.uu.se&gt;~: Si
<tt>make depend</> échoue sur <tt>stdef.h</> et <tt>stdarg.h</> ajoutez juste
<tt>-I/usr/lib/gcc-lib/i586-linux/egcs-2.90.29/include/</> ou le chemin
adéquate avec votre configuration à la ligne <tt>SYS_INCLUDES</> du fichier
<tt>Makefile</>.


<sect>Configuration 
<p>

<sect1>Configuration générale 
<p>

<itemize>
<item>
Tout d'abord vous devriez mettre vos périphériques infrarouges à portée l'un de
l'autre. Bien que le service Linux/IrDA détecte peut être automatiquement les
nouveaux périphériques, j'ai bonne expérience de la configuration quand les
périphériques sont à portée l'un de l'autre.

<item>
Gardez vos périphériques infrarouges ensembles, dans un espace d'un mètre
maximum et dans un angle de 30 degrés. Ils doivent être en vis à vis. Si cela
n'est pas possible, utilisez un miroir (un CD de M$ non utilisé fera
l'affaire).

<item>
Ajoutez les lignes suivantes à votre <tt>/etc/conf.modules</>~:

<tscreen><verb>
alias tty-ldisc-11 irtty          # 
alias char-major-60 ircomm_tty    # Si vous voulez le support IrCOMM
</verb></tscreen>

Je ne suis plus tout à fait sûr de ces paramètres. Il y a des informations
contradictoires sur les page de Dag Brattli et sur la liste. Ces paramètres
étaient utilisés avec les anciens paquetages Linux/IrDA, ces paramètres ont
certainement changés dans les versions 2.2.x des noyaux.

<item>
Allez faire un tour dans <tt>/etc/irda</>. ces fichiers sont similaires à ceux
dans <tt>/etc/pcmcia</>. Editez <tt>/etc/irda/drivers</> pour que cela soit en
accord avec votre configuration. La majorité des gens utiliseront
<tt>irattach</> depuis ce fichier. les fichiers sont~:

<tscreen><verb>Makefile
network*
network.redhat*
serial
drivers
network.opts
obex
printer
</verb></tscreen>

<item>
Lancez un <tt>depmod -a</>.

</itemize>

<sect1>IrManager
<p>
Dag Brattli a écrit~: <it>IrManager</> [...]. est un démon utilisateur qui
s'inspire et qui est assez similaire à <it>cardmgr</> utilisé pour contrôler
les cartes PCMCIA.

<it>IrManager</> recevra les événements qui proviennent de l'espace noyau de
la pile du protocole. <!-- NdT: pas clair hein~:-) ben, je trouve pas mieux
:'( --> Quand <it>IrManager</> reçoit un événement, il peut exécuter des
commandes shell ou des scripts, par conséquent, j'ai ajouté le répertoire
<tt>/etc/irda</> pour contenir ces scripts. [...]

Par exemple, si IrLMP découvre un périphérique qui peut fournir un service
IrLAN, et qu'aucun client IrLAN ne s'est enregistré, alors, IrLMP enverra un
événement à IrManager et lui fera faire un "modprobe" sur le module
requis. [...]

Lorsque les clients (applications utilisateurs) sont prêts à effectuer la
configuration des paramètres de communication et de l'utilisateur, ils peuvent
également contacter IrManager, de façon à ce qu'il exécute le bon script. Par
exemple, IrLAN enverra un événement EVENT_IRLAN_START quand le canal de
données sera prêt pour échanger des trames ethernet. Quand IrManager reçoit
cet événement, il exécute <tt>/etc/irda/network start &lt;devname&gt;</> pour
configurer l'interface réseau. Ce script network est d'ailleurs le même que
celui utilisé par le code PCMCIA, et vu que j'utilise sa variante RedHat, il
finira par exécuter <tt>/sbin/ifup &lt;devname&gt;</>.

Par conséquent, en utilisant l'IrManager, j'ai &dquot;juste&dquot; à faire
cela quand je démarre la pile~:

<tscreen><verb>
irattach /dev/ttyS2 &
irmanager -d 1           # -d 1 signifie : démarre la reconnaissance automatique
</verb></tscreen>

et quand mon portable découvre le fournisseur IrLAN (un HP Netbeamer dans mon
cas) il demandera à <it>IrManager</> de charger le module
<tt>irlan_client</>. Quand la connexion est établie et prête, il demandera
l'exécution de <tt>/etc/irda/network start eth0</>. Si la connexion est
perdue, il lui demandera de supprimer l'interface en lançant
<tt>/etc/irda/network stop eth0</>.[...]

C'est tout ce que vous avez à faire si vous utiliser une RedHat. Si vous
utilisez une distribution qui n'a pas <tt>/sbin/ifup</>, alors, vous devriez
copier <tt>/etc/pcmcia/network.opts</> vers <tt>/etc/irda/network.opts</> ou
configurer le fichier vous même.

Si vous voulez utiliser le serveur IrLAN, vous aurez quand même à faire un
<tt>modprobe irlan_server</> avant de lancer <tt>irmanager</> <bf>sans</>
<tt>-d 1</>.

Et tout comme le <tt>cardmgr</>, vous aurez (et si vous le voulez) un bip
quand la connexion est établie et prête et quand elle est déconnectée !!!

J'espère que nous pourrons ajouter de tels scripts pour tous les autres
services/clients qui ont besoin d'une configuration dans l'espace
utilisateur. Cela serait super d'avoir un script <tt>/etc/irda/printer</> pour
configurer les imprimantes compatibles IrDA(TM) de telle sorte que si vous
entrez dans le champ d'une telle imprimante, IrManager charge le module
<tt>irlpt_client</> et configure aussi ce qui doit l'être pour utiliser cette
imprimante.

J'espère aussi que nous pourrons utiliser le fichier de configuration pour
configurer les ports et les pilotes IrDA(TM). Quelque chose dans le style~:

<tscreen><verb>
Device Drivers
  module &dquot;irtty&dquot; script=&dquot;irattach /dev/ttyS2&dquot;
  module &dquot;smc_ircc&dquot; irq=11 port=0x34f
</verb></tscreen>

de telle sorte que IrManager soit capable de charger et démarrer tout ça quand
il est exécuté. De cette façon, il serait juste de lancer IrManager depuis
<tt>/etc/rc.d/init.d/irda</> et le reste sera plug &amp; play. Il ne serait
plus nécessaire de démarrer manuellement les programmes et de configurer les
périphériques. Pour l'instant, lorsque <tt>irmanager</> reçoit les événements
suivants, il fera~:

EVENT_IRLAN_START, démarre et configure le périphérique avec <tt>/sbin/ifup
&lt;dev&gt;</>

EVENT_IRLAN_STOP, ferme l'interface avec <tt>/sbin/ifdown &lt;dev&gt;</>

cela peut bien sur être changé simplement par l'utilisateur, si ce n'est pas
la façon qu'il a de le faire.<!--NdT~: c pas bô ça-->

<sect1>Pilotes de bas niveau

<p>
Il y a trois sortes de pilotes de bas niveau~: SIR, dongle et FIR. Si le bon
pilote est trouvé par le noyau, vous aurez un message ressemblant à~:

<tscreen><verb>IrDA irda_device irda0 registered.</verb></tscreen>

<sect2>SIR

<p>

<itemize>
Essayez de trouver quel port série est utilisé par le périphérique
infrarouge. Vous pouvez le faire en regardant ce que donne <tt>dmesg</>. Si
le support série est sous forme de module vous pouvez faire un <tt>insmod
serial</>. Cherchez une entrée telle~:

<tscreen><verb>
Serial driver version 4.25 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A     #Permier port série /dev/ttyS0
ttyS01 at 0x3000 (irq = 10) is a 16550A    #ex. port IR
ttyS02 at 0x0300 (irq = 3) is a 16550A     #ex. port modem PCMCIA
</verb></tscreen>

Si ce n'est pas le cas, soit vous n'avez pas activé le support infrarouge
dans le BIOS ou votre périphérique infrarouge n'est pas détecté par le
noyau. Pour l'instant, je ne connais que deux portables qui ont ce
comportement, le HP OmniBook 800 et les Toshiba Libretto. Je ne suis pas
certain du rôle que joue le PnP dans la détection du port IR. Si vous n'êtes
pas sûr, essayez et donnez moi le résultat.

<item>
Dans certaines situations, vous aurez peut être à faire un <tt>setserial
/dev/ttyS&lt;0-2&gt; port 0xNNNN irq M</> pour donner les bonnes valeurs à
votre port infrarouge série, surtout si le port série est sur une ligne
série séparée. Normalement, il n'est pas nécessaire de modifier ces valeurs
! Pour plus d'informations, référez vous à la FAQ ci dessous.

<item>
Si vous n'utilisez pas <tt>kerneld</> ou <tt>kmod</> insérez le module irda
avec <tt>modprobe irda</>.

<item>
Faites un <tt>lsmod</>. Les modules <tt>irda</> et <tt>irtty</> devraient
apparaître.

<item>
Un coup d'oeil dans <tt>/var/log/messages</> devrait vous afficher
&dquot;<tt>Serial connection established</>&dquot; maintenant.

<item>
Tapez <tt>irmanager -d1</>, cela lancera les programmes nécessaires, tels
<tt>irattach</>.

<item>
Donnez à <tt>irattach</> un peu de temps (ex: sept secondes), pour détecter
les autres périphériques infrarouges. Ensuite, regardez ce que vous affiche
le noyau dans <tt>/var/log/messages</>. Cela devrait ressembler aux lignes
suivantes (j'ai supprimé quelques lignes qui n'étaient pas en relation avec
Linux/IrDA)~:

</itemize>
<tscreen><verb>
Jan  2 12:57:26 japh kernel: ttyS00 at 0x03f8 (irq = 4) is a 16550A
Jan  2 12:57:26 japh kernel: ttyS02 at 0x03e8 (irq = 4) is a 16550A
Jan  2 12:57:26 japh kernel: Linux Support for the IrDA (tm) protocols (Dag Brattli)
Jan  2 12:59:09 japh syslog: executing: 'echo 1 &gt; /proc/sys/net/irda/discovery'
Jan  2 12:59:09 japh syslog: Setting discovery to 1 exited with status 1
Jan  2 12:59:09 japh syslog: + 0.1 Fri Jul 25 11:45:26 1997 Dag Brattli
Jan  2 12:59:09 japh syslog: + 0.1 Fri Jul 25 11:45:26 1997 Dag Brattli
Jan  2 12:59:09 japh syslog: Serial connection established.
Jan  2 12:59:09 japh kernel: IrDA irda_device irda0 registered.
Jan  2 13:01:22 japh syslog: executing: './drivers start '
Jan  2 13:01:22 japh syslog: Serial connection established.
Jan  2 13:01:42 japh syslogd: Printing partial message
Jan  2 13:01:42 japh 0.1 Fri Jul 25 11:45:26 1997 Dag Brattli 
Jan  2 13:02:49 japh kernel: IrDA Discovered: japh
Jan  2 13:02:49 japh kernel:     Services: Computer 
</verb></tscreen>

<sect2>Connexion des dongles - Adaptateurs infrarouges sur port série.

<p>
Les dongles supportés actuellement sont le Extended Systems Inc. ESI-9680
JetEye, le Tekram IRmate 210B, le ACTiSYS IR220L et 2\20L+, le Greenwich
GIrBIL.

<p>
Dag Brattli a écrit (modifié par wh)~: &dquot;Pour utiliser un dongle, vous
aurez à faire un truc comme~:

<tscreen><verb>
modprobe tekram         # ou esi ou actisys
irmanager -d 1          # 
irattach -d tekram      # ou -d esi ou -d actisys
</verb></tscreen>

Comme vous pouvez le voir, vous avez toujours à utiliser l'option <tt>-d</>
avec <tt>irattach</> vu qu'il est possible d'avoir deux ports séries
utilisant deux dongles différents au même moment (le tty que vous liez doit
savoir à quel dongle il a à faire). Donc, si vous avez deux dongles et deux
ports séries, vous aurez à faire un truc comme cela~:

<tscreen><verb>
modprobe tekram
modprobe esi
irattach /dev/ttyS0 -d esi &
irattach /dev/ttyS1 -d tekram &
</verb></tscreen>

PS~: Je n'essaierais pas de mettre les deux dongles l'un en face de l'autre,
car je ne sais pas trop quelle serait la réaction de la pile~:-)

Comme je n'ai pas de nouveaux dongles ACTiSYS 220L+ sous la main, je ne peut
pas les tester. Et comme ces nouveaux dongles supportent une vitesse
supplémentaire (28400bps), vous devez spécifier le dongle différemment avec
<tt>irattach</> de telle sorte que le noyau sache quel dongle vous utilisez
(et quel QoS peut être utilisé)~:

<tscreen><verb>
irattach /dev/ttyS0 -d actisys     # pour le dongle 220L 
irattach /dev/ttyS0 -d actisys+    # pour le dongle 220L+
</verb></tscreen>

L'implémentation actuelle du support des dongles n'a aucun état précis, il
n'est donc pas possible d'utiliser les deux dongles ACTiSYS (220L et 220L+
en même temps (connecté à deux ports séries) pour l'instant. Si vous avez
besoin de le faire, envoyez moi un e-mail (Dag Brattli) et j'y songerais
peut être~!&dquot;

Note~: Quand j'ai essayé d'utiliser un modem infrarouge (Swissmod 56Ki,
construit par Telelink AG) connecté à mon portable (l'IrDA n'y marche
qu'avec Windows 95 du à un matériel non standard) j'ai du désactiver le
support infrarouge depuis le BIOS pour le faire marcher~!

<p>
<sect2>Connexion des dongles - Adaptateur infrarouge pour carte mère

<p>
Le support pour le dongle ACTiSYS IR2000 a été implémenté dans un fichier
appelé <tt>px87108</> que vous pouvez soit compiler dans le noyau, soit en
tant que module~:

<tscreen><verb>
irmanager -d 1
modprobe pc87108
</verb></tscreen>

ou insérez <tt>modprobe pc87108</> dans le fichier <tt>/etc/irda/drivers</>
(je pense).

<sect2>Infrarouge rapide (FIR = Fast InfraRed)

<p>
Le standard IrDA(TM) reconnaît <it>trois</> vitesses différentes~:

<p>

<enum>

<item>
SIR = IrDA standard (Standard IrDA), jusqu'à 115kbps IrDA,

<item>
MIR = IrDA à vitesse moyenne (Medium Speed IrDA),

<item>
FIR = IrDA rapide (Fast IrDA) (4Mbps),

<item>
VFIR = IrDA très rapide (Very Fast IrDA) (16Mbps), semble devenir le standard futur

</enum>
Jusqu'à 115,200 bps, beaucoup de contrôleurs infrarouges
fonctionnent comme un port série. Jusqu'à 4Mbps, ils marchent dans le mode
&dquot;FIR&dquot;. Actuellement, seuls deux contrôleurs sont supportés :
NationalSemiConductor NSC PC87108 (utilisé dans les IBM Thinkpad 560X) et la
puce Winbond W83977AF (utilisé dans le PC Corel Netwinder). Vous pouvez
lancer le service FIR en chargeant le modules approprié. Linux/IrDA se
chargera de détecter vos périphériques à ce moment là.

<p>
<sect>Protocoles et connexions spécifiques
<p>
<sect1>Connexion imprimante - IrLPT
<p>
IrLPT est en phase de développement active en ce moment. La partie cliente
devrait marcher, mais le serveur pourrait planter.

<itemize>
<item>
Supprimer toutes les impressions en attente avec <tt>lprm &dquot;*&dquot</>.

<item>
Si vous n'utilisez pas <tt>kerneld</> faites un <tt>modprobe irtty</>.

<item>
Faites un <tt>modprobe irlpt_client</>.

<item>
Vérifiez que le module est bien chargé avec <tt>lsmod</>. Il devrait y avoir
<tt>irda</>, <tt>irtty</> et <tt>irlpt_client</>

<item>
<tt>cat /proc/misc</> vous donne le <it>numéro mineur</> du
périphérique. C'est le premier chiffre sur la ligne avec irlpt0.

<item>
faites un <tt>su</> pour devenir root, et faites un <tt>mknod /dev/irlpt0 c
10 &lt;numéro mineur&gt;</>. Note : quelque chose comme <tt>./MAKEDEV
irlpt0</> n'est toujours pas possible, mais un <tt>load_misc irlpt</>
marche, bien que je ne puisse pas le confirmer.

<item>
Essayez d'écrire un petit fichier vers /dev/irlpt0 en <tt>cat FILE
&gt;/dev/irlpt0</> (ne pensez pas au format, c'est juste un test). Pour moi,
ça n'a pas toujours marché, mais je n'ai jamais compris pourquoi.

<item>
La meilleure façon est de changer votre <tt>/etc/printcap</> pour utiliser
plutôt <tt>/dev/irlpt0</> ou même à la place de <tt>/dev/lp1</>. Référez
vous au <tt>Printing-HOWTO</> pour plus de détails.

<item>
Pour imprimer plus facilement, utilisez un logiciel d'impression tel
APSFILTER, MagicFilter EZ-Magic (avec la RedHat il devrait aussi y avoir une
interface graphique pour cette chose là). Faites toujours une copie de
<tt>/etc/printcap</> avant :-).

<item>
Exemple pour APSFILTER avec une imprimante HP 6P (non postscript, HP 6MP est
postscript). Les deux questions utiles sont :

<p>
&dquot;Avez vous une interface (s)série ou (p)parallèle ?&dquot; Réponse
&dquot;p&dquot;

<p>
&dquot;Quelle est le nom du périphérique pour votre imprimante parallèle
?&dquot; Réponse &dquot;<tt>/dev/irlpt0</>&dquot;

<p>

<item>
Redémarrez le démon d'impression avec <tt>kill -HUP &lt;PID de
lpd&gt;</>. Si vous utilisez un autre démon d'impression, utilisez la
commande appropriée.

<item>
Regardez si l'indicateur de connexion de votre imprimante montre des signes
d'activité, par exemple, sur les HP 6P/6MP le petit voyant vert au dessus du
port infrarouge s'allume (en bas à gauche, près du bac à papier).

<item>
Je n'ai jamais réussi à imprimer des documents de plus d'environ 10 pages
jusqu'à présent. Mais cela dépend peut être de la mémoire de mon système
(16Mo). Mais il semble qu'il y ait un problème logiciel aussi, Thomas Davis
a écrit : &dquot;Je ... limiterais IrLPT pour qu'il ne prenne pas trop de
mémoire lors de l'impression d'un gros fichier.&dquot;.

</itemize>

<p>
Takahide Higuchi a rapporté : &dquot;J'ai testé IrCOMM avec une imprimante
(Canon BJC-80v) ayant un port IrDA et le protocole IrCOMM (pas IrLPT). J'ai
pu imprimer de petits textes, mais il se peut que cela cause facilement un
blocage total lorsque j' essaye d'imprimer un fichier postscript avec
gs.&dquot;.

<p>
Sur la page de Thomas Davis <htmlurl url="http://www.jps.net/tadavis/irda"
name="http://www.jps.net/tadavis/irda">, on peut lire que pour utiliser le
serveur IrLPT, il faut :

<tscreen><verb>
/sbin/insmod irlpt_server 
/sbin/mknod /dev/irlptd c 10 `grep irlptd /proc/misc|cut -f 1` 
</verb></tscreen>

A ce moment là, le serveur IrLPT est prêt à recevoir des fichiers à
imprimer. Maintenant, tout ce dont vous avez besoin est un script :

<tscreen><verb>
#!/bin/sh
#
while (true)
do
cat /dev/irlptd | lpr
done
</verb></tscreen>

<p>
<sect1>Connexion LAN - IrLAN

<p>

<itemize>

<item>
Vous pouvez connecter votre ordinateur sous Linux en utilisant IrLAN avec un
autre périphérique, par exemple, une autre machine Linux avec IrLAN, un HP
NetBeamer ou une machine Windows9* avec une interface infrarouge.

<item>
Dag Brattli a écrit : &dquot;Si vous voulez utiliser IrLAN, vous devez faire
un <tt>modprobe irlan_client</> avant <tt>ifup eth0</>. J'ai du supprimer
toute la partie request_module() car cela nécessite un contexte non disponible
dans le noyau.&dquot;.

<item>
Lancez <tt>ifconfig eth0 up &lt;addresse_ip&gt; netmask
&lt;masque_sous_réseau&gt;</> pour le configurer avec une adresse IP et
d'autres paramètres. Si le protocole est toujours en mémoire, vous pourrez
commencer à communiquer. Il est possible d'utiliser l'outil <tt>netcfg</> de
la RedHat pour le faire, cela rend les choses plus faciles. La prochaine fois,
vous aurez juste à faire un <tt>/sbin/ifup eth0</>.

<item>
Testez l'interface réseau en la pingant. Pour plus de détails, référez vous
au <it>NET3-HOWTO</>.

<item>
N'oubliez pas d'ajouter une route, ex : <tt>route add default gw
&lt;ip_passerelle&gt;</> ou <tt>route add -host &lt;cible&gt; dev eth0</>.

<item>
Pingez une autre IP, pour tester la connexion.

<item>
Pour des raisons de test, je recommande de n'utiliser qu'un seul portable et
une seule interface infrarouge dans la même pièce. Si il y a des problèmes,
regardez quels sont les différents modes possibles pour l'interface
infrarouge. Testez les...

</itemize>

Pour une carte ou un dongle ACTiSYS FIR, vous aurez à faire~:

<tscreen><verb>
irmanager -d1
/sbin/modprobe pc87108  # Supprimer irattach de /etc/irda/drivers, ou
                        # substituer irattach par modprobe !
</verb></tscreen>

Sur la machine 1~:

<tscreen><verb>
modprobe irlan_client # Pas vraiment nécessaire, vu que irmanager devrait le faire !
</verb></tscreen>

Sur la machine 2 (si vous n'avez pas un point d'accès)

<tscreen><verb>
modprobe irlan_server
</verb></tscreen>

<p>
Ne compilez pas <tt>irlan_server</> dans le noyau, car il n'aime pas ça du
tout pour l'instant ! Vous devriez avoir configuré
<tt>/etc/sysconfig/network-scripts/ircfg-eth0</> avec le bon réseau si vous
utilisez deux machines. Si vous avez un point d'accès, alors, le paramétrage
par défaut devrait être bon.

<p>
Remarquez que dans le dernier patch (2.2.0-irda1), irlan_client devrait
appeler le périphérique <tt>irlan0</> par défaut, mais il est possible de
modifier ce comportement en donnant <tt>eth=1</> comme option à
<tt>irlan_client</> (<tt>modprobe irlan_client eth=1</> ou <tt>options
irlan_client eth=1</> dans <tt>/etc/conf.modules</>).

<p>
La prochaine version d'IrLAN ne sera qu'un seul module, alors, vous n'aurez
pas à penser au fait qu'il vous faut le client et/ou le serveur d'installé.

<p>
Il est possible de faire un <tt>ifconfig irlan0 -broadcast</> pour empêcher
l'AP de vous submerger avec des trames de broadcast ! Cela peut être un
problème si vous êtes connectés à un segment ethernet très large. Le seul
problème sera que votre machine aura à démarrer toutes les communications,
et donc, ne pourra pas marcher en tant que serveur (bon, vous devriez
pouvoir trouver une machine fixe qui pourrait répondre aux requêtes ARP à
votre place).

<p>
<sect1>Connexion Palm III - IrOBEX

<p>
La partie IrOBEX semble être en constant développement. Par conséquent, les
applications changent aussi. Par conséquent, je ne peux pas vous donner des
informations exactes. Allez voir la page de Dag Brattli à <htmlurl
url="http://www.cdpubs.com/hhsys/archives/66/10brattl.pdf"
name="http://www.cdpubs.com/hhsys/archives/66/10brattl.pdf">.

<p>
Le script <tt>/etc/irda</> est vraiment juste bon pour configurer les
périphériques, en faisant le bon mknod pour <tt>/dev/irobex</> etc, pas pour
démarrer des applications.

<itemize>
<item>Palm III -&gt; Linux

<p>
1) Terminal 1&gt; <tt>irattach /dev/ttyS&lt;x&gt;</>

<p>
2) Terminal 2&gt; <tt>load_misc irobex</>

<p>
3) Terminal 3&gt; Démarrez <tt>irobex_app</> depuis le répertoire irobex. Je
suppose que <tt>irobex_app</> ne marche plus maintenant. Maintenant, vous
devez utiliser le programme <tt>gtk/irobex</> ! Vous avez besoin que la
librairie gtk soit installée pour pouvoir utiliser ce programme. Une
interface graphique devrait être développée par quelqu'un. Le programme à
utiliser devrait être <tt>irobex_receive</>.

<p>
4) Récupérez quelque chose depuis votre Palm III.

<p>
5) Si tout va bien, vous pouvez aller voir le fichier qui vient d'arriver
dans le répertoire depuis lequel a été lancé irobex_app (ou /tmp pour
irobex_receive). Le nom de ce fichier dépendra de l'objet que vous avez
transféré.

<p>

<item>Linux -&gt; Palm III
<p>
Cela devrait être possible, mais je n'ai pas d'informations pour l'instant.

<item>PPP
<p>
Rui Oliveira a écrit : &dquot;Grâce au dernier patch IrCOMM (050998) de
Takahide Higuchi, j'ai réussi à synchroniser et à établir une connexion PPP
entre mon Palm III et ma machine Linux. J'utilise IRLink (provenant de
IsComplete) pour rediriger le port série vers un port IR. La communication
avec pilot-xfer marche sans aucun problème. Bien que j'aie réussi à établir
une connexion PPP, je n'arrive toujours pas à récupérer des emails et à
naviguer sur le Web. Cela est probablement du à des timeouts de
connexion. Je suis en train d'essayer de résoudre ce
problème.&dquot;. Référez vous au <it>PPP-HOWTO</> pour de plus amples
informations sur le PPP.

<item>IrCOMM
<p>
Jon Howell a écrit : &dquot;Je pensais essayer IrCOMM, car le Palm III peut
être configuré pour rerouter les infos du port série vers le port IR (en
utilisant IrLink de IS/Complete, disponible sur <htmlurl
url="http://www.palmcentral.com/" name="www.palmcentral.com">), et ensuite,
vous pouvez lancer un programme terminal (tel &dquot;PalmTelnet&dquot; en
mode série) à travers IrDA. Je peux seulement supposer qu'il utilise le
protocole IrCOMM. J'ai testé cette configuration entre deux Palm Pilots,
mais là, je ne peux pas savoir quel protocole est utilisé.

Je n'ai pas réussi à trouver une application au code IrCOMM. Je vois sur la
page d'avancement qu'il y a un &dquot;support client (devrait commencer à
être utilisable)&dquot; mais je ne trouve aucune documentation sur comment
l'utiliser.&dquot;.

</itemize>

<sect1>Connexion avec un téléphone cellulaire.
<p>
D'après ce que je sais, quelques téléphones utilisent le standard IrCOMM, ex:
Ericsson SH888 et NOKIA 8110. Benny Amorsen a écrit : &dquot;J'ai utilisé
minicom avec le SH888, et j'ai réussi à établir une connexion (CONNECT
9600...). Je n'ai pas réussi à lui faire faire quoi que ce soit d'autre après
la connexion, et raccrocher en arrêtant la porteuse ne marche pas. +++ J'ai
bien travaillé, maintenant, il sait raccrocher. Je dois dire que le SH888
n'est pas loin de marcher très bien avec Linux/IrDA, et devrait même marcher
avec les noyaux 2.0.x. Je n'utilise que les noyaux 2.1.&dquot;.

Il se peut que d'autres téléphones utilisent le standard IrOBEX, allez faire
un tour dans la section Palm III pour apprendre à faire une connexion.

Carlos Vidal a écrit : &dquot;Corrigez moi si j'ai tout faux, mais il me
semble que les téléphones NOKIA ne contiennent pas de modem matériel, mais
quelque chose assez similaire aux WinModems pour les PC. Car à chaque fois que
NOKIA écrit un truc à propos de communication via modem, ils utilisent le même
nom de &dquot;Modem Windows logiciel&dquot; (ou quelque chose de
similaire). Ce qui est actuellement confirmé par le fait qu'il faut utiliser
les logiciels NOKIA pour Windows (nommés : NOKIA Cellular Data Suite).

Joonas Lehtinen a écrit : &dquot;Cela est vrai pour les modèles 61xx. Les
modèles 8810, 9000(i) et 9110 devraient marcher (ils ont un modem
intégré). Mon N9000 marche avec IrCOMM et Linux de la façon suivante :

Pour démarrer une session de communication avec <tt>/dev/irnine</>, par
exemple, faites :

<tscreen><verb>
dip -t
&gt; port irnine
&gt; term
</verb></tscreen>

Vous utiliserez peut être <tt>cu</> à la place de <tt>dip</>. Il y a aussi du
travail de fait avec l'Ericsson GF768 et le modem IR DI 27.

<p>
Benny Amorsen a écrit : Le SH888 émule le port IrDA quand vous vous connectez
via un câble série, alors que beaucoup penseraient que c'est une chose plutôt
obscure comme cela l'est pour moi. Mais c'est la seule manière de le faire
fonctionner avec Windows, bien que je n'ai jamais réussi à le faire marcher
avec Windows.

<sect1> Connexion avec un appareil photo numérique

<p>
Markus Schill a écrit : &dquot;Heureusement qu'il y a d'autre personnes qui
sont intéressées à faire fonctionner l'adaptateur IR SONY DSC-F1 sous
Linux. Jusqu'à maintenant, je n'ai fait que jouer avec les logiciels de la
suite Linux/IrDA et l'adaptateur série qui est fournit avec l'appareil
photo. Voici où cela en est. J'utilise un noyau 2.0.33 et les derniers
Linux/IrDA... Si je fait~:

<tscreen><verb>
insmod irda 
insmod irtty 
irattach /dev/cua0
</verb></tscreen>

L'adaptateur commence à discuter avec l'appareil photo.
<tt>/var/log/messages</> dit que le SONY-DSC-F1 a été trouvé, mais qu'aucun
service n'a été démarré. (notez que ce comportement ne s'applique peut être
pas aux noyaux 2.2.x).

Il y a deux programmes pour Linux qui sont disponibles et qui peuvent être
utilisés avec l'appareil photo avec le câble~: (1) <tt>chotplay</> et (2)
<tt>stillgrab</>. Ils prennent tous les deux un tty comme ligne de commande,
par conséquent, je suppose qu'ils devraient marcher si la couche irtty et la
pile de protocole fonctionnent correctement... Je n'ai pas jeté de coup d'oeil
au code Linux/IrDA pour l'instant~! Je ne suis pas certain de comprendre la
pile, mais irtty ne devrait-il pas faire en sorte que cela ressemble à un vrai
tty~? Quel service devrait être démarré~?~&dquot;

Dag Brattli a écrit : &dquot;Je ne suis pas certain de savoir quel protocole
l'appareil photo utilise, mais il est possible qu'il implémente les
spécifications du protocole IrDA(TM) transfert d'images par infrarouge
(Infrared Transfer Picture IrTran-P). Allez jeter un coup d'oeil à <htmlurl
url="http://www.irda.org/standards/pubs/IrTran-P_10.pdf"
name="http://www.irda.org/standards/pubs/IrTran-P_10.pdf">, vous verrez que le
protocole est implémenté par dessus IrCOMM (pas IrTTY~!). IrTTY est
quelque chose que nous utilisons juste pour communiquer avec le pilote série de
Linux. &dquot;

<sect1>Window$95 et Linux/IrDA
<p>
Introduction

Pourquoi cette section ? Malheureusement, les utilisateurs de Linux ne sont
pas toujours capable de savoir tout sur leur configuration
matérielle. Quelquefois, il est possible de trouver ces informations depuis
Window$95.

Où commencer ? Sur <htmlurl
url="http://www.microsoft.com/windows95/info/irda.htm"
name="http://www.microsoft.com/windows95/info/irda.htm"> vous trouverez un
support pour &dquot;Infrared Transfer 2.0&dquot;. C'est une archive
auto extractible (<tt>W95IR.EXE</>) qui fait 331Ko.

Avec certaines machines telles le HP Omnibook 800, il est nécessaire
d'utiliser les spécifications du fabricant (pour cet Omnibook, cela se trouve
sur votre CD de secours).

Les fichiers les plus intéressants pour trouver des détails sur la
configuration sont les <tt>..\windows\inf\*.inf</> et les gestionnaires de
périphériques.

D'après ce que je sais, Window$NT ne supporte pas IrDA(TM). Et pour Windows98,
je n'ai pas encore entendu parler de support IrDA(TM) pour l'instant.

Il y a aussi quelques périphériques non M$ disponibles. Notez toutefois que
certains utilisent des protocoles infrarouges propriétaires~:

<itemize>
<item>CounterPoint: QuickBeam 1.15 
<item>LapLink 7.5 
<item>CarbonCopy 32 4.0 
<item>pc ANYWHERE 7.5 
<item>Puma Technology: TRANXIT pro 4.0 
</itemize>

<p>
Connexion entre Linux/IrDA et Window$95 IrDA(TM)

Je pense qu'il y a <tt>trois</> façons de connecter Linux/IrDA et Window$95~:

Une <it>connexion réseau</> entre les deux PC. Si vous avez mis en place
<it>Infrared Transfer 2.0</>, vous devriez trouver une interface réseau
IrDA(TM) dans la liste des interfaces réseaux. Mais je n'ai pas encore réussi
à faire une connexion.

Il est certainement aussi possible d'utiliser le <it>protocole IrOBEX</>. Mais
je ne sais pas quel logiciel utiliser et où le trouver. Je pensais que les
logiciels nécessaires viendraient avec le Palm III, mais il s'avère que ce
n'est pas le cas.

Takahide Higuchi <htmlurl url = "mailto:thiguchi@pluto.dti.ne.jp" name =
"&lt;thiguchi@pluto.dti.ne.jp&gt;"> a fournit le <it>support IrCOMM</>. Depuis
sa page <htmlurl url="http://www.pluto.dti.ne.jp/~thiguchi/irda/"
name="http://www.pluto.dti.ne.jp/~thiguchi/irda/"> j'ai récupéré la
description suivante (que j'ai légèrement modifiée) : &dquot;Avec IrCOMM, il
est possible d'envoyer et de recevoir de petits messages entre une machine
Linux et un programme de terminal sur un portable sous Win95~! Ajoutez cette
ligne à votre <tt>/etc/conf.modules</>~:

<tscreen><verb>
alias char-major-60 ircomm_tty
</verb></tscreen>

Ensuite, créez un fichier de périphérique <tt>mknod /dev/irnine c 60
64</>. Maintenant, les services Linux/IrDA peuvent être démarrés avec
<tt>irattach /dev/ttyS? &amp;</>. <tt>/dev/irnine</> peut être utilisé comme
port série. Les modules <tt>ircomm</> et <tt>ircomm_tty</> seront chargés
automatiquement par <tt>kerneld/kmod</> quand un programme utilise
<tt>/dev/irnine</>. NOTE~: Je pense que le programme &dquot;setserial&dquot;
ne devrait pas être utilisé sur <tt>/dev/irnine</>. Quelques petits trucs~:

<itemize>

<item>
Pour autoriser les login via IrCOMM, utilisez cela en tant que root~:
Premièrement, activez IrDA et IrCOMM, Ensuite, éditez <tt>/etc/inittab</> et
ajoutez une ligne comme celle là~:

<tscreen><verb>
T1:23:respawn:/sbin/getty -L -w irnine 38400 vt100
</verb></tscreen>

Et faites ceci en tant que root~: <tt>init q</>. Et <tt>init</> commencera à
attendre les connexions IrCOMM. Vous verrez apparaître votre prompt de login
préféré depuis un émulateur de terminal depuis Win95~!

<item>
Si vous essayez <tt>pppd</>, pensez à utiliser l'option -crtscts pour
désactiver le contrôle de flux. J'ai implémenté une petite émulation de
contrôle de flux, mais cela n'a pas été testé.

<item>
Maintenant, mon patch montre quel fonctionnalités sont nécessaires à l'autre
interface infrarouge. Des messages de ce style seront écrits dans le syslog~:

<verb>
Sep 4 10:01:02 monolith kernel: parse_control:instruction(0x12)
Sep 4 10:01:02 monolith kernel: data:03
</verb>

<item>
Je voudrais spécialement connaître les messages donnés par SH888 (ou tout
autre type de périphériques sauf les PC sous windows 95). Donc, s'il vous
plaît envoyez moi vos syslog générés durant les connexions IrCOMM~! Si vous
avez une copie des spécifications IrCOMM écrites par IrDA(TM), référez vous
aux pages 34 ou 38, et vous comprendrez ce que ces messages signifient.&dquot;

</itemize>

<sect1>Connexion de Linux à Linux

<p>
<sect2>Méthodes de connexions

<p>
Il devrait y avoir <it>trois</> façons de connecter deux machines Linux
via Linux/IrDA.

<itemize>

<item>
Dag Brattli a écrit à propos du <it>support IrOBEX</>~: &dquot;Le lecteur
averti se demandera ce qui peut empêcher de transférer des fichiers d'une
machine Linux à une autre machine Linux. Et bien, rien~!! (mais je n'ai pas
encore essayé~;-)). Cela signifie que nous avons maintenant une manière
&dquot;simple&dquot; de transférer des fichiers entre deux portables Linux. Je
pense que cela devrait être la &dquot;fonctionnalité qui tue&dquot; que nous
attendions tous~!&dquot; Essayez de faire <tt>load_misc irobex</> des deux
cotés, et ensuite, essayer <tt>iroabex_app get</> sur l'une des deux machines
et <tt>irobex put &lt;file&gt;</> sur l'autre.&dquot;.

<item>
Via une connexion <it>réseau Linux/IrDA</>. Je suppose que vous aurez à
charger le module <tt>irlan_client</> sur l'une des machines et le module
<tt>irlan_server</> sur l'autre.

<item>
Avec le support <it>IrCOMM</>, c'est à dire via une liaison série, ce qui
signifierait <tt>minicom</>, <tt>pppd</>, etc.

</itemize>

<sect2>Compression
<p>
Notez que cette fonctionnalité est toujours vraiment expérimentale~! Dag
Brattli a écrit~: &dquot;Je voulais juste vous dire que je viens juste
d'ajouter de la COMPRESSION à IrLAP~! Comme vous le savez peut être, cela ne
fait pas partie du standard IrDA(TM), mais Linux peut négocier avec son voisin
et savoir si il est capable de compresser les données. Donc, si vous discutez
avec une machine Win95, Palm III ou quoi que ce soit d'autre, vous n'aurez pas
de compression~!!! C'est une fonctionnalité propre à Linux d'autant que je
sache~! Le standard IrDA(TM) dit que les périphériques doivent ignorer les
champs inconnus dans les en-têtes de négociations, donc, nous sommes toujours
compatibles avec le standard IrDA(TM) (j'ai juste emprunté une valeur non
utilisée dans les en-têtes).

Si vous voulez essayer d'utiliser la compression (Linux &lt;-&gt; Linux) vous
aurez à insérer le module <tt>irda_deflate</> quelques temps avant de faire la
connexion. Personnellement, je le fait avant <tt>irattach</>.

Le standard de compression que j'ai ajouté est le format deflate utilisé par
la librairie zlib qui est décrit par les RFC (Request for Comments) 1950 à
1952 dans les fichiers <tt>ftp://ds.internic.net/rfc/rfc1950.txt</>
(<it>format zlib</>), <tt>rfc1951.txt</> (<it>format deflate</>) et
<tt>rfc1952.txt</> (<it>format gzip</>).

L'interface de compression est similaire à celle qu'utilise PPP, par
conséquent vous pouvez ajouter autant de compresseurs différents. Pour
l'instant, seul GZIP est supporté, mais la compression BSD sera ajoutée plus
tard.&dquot;

<p>
<sect1>Instances multiples
<p>
Dag Brattli a écrit~: &dquot;La couche IrLAP a été améliorée de telle sorte
qu'elle autorise plusieurs instances (de cette façon, je peux utiliser mon
port infrarouge pour IrLAN et communiquer avec mon Pilot via un dongle IrDA en
même temps)... Comment faire pour avoir plusieurs connexions Linux/IrDA~? Et
bien, facile, lancez tout simplement <tt>irattach</> autant de fois que vous
avez de ports... procédez comme il suit~:~&dquot;

<tscreen><verb>
irattach /dev/ttyS0 &    (mon dongle ESI)
irattach /dev/ttyS2 &    (mon port IrDA intégré)

insmod irlan_client
insmod irobex
</verb></tscreen>

<p>
<sect>Matériel supporté par Linux/IrDA
<p>
<sect1>Récupérer des informations à propos des ports infrarouges des portables
<p>
Pour faire marcher le port IrDA de votre portable avec Linux/IrDA vous pouvez
utiliser StandardInfraRed (SIR) ou FastInfraRed (FIR).

<sect2>SIR
<p>
Jusqu'à 115.200 bps, le port infrarouge émule un port série tel l'UART
16550A. Ceci sera détecté par le pilote série du noyau au boot ou lorsque vous
chargerez le module <tt>serial</>. Si le support infrarouge est activé dans le
BIOS, pour la majorité des portables, vous aurez un message du noyau dans le
style~:

<tscreen><verb>
Serial driver version 4.25 with no serial options enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A     #Premier port série/dev/ttyS0
ttyS01 at 0x3000 (irq = 10) is a 16550A    #ex port infrarouge
ttyS02 at 0x0300 (irq = 3) is a 16550A     #ex port modem PCMCIA
</verb></tscreen>

<sect2>FIR
<p>
Si vous voulez utiliser jusqu'à 4 Mbps, votre machine doit être équipée d'une
puce FIR spécifique. Vous aurez besoin d'un pilote Linux/IrDA spécial pour
cette puce. Par conséquent, il est nécessaire de savoir exactement quelle puce
vous avez. Vous pouvez trouver ces informations de différentes manières~:

<enum>

<item>
Lisez les spécifications de votre machine, mais bon, il est très rare que vous
y trouviez suffisamment d'informations.

<item>
Faites un <tt>cat /proc/pci</>, mais bon, les informations PCI sont souvent
incomplètes. Vous trouverez les dernières informations à propos des
périphériques PCI et des numéros de fabricants sur la page de Craig Hart
<htmlurl url="http://members.hyperlink.net.au/~chart"
name="http://members.hyperlink.net.au/~chart"> . Depuis les noyaux 2.1.82,
vous pouvez utiliser <tt>lspci</> fourni avec les <tt>pci-utils</>. Les
fichiers correspondants pour les noyaux 2.2.x sont dans <tt>/proc/bus/pci</>.

<item>
Si vous avez installé les logiciels Linux/IrDA, chargez le module FIR et
regardez ce que donne <tt>dmesg</>, pour savoir si votre FIR est détectée ou
pas.

<item>
Bien que je ne les utilise pas encore dans ce but, les outils <tt>isapnp</>
devraient être utiles.

<item>
Une autre manière de trouver, expliquée par Thomas Davis~: &dquot;Foncez sur le
site FTP (du fabriquant), trouvez les pilotes FIR, et ils ont (pour la puce
SMC)~:

<tscreen><verb>
-rw-rw-r--   1 ratbert  ratbert       743 Apr  3  1997 smcirlap.inf 
-rw-rw-r--   1 ratbert  ratbert     17021 Mar 24  1997 smcirlap.vxd 
-rw-rw-r--   1 ratbert  ratbert      1903 Jul 18  1997 smcser.inf 
-rw-rw-r--   1 ratbert  ratbert     31350 Jun  7  1997 smcser.vxd 
</verb></tscreen>

Si vous avez un doute, regardez toujours les fichiers .inf/.vxd de Win95;
Win95 n'est livré avec <bf>aucun</> pilotes FIR (ils viennent tous
d'ailleurs, pour la plupart de Counterpoint, qui a été absorbé par
ESI).&dquot;

<item>
Utilisez l'utilitaire DOS <tt>CTPCI330.EXE</> fourni au format ZIP par le
magazine informatique allemand CT <htmlurl url="http://www.heise.de" name="
http://www.heise.de ">. Les informations fournies par ce programme sont
parfois plus intéressantes que celles des programmes Linux.

<item>
Il y a aussi un petit utilitaire DOS fait par SMC appelé
&dquot;FindChip&dquot;. Le paquetage fournit aussi un utilitaire
&dquot;FirSetup&dquot; qui est supposé pouvoir tout régler à part l'adresse de
la puce. Référez vous à <htmlurl
url="http://www.smsc.com/ftppub/chips/appnote/ir_utils.zip"
name="http://www.smsc.com/ftppub/chips/appnote/ir_utils.zip">.

Attention~: Ce paquetage n'est pas fait pour l'utilisateur final, et certains
de ces utilitaires peuvent faire très mal. La seule documentation est au
format M$ Word. Les utilisateurs de Linux pourront le lire avec <tt>catdoc</>,
disponible à <htmlurl url="http://www.fe.msk.ru/~vitus/catdoc/"
name="http://www.fe.msk.ru/~vitus/catdoc/"> .

<item>
Utilisez le gestionnaire de périphérique de Window$95/98/NT.

<item>
Vous pouvez aussi vous référer à la section suivante.

</enum>

<sect1>Aperçu du matériel supporté

<p>
Il y a quelques pages qui parlent des périphériques infrarouges supportés par Linux sur le WWW~:

<itemize>
<item>
Le Linux/IrDA Project - rapport de matériel à <htmlurl
url="http://www.cs.uit.no/~dagb/irda/hardware.html"
name="http://www.cs.uit.no/~dagb/irda/hardware.html">

<item>
Takahide Higuchi à <htmlurl
url="http://www.pluto.dti.ne.jp/~thiguchi/ir/product.html"
name="http://www.pluto.dti.ne.jp/~thiguchi/ir/product.html">. Cette page est
en japonais.

<item>
J'ai aussi mis en place un rapport du matériel à <htmlurl
url="http://www.snafu.de/~wehe/index_li.html"
name="http://www.snafu.de/~wehe/index_li.html">. Cette liste contient aussi
des informations se rapportant aux périphériques qui supportent l'infrarouge
et qui ne sont pas mentionnés ici (souris, imprimantes, télécommandes,
transmetteurs, etc.).

<p>
Pour que cette liste soit la plus complète possible, il est nécessaire de
collecter le plus d'informations possible à propos des différents
périphériques infrarouges. Vous m'aiderez beaucoup en m'envoyant un court
email contenant le nom exact du périphérique et quel type de contrôleur
infrarouge est utilisé.

<p>
Tenez moi aussi au courant sur la façon dont Linux/IrDA a marché, sur quel
tty, port, interruption ça a marché, et le périphérique infrarouge
correspondant (imprimante, téléphone cellulaire) que vous utilisez.

<p>
Vous pouvez aussi aider en donnant des détails technologiques à propos de
certains périphériques infrarouges, ce qui est nécessaire pour développer un
périphérique correspondant pour Linux.

</itemize>

<p>

<sect>Interface graphique

<p>
Si vous voulez essayer une jolie interface graphique, vous pouvez essayer
<tt>ircp.pl</>. Vous aurez besoin du module Perl-GTK+ (<htmlurl
url="http://www.gnome.org" name=" http://www.gnome.org">) pour le faire
marcher. Cette interface graphique est loin d'être finie, alors, n'espérez pas
trop :-)

<sect>Économie d'énergie

<p>
Dans les spécifications de mon HP Ominbook 800, il est recommandé d'éteindre
le port infrarouge si il n'est pas utilisé parce qu'il peut consommer jusqu'à
10 % de la batterie.

Si nécessaire, vous pouvez aussi essayer de désactiver la fonctionnalité
<tt>Fast RRs</> dans la section IrDA du noyau. Cette option vous donnera de
bien meilleurs temps d'attente, mais consommera bien plus de puissance.

<p>
<sect>Résolution des problèmes, liste de diffusions

<p>
<sect1>Informations générales

<p>
Si vous rencontrez des problèmes, essayez ce qui suit~:

<itemize>
<item>
Lisez la FAQ ci dessous.

<item>
Allez faire un tour dans <tt>/var/log/messages</> et/ou <tt>/var/log/kern</>.

<item>
Tapez <tt>dmesg</>.

<item>
Allez voir les différents fichiers dans <tt>/proc/irda</>.

<item>
Allez faire un tour sur les <it>archives de la liste de diffusion</> à
<htmlurl url="http://www.ita.chalmers.se/~svinto/hypermail/irda/"
name="http://www.ita.chalmers.se/~svinto/hypermail/irda/">, pour savoir si
votre problème est déjà recensé.

<item>
Posez votre question sur la <it>liste de diffusion Linux/IrDA</>. Pour
vous abonner à la liste, envoyez un email à <tt>linux-irda-request@list.uit.no</>
avec &dquot;subscribe&dquot; (s'inscrire) dans le corps du message. Utilisez
l'adresse <tt>linux-irda@list.uit.no</> pour poster un message. Vous êtes le
bienvenu sur cette liste pour poser des questions, répondre aux questions,
faire des rapports de bugs, envoyer des patchs, faire des suggestions et des
commentaires. Pour éviter le spam, la liste est dorénavant modérée, par
conséquent, il se peut qu'un certain temps se passe avant que votre message
soit distribué aux autres membres de la liste.

</itemize>

<p>
<sect1>Technique de résolution des problèmes

<p>
Bien que je ne soit pas franchement un hacker, j'ai récupéré quelques erreurs
possibles et quelques bugs de la suite Linux/IrDA.

<itemize>

<item>
Vous pouvez régler le niveau de debug dans <tt>/proc/sys/net/irda/debug</> à
1, 2, 3 ou 4.

<item>
Utilisez les fichiers dans <tt>/proc/sys/net/irda</> pour essayer différents
paramètres comme <tt>echo 0 &gt; /proc/sys/net/irda/discovery</>.

<p>
Les différents fichiers présents dans <tt>/proc/*/irda</> sont~:

<tscreen><verb>
root@duckman:~# ls /proc/sys/net/irda/* /proc/net/irda/*
/proc/net/irda/discovery        /proc/net/irda/irlmp            /proc/sys/net/irda/devname
/proc/net/irda/irda_device      /proc/net/irda/irttp            /proc/sys/net/irda/discovery
/proc/net/irda/irias            /proc/sys/net/irda/compression
/proc/net/irda/irlap            /proc/sys/net/irda/debug
</verb></tscreen>

<item>
Il est aussi possible de débogger le code. Mais je ne sais pas le faire. Si
vous voulez utiliser le code de débogage SKB, vous pouvez éditer <tt>irda.h</>
et changer <tt>/include/linux/skbuff.h</> (référez vous à l'historique des
révisions du code datant du 2/10/98<!--oui, c'est pas bô, mais bon, je trouve
pas mieux-->).

<item>
Pour les problèmes avec le module <tt>irda</>, un module provenant du
<it>paquetage de modules</> <tt>kdstat</> pourra être utile. Mais je n'ai pas
été en mesure de l'essayer.

<item>
&dquot;Vous pouvez dorénavant changer le nombre de paquets de découverte
utilisés (1, 6, 8 ou 16) et le timeout entre deux émissions (2-8 * 10 ms)
depuis <tt>/proc/sys/net/irda</>. Faites des tests si vous avez des problèmes
à faire reconnaître votre périphérique. Mon Palm III semble préférer 16
<tt>discovery_slots</> et 8 (*10 ms) pour <tt>slot_timeout</>.&dquot;
... &dquot;Le minimum absolu pour une découverte du IR-610 semble être
9.&dquot;

<item>
Si l'un d'entre vous récupère un Oops du noyau, alors envoyez le dans le
programme <tt>../linux/scripts/ksymoops/ksymoops</>, pour que nous puissions
trouver d'où vient le problème. Copiez juste l'Oops depuis votre syslog et
coller le dans un fichier, ensuite, lancez <tt>ksymoops &lt;fichier&gt;</>.

<item>
Dag Brattli a écrit~: &dquot;J'ai découvert que la carte son cs4232 me faisait
plusieurs centaines d'interruptions par secondes~! Je l'ai supprimé du noyau,
et la machine est approximativement 4 fois plus rapide~!

<p>
Linux/IrDA peut rencontrer des problèmes si vous exécutez le serveur esound
(esd) sur votre machine. Aucune de mes deux machines, un portable P166 et un
PPro 200, ne peut exécuter Linux/IrDA quand esd est lancé. La raison est que
esd fait faire plus de 300 interruptions par seconde à la carte son, ce qui
fait que le pilote série perd des données quand il en reçoit. Cela est du au
fait que le pilote série utilise maintenant des interruptions lentes dans le
noyau 2.2 (tout utilise des interruptions lentes dans le 2.2), par conséquent
le gestionnaire d'interruptions s'affole un peu.  La bonne chose à propos des
interruptions lentes est que les paquets sont délivrés de manière plus rapide,
puisque vous n'avez pas à attendre le tick suivant. La seule exception pour
cela est le pilote pc87108 qui marche toujours bien car il utilise le DMA et
ne fera que deux interruptions par paquets.

</itemize>


<sect>Bugs connus
<p>
Si vous trouvez un bug, s'il vous plaît, envoyez un rapport à la liste,
incluant la sortie de <tt>dmesg</>, la version du noyau, et le matériel que
vous utilisez. Merci~!

Quelques fois, IrCOMM n'arrive pas à se connecter (spécialement quand les
deux périphériques se découvrent mutuellement. Vous pouvez désactiver la
découverte avec <tt>echo 0 &gt;/proc/sys/net/irda/discovery</>).

Un caractère CR (retour à la ligne) ne peut pas être transféré entre deux
machines Linux via IrCOMM avec <tt>cat file &gt;/dev/irnine</> et <tt>cat
/dev/irnine</>. Cela fait des drôles de choses et bloque votre machine Linux.

La compilation du pilote pc87108 dans le noyau le fait planter au
boot. Solution temporaire~: le compiler en tant que module.

IrOBEX peut détruire des données en réception. Ce bug est certainement dans la
partie utilisateur de IrOBEX.
<p>

<sect>FAQ

<p>

<itemize>

<item>
Q1~-~Question~: Je ne sais pas du tout quels sont les ports utilisés et les
irq. Que faire~?

<item>
Réponse~:

<p>
Premièrement~: Réglages matériels

<p>
-~1~~Allez regarder les spécifications de votre matériel. Si ce n'est pas
disponible, référez vous à la page de support de votre constructeur, ou
contactez son support technique. Vous pourrez peut être trouver les
informations dans les aperçus du matériel mentionné plus haut.

<p>
-~2~~Utilisez un BIOS à jour. D'habitude sur la page du support technique de
votre fabricant.

<p>
-~3~~Essayez de faire <tt>setserial /dev/ttyS? -g -a &verbar; egrep
16550A</>. L'un des périphériques mentionnés est probablement celui que vous
cherchez. D'habitude, c'est le deuxième, mais ce n'est pas toujours le cas.

<p>
-~4~~Note~: Ce qui semble être un UART est physiquement un contrôleur IrDA,
Pour mon HP Omnibook 800, c'est le contrôleur VLSI VL82C147 PCI - IrDA. Ces
contrôleurs semblent pouvoir se connecter jusqu'à 115 200 bps comme les UART
16550A. Mais c'est souvent difficile de trouver la bonne configuration.

<p>
Deuxièmement~: Comment donner au noyau les paramètres nécessaires pour votre
matériel~?

<p>
-~4~~<tt>cat /proc/ioports</> pour voir quels ports sont déjà utilisés.

<p>
-~5~~<tt>cat /proc/interrupts</> pour voir quelles interruptions sont déjà
prises.

<p>
-~6~~Libérez les ports et interruptions pour le périphérique IR, par exemple~:
arrêtez le service PCMCIA ou incluez cette ligne dans
<tt>/etc/sysconfig/pcmcia</>~:
<tt>PCIC_OPTS=&dquot;irq_list=3,4,5,7,9,10,12,14,15&dquot;</>

<p>
-~7~~Maintenant, essayez de deviner quel port et quelle interruption est
utilisée. Utilisez un <tt>setserial /dev/ttySx irq M port 0xNNNN</> pour le
dire au noyau. Si il y a plusieurs possibilités, essayez les toutes (Note~:
comme il est dit dans le <it>Serial-HOWTO</>, vous ne devriez pas essayer les
interruptions 0, 1, 6, 8, 13 et 14).

<p>
-~8~~Si vous avez réussi, envoyez les paramètres utiles à l'auteur, car il
aimerait bien les inclure dans son aperçu du matériel.

<p>
-~9~~Bonne chance.

<p>
Il sera peut être aussi nécessaire d'affiner les réglages du port série
infrarouge avec setserial, ex~: <tt>setserial /dev/ttyS0 spd_vhi</> (vitesse
115200).

<item>
Q2~-~Question~: <tt>irattach</> se fige, mais reconnait mon
imprimante. <tt>/var/log/messages</> montre que irattach a trouvé mon HP
LaserJet 6P.

<item>
Réponse~: Le &dquot;figement&dquot; est normal pour irattach. Tout marche bien
si vous voyez l'imprimante dans les logs. Le &dquot;figement&dquot; signifie
que irattach est en attente de connexion entrante. Si vous le tuez avec un
&lt;CTRL C&gt; irattach plante et <tt>/dev/ttySx</> ne marche plus du tout. Le
problème est dans le module irda, et pas dans le programme irattach. La seule
chose à faire est de rebooter~! La prochaine fois mettez irattach en tâche de
fond en utilisant <tt>irattach &amp;</>. Stoppez le si nécessaire avec un
<tt>killall irattach</>. Recommandation d'Andreas Butz~: &dquot;D'après ce que
je sais, &lt;CTRL Z&gt; devrait marcher aussi, mais je ne l'ai pas testé dans
ce cas précis. Normalement, cela a exactement le même effet que de rajouter un
<tt>&amp;</> à la commande.

<item>
Q3~-~Question~: Je reçois un message dans le style "tcsetattr read/write
error" dans <tt>/var/log/messages</>.

<item>
Réponse~: Probablement causé par un mauvais <tt>/dev/ttyS*</>, une mauvaise
interruption ou un mauvais port.

<item>
Q4~-~Question~: tout semble marcher car j'ai les bons messages. Mais ça ne
marche toujours pas.

<item>
Réponse~: Placez les périphériques à une distance de moins de 0.5 mètre (1.5
pied). Vérifiez qu'une seule application utilise le port infrarouge. Vérifiez
que les deux interfaces utilisent le même protocole comme IrOBEX ou IrCOMM.

<item>
Q5~-~Question~: J'ai téléchargé la dernière version des pilotes, et ça a très
bien compilé sous Linux 2.0.33 sur mon IBM Thinkpad 560E. En l'absence d'autre
machine IrDA pour le tester, est-ce qu'il est possible d'affirmer qu'une fois
que le module a été inséré et que syslog rapporte &dquot;irattach: Serial
connection established.&dquot;, que l'IR marche vraiment, et se mettra-t-il à
répondre quand il aura une autre machine pour discuter~?

<item>
Réponse de Dag Brattli~: Désolé, cela signifie juste que irattach a fait son
boulot, qui est juste de démarrer irda-tty. Peut être que le message aurait du
être différent, mais comme je l'ai dit, il signifie que la connexion série
entre la puce irda et le pilote irda est établie.

<p>
Note~: le support des noyaux 2.0 s'arrête. Vous êtes vivement encouragés à
passer aux versions 2.2 et à utiliser les derniers patchs IrDA disponibles à
<htmlurl url="http://www.cs.uit.no/~dagb/irda/snapshots/"
name="http://www.cs.uit.no/~dagb/irda/snapshots/">.

<item>
Q6~-~Question~: Au démarrage <tt>modprobe -a</> vérifie
<tt>/lib/modules/&lt;uname -r&gt;/net/irda.o</> et donne le message~:
&dquot;IrLAP; Missing IrTTY /IrLMP Error no IrLAP connection&dquot; (dans
<tt>/var/log/messages</> et sur la console).

<item>
Réponse de Werner Heuser~: Truc pour les système style SYSTEM V~: Mettez un
script par exemple &dquot;ir_rmmod&dquot; contenant~:

<tscreen><verb>
#!/bin/sh 
echo &dquot;$0 : remove irda module&dquot; 
rmmod irport.o 
rmmod irtty.o 
rmmod irda.o 
</verb></tscreen>

dans le processus de démarrage (<tt>/etc/init.d</> et un lien symbolique par
exemple &dquot;S100ir_rmmod&dquot; dans <tt>/etc/rc3.d</> vers
&dquot;ir_rmmod&dquot;). (Vérifiez le chemin vers &dquot;sh&dquot;). pour
les systèmes style BSD, essayez l'approche correspondante.

<p>
<item>
Q7~-~Question de Ho Chin Keong~: Y a-t-il une autre manière de faire
communiquer deux machines sans créer un réseau entre les deux~?

<item>
Réponse de Dag Brattli~: Oui et non~! L'un des standards IrDA, IrCOMM permet
d'émuler un câble série entre deux machines, donc, vous pouvez utiliser
n'importe quel programme écrit pour les ports série (terminaux, PPP, slip,
etc.). Cela n'est, par ailleurs, pas encore implémenté dans Linux/IrDA. Le
support IrLPT (imprimante) utilise un sous ensemble de IrCOMM, donc des
morceaux fonctionnent~!

<item>
Q8~-~Question de Ho Chin Keong~: Si je bloque délibérément le faisceau
infrarouge pendant plus de 10 secondes, la connexion ne peut être rétablie. Je
dois tuer irattach et redémarrer toute la procédure pour créer la connexion
infrarouge. La connexion peut toutefois être maintenue, si la coupure dure
moins de 10 secondes. Est ce que cela fait partie de l'implémentation, ou
est-ce un bug~? Y a-t-il un moyen d'augmenter cette limite de 10 secondes à
plus, voir même à l'infini~?

<item>
Réponse de Thomas Davis~: Cela semble être un bug dans la partie principale du
code de IrLAP/IrLMP. Il semble que la notification de remise à
zéro/déconnexion ne remonte pas jusqu'en haut de la pile. On peut remarquer
quand IrLPT se fige dans le mode query quand vous essayez de discuter avec
une imprimante, et se déconnecte/interrompt quand il établit la connexion. (et
maintenant, cela arrive aussi dans la partie IrLAN)

<item>
Q9~-~Pierre-Guillaume Raverdy a demandé~: Dois-je mettre à jour mon Palm
Pilot, et mettre le système 3.0.2~?

<item>
Réponse de Dag Brattli~: Il n'est pas nécessaire de mettre à jour votre Pilot,
mais cela ne peut pas faire de mal. C'est par contre nécessaire si vous voulez
utiliser la librairie IrCOMM de IsComplete.

<item>
Q10~-~Pierre-Guillaume Raverdy a demandé~: De plus, un exemple simple de code
source (spécialement du coté du Palm Pilot) serait très pratique.

<item>
Réponse de Dag Brattli~: Récupérez le Pilot SDK de Palm. Décompressez le
fichier <tt>examples.zip</> et regardez le programme beamer.

<item>
Q11~-~Kai Poehlmann a écrit~: J'ai un téléphone GSM Ericsson SH 888 et une
machine Linux sans port irda. J'ai entendu dire qu'il était possible de
discuter avec le protocole IrDA du téléphone en utilisant un câble
série... :-/ Est-il maintenant possible d'utiliser ce téléphone avec
Linux/IrDA et un câble série~?

<item>
Réponse de Matthias Lemke~: Oui, c'est possible. J'ai essayé il y a 6
semaines. Mais j'ai eu le même problème qu'avec juste l'IrDA. Je peux me
connecter au téléphone, le remettre à zéro avec ATZ, mais après ATDT, plus
rien ne se passe, que ce soit avec ou sans le câble. Mais je pense que vous
devriez ressayer avec la dernière version de Linux/IrDA.

<item>
Q12~-~Jonah Peskin a écrit~: Est ce que quelqu'un a réussi à augmenter les
capacités d'un émetteur IrDA~? J'utilise un portable Dell Inspiron 7000, et il
semble que son rayon d'émission soit d'environ 1 mètre. Je sais que cela
rentre dans les spécifications de l'IrDA, mais y a-t-il des portables ou des
périphériques qui permettent de faire plus d'un mètre~? Pourquoi ne pas
prendre un câble d'un mètre~?

<item>
Réponse de tzeruch@ceddec.com~: Parce qu'une connexion manuelle (à part le
réceptacle pour le Palm) est difficile et prend du temps et crée souvent des
problèmes (accéder à l'arrière de mon ordinateur de bureau nécessite quelques
contorsions).

<p>
Le problème principal est qu'il est nécessaire de rendre le récepteur plus
sensible. Dans les bases de la physique on apprend la loi du carré inverse~:
L'intensité diminue proportionnellement au carré de la distance, donc, passer
d'un mètre à 5 demande 25 fois plus de puissance (et la surcharge courant sur
un ordinateur portable), ou 25 fois plus sensible (et la distance dynamique~-
il doit toujours être possible de recevoir à 10 centimètres). Et si vous
voulez le faire de l'autre côté, il ne doit pas être simplement 25 fois plus
sensible, il doit pouvoir discerner le faible faisceau infrarouge des néons,
économiseurs d'écrans et autres ombres en mouvement...

<p>
Quelqu'un a essayé avec une mise à jour du Palm III~: <htmlurl
url="http://home.t-online.de/home/PSPilot/ppppiii.htm" name="
http://home.t-online.de/home/PSPilot/ppppiii.htm ">

</itemize>


<sect>Contrôle à distance via infrarouge

<p>
<sect1>Ressources

<p>
La prise de contrôle à distance par infrarouge n'est pas le but du projet
Linux/IrDA mais est incluse dans ce HowTo pour couvrir de manière exhaustive
&dquot;Linux et l'infrarouge&dquot;. J'ai trouvé <it>trois projets</> qui
oeuvraient dans cette direction. Vous pouvez trouver des liens vers des
informations plus récentes à <htmlurl url="http://
www.snafu.de/~wehe/index_li.html" name="http://
www.snafu.de/~wehe/index_li.html">.

<itemize>

<item>
LIRC LInux Remote Control
<p>
LIRC est un paquetage qui supporte la réception et l'émission de signaux
infrarouges des protocoles de contrôle à distance IR les plus courants. Il
contient un pilote pour les périphériques connectés aux ports séries, un démon
qui décode et encode les signaux IR en utilisant ce pilote, un démon de souris
qui traduit les signaux IR en mouvements de souris et quelques programmes
utilisateurs qui vous permettent de contrôler votre ordinateur avec une
télécommande. Takahide Higuchi a écrit à propos de LIRC~: &dquot;C'est génial,
et j'ai l'impression que c'est un projet très complet, mais j'ai aussi
l'impression que quasiment aucun des périphériques du marché n'est supporté
(vous aurez besoin d'un fer à souder et de circuits spéciaux... un peu dur
pour le néophyte). Je suppose que LIRC deviendra plus populaire si le support
infrarouge est implémenté dans les pilotes FastIR et qu'une API commune (par
exemple un IrSocket brut et des ioctls communs) est disponible~!&dquot;. Vous
trouverez LIRC à <htmlurl url="http://www.thp.uni-koeln.de/~rjkm/lirc/"
name="http://www.thp.uni-koeln.de/~rjkm/lirc/">.

<item>Télécommande infrarouge série
<p>
Voici un périphérique simple et bon marché qui peut être connecté à tout port
série pour contrôler presque tous les appareils qui possèdent une télécommande
IR. Il a été conçu et fabriqué sur une carte d'extension à sertir et est à
présent disponible sous forme d'une carte ISA. Vous trouverez de plus amples
informations à <htmlurl
url="http://www.armory.com/~spcecdt/remote/remote.html"
name="http://www.armory.com/~spcecdt/remote/remote.html">.

<item>Outils infrarouges pour le COREL Netwinder PC
<p>
Ryan Shillington a écrit quelques outils pour contrôler le COREL NetWinder par
infrarouge, par exemple~:

<p>
Serveur pour l'administration Corel Palm<!-- je suis pas sur que c'est bon,
ca... -->. Il nécessite simplement d'avoir le port infrarouge installé et en
état de marche. Avec lui, vous pouvez changer l'adresse IP, l'adresse de la
passerelle, configurer eth1, etc. Vous pouvez aussi lancer quelques commandes
simples ET vérifier la température, mémoire, charge de la machine.

<p>
Client pour l'administration Corel Palm<!-- je suis pas sur que c'est bon,
ca... -->. Vous pouvez aussi lancer quelques commandes simples ET vérifier la
température, mémoire, charge de la machine.

<p>
Un pilote IR très simple. Il ne supporte pas IrDA (seulement des transferts
non fiables). Il ne cherche que des signaux venant de télécommandes (et
claviers, etc.). Il bloque et passe les données d'une façon très différente.

<p>
Vous trouverez tout ceci à <htmlurl url="http://www.netwinder.org/~ryansh/"
name="http://www.netwinder.org/~ryansh/">

</itemize>

<p>

<sect1>Commande a distance IR - IrDA

<p>
Deux des projets décrits plus haut utilisent une sorte de dongle fait à la main
pour la commande à distance. Il y a aussi une description sur comment
construire un dongle IrDA vous même dans l'ELEKTOR allemand de mai 1997
p28. Peut être que quelqu'un pourrait transformer ces dongles en un seul.

Pour une discussion sur les relations entre les télécommandes IR et IrDA, j'ai
fait une compilation de la liste Linux/IrDA (raccourcie et modifiée par wh)~:

<p>
Ryan Shillington a écrit~: &dquot;Les télécommandes IR et ASK-IR sont très
différentes de FIR, MIR ou SIR.

Les télécommandes IR et ASK-IR ont des vitesses très basses et des fréquences
très basses (mais de longues portées). Elles opèrent à environ 2400bps.

SIR opère à des vitesses supérieures, et est voué à des transmissions longues
portées où vous avez besoin que plus d'un ou deux caractères passent dans la
liaison (pas comme les télécommandes).

MIR est légèrement plus rapide (mais a moins de portée), mais sa vitesse peut
monter jusqu'à 1.15Mbps et FIR (ou les périphériques doivent presque se
toucher) a un débit de 4Mbps. La portée est inversement proportionelle à la
vitesse de transmission.

Je travaille sur des pilotes pour les télécommandes infrarouges, mais vous
devriez déjà le savoir si votre matériel IR le supporte. Cherchez des
protocoles tels NEC, RC-5 ou RC-0 (ce sont les plus communs).

Vous pouvez utiliser SIR pour recevoir des signaux de télécommandes. Réglez
bien votre débit au plus bas et les données commenceront à affluer. MAIS
d'après mon expérience, ce ne sont pas les BONNES données. Ce n'est pas analysé
de la bonne façon, et par conséquent, vous ne pouvez ni calculer la somme de
contrôle ni la vérifier avec son complément.

J'ai réussi à récupérer des données (en utilisant SIR) avec des
télécommandes. On m'a dit que SIR lisait les données venant d'une télécommande
différemment en fonction de la température (malgré tout, je n'en ai jamais fait
l'expérience).&dquot;

Lichen Wang &lt;lwang1@ix.netcom.com&gt; a écrit en réponse~: &dquot;Le truc
que l'on appelle ASKIR dans tant de portables n'est pas fait pour les
télécommandes infrarouges. ASKIR est fait pour le Sharp Wizard, les PDA Zauaus
et quelques portables Sharp. Sharp avait créé cela bien avant l'arrivée d'IrDA
et le supporte toujours pour maintenir une compatibilité. Le Newton d'Apple
avait aussi cette capacité là à un moment.

Brièvement, ASKIR utilise un format de transmission asynchrone à 9.6 Kbps
(19.2 et 38.4 Kbps sont aussi possibles) avec 8 bits de données, 1 bit d'arrêt
et une parité impaire. Le bit de démarrage ainsi que tous les bits 0 sont
transmis comme une onde carrée de 500 KHz (sous porteuse DASK). Le bit
&dquot;arrêt&dquot; ainsi que tous les bits 1 sont représentés par l'absence
de transmission.

Comme vous pouvez le constater, c'est totalement incompatible avec les
télécommandes IR.

[..]

Vrai. Non seulement il est possible d'utiliser le matériel SIR pour
<it>recevoir</>, mais vous pouvez aussi transmettre. Bien entendu, il y a
quelques limitations.

La majorité des télécommandes utilisent une sous porteuse à 38KHz. 3 fois 38
ça fait 114, très proche de 115.2. Il est donc possible de régler l'UART pour
opérer à 115.2 Kbps, 7 bits de données, 1 bit d'arrêt et pas de parité - soit
9 bits. Tous les 3 cycles de la sous porteuse à 38 KHz peuvent être
<it>reçus</> ou <it>émis</> en tant qu'un octet Ox5B.

Il y a quelques limitations physiques en plus du fait que la sous porteuse
doive être de 38KHz. Le <it>récepteur</> SIR n'est pas aussi sensible au 38KHz
que la télécommande. Le <it>transmetteur</> SIR a un cycle d'utilisation
beaucoup plus faible, et par conséquent, ne peut émettre une trop forte sous
porteuse.

La télécommande encode le signal de contrôle en ajoutant un patron spécifique
à la sous porteuse. Maintenant que vous pouvez <it>émettre</> et
<it>recevoir</> la sous porteuse, tout ce qu'il reste à faire, c'est de tout
synchroniser.

Pour <it>émettre</>, il est nécessaire de savoir combien d'octets de 0x5B
consécutifs il sera nécessaire d'envoyer pour chaque coup de sous porteuse, et
combien de temps rester silencieux pendant les émissions.

Pour <it>recevoir</>, il sera nécessaire de savoir combien d'octets 0x5B vous
recevez consécutivement, et quelle est la durée entre les trous d'octets
consécutifs.

[..]

Mon expérience avec les distances de transmissions IrDA de SIR, MIR et FIR
sont légèrement différentes de ce que Ryan a dit.

[..]

SIR, MIR et FIR devraient toujours marcher de 0 à 100 cm, mais dans la
pratique~:

(a) Certains périphériques ont des problèmes avec les <it>LONGUES</>
distances.

Lorsque cela est possible, placez les périphériques à moins de 50 cm l'un de
l'autre. Les périphériques ayant peu de puissance, comme les pagers et les
téléphones cellulaires, etc. auront peut être des distances encore plus
petites bien qu'ils utilisent SIR à la place de MIR ou FIR.

(b) Certains périphériques ont des problèmes avec les <it>COURTES</>
distances.

Placez les deux périphériques à au moins quelques centimètres l'un de
l'autre. Les mettre plus près peut causer des problèmes.

Il est un peu intuitif de rapprocher les deux périphériques lorsque la
connexion n'est pas bien stable. Mais cela va à l'encontre de toute intuition
que trop près n'est pas bon non plus. La raison est que l'intensité lumineuse
à 1~cm est 10~000 fois plus forte qu'à 100~cm. A 0.5~cm, 40~000 fois, etc. Les
constructeurs de récepteur IR ont du mal à gérer cette distance
dynamique. Nous avons tous du mal à lire avec une lampe de 10~W, imaginez
comment ça serait avec une lampe de 100~000~W~!

[..]

La couche physique IrDA est totalement incompatible avec la modulation DASK
utilisée dans les télécommandes IR. Par conséquent, il n'est pas possible
d'utiliser la même fonction de contrôle avec FIR et les
télécommandes. Toutefois, presque tous les contrôleurs FIR incluent des
fonctions additionnelles pour supporter les télécommandes IR. National, SMC,
et Winbond (pour ne citer que ceux là) ont tous de telles puces.

Les transmetteurs IR pour FIR et les télécommandes sont très semblables. J'ai
essayé avec un transmetteur FIR standard. Il est capable d'atteindre 10 mètres
dans un but de télécommande. Par conséquent, il est aussi performant que les
transmetteurs inclus dans les télécommandes.

Les récepteurs IR pour FIR et les télécommandes sont par contre assez
différents. Un récepteur FIR peut recevoir un signal de télécommande, mais ceci
seulement à 1 mètre alors que les récepteurs intégrés dans les télécommandes
atteignent 10 mètres.

J'ai un adaptateur ISA avec une puce National qui supporte aussi bien FIR que
les télécommandes. J'ai aussi des dongles IR qui incluent les deux types de
récepteurs (ainsi qu'un transmetteur pour les deux modes). Je n'ai pour
l'instant trouvé aucun logiciel supportant les fonctions de
télécommandes. J'ai fait mes propres expériences sous DOS (je ne peux pas
encore installer Linux). Quelqu'un est intéressé~? &dquot;

Benny Amorsen a écrit~: &dquot;J'ai un portable qui est supposé supporter
ASKIR. Le mode du port infrarouge peut être changé en ASKIR dans le
BIOS. Avoir à rebooter pour changer le mode dans le BIOS le rend inutile,
donc, quelqu'un pourrait essayer de trouver un moyen de le changer à la
volée. &dquot;

Dag Brattli a écrit~: &dquot;Il devrait être possible d'utiliser IrControl
(auparavant IrBus) pour utiliser les télécommandes compatibles IrDA. Je ne
connais aucune télécommande utilisant le standard IrControl, mais il devrait
en exister quelques unes (quelqu'un en sait plus~?). Vous devriez aller jeter
un coup d'oeil au site IrDA (<htmlurl url="http://www.irda.org"
name="http://www.irda.org">) et récupérer le standard de la couche physique
(qui inclue IrControl je pense).

IrDA &dquot;Normal&dquot; (en utilisant IrLAP) n'est <bf>pas</> une bonne
chose pour l'utilisation avec les télécommandes à cause de la trop grande
différence de nature (et il ne supporte que le 9600 bps pour les travaux hors
connexions<!--pas bô ça, mieux ?-->). La raison de cette limite de portée est
la protection des yeux qu'ils disent (mais je ne sais pas pourquoi CIR marche
mieux en utilisant la même puissance). J'ai par ailleurs vu des portables
connectés avec 4 à 5 mètres entre eux (mais je ne pense pas qu'une grande
vitesse de connexion soit possible).

La majorité des chipset IrDA marchent en mode CIR, et il est assez facile de
modifier les pilotes pour qu'ils parlent CIR. Takahide Higuchi a commencé à
regarder IrSockets et il serait assez bien si il était possible d'ouvrir
une socket Ir(DA) brute qui permettrait d'envoyer et de recevoir des paquets
CIR. Ensuite, toutes les applications CIR pourraient rester dans l'espace
utilisateur.

Je sais que CIR intéresse Corel dans le but de contrôler le NetWinder (et ils
ont en ce moment du code qui marche). Allez jeter un coup d'oeil à <htmlurl
url="http://www.slashdot.org/articles/98/12/05/0916216.shtml"
name="http://www.slashdot.org/articles/98/12/05/0916216.shtml"> ou <htmlurl
url="http://www.netwinder.org/~ryansh"
name="http://www.netwinder.org/~ryansh">.

<sect>Infrarouge et protection des yeux.

<p>
Cette section reprend quelques idées et pensées qui ont été échangées sur la
liste Linux/IrDA. Rien ici n'est fondé sur des connaissances médicales, par
conséquent toute personne qui aurait des informations plus complètes et plus
sures est encouragée à contribuer à ce HowTo.

<p>
Les spécifications d'IrDA disent que la portée des périphériques IrDA a été
limitée à 1 mètre dans le but de protéger les yeux des utilisateurs. Une autre
explication possible serait que la consommation ainsi que la pollution IR
soient aussi la cause de cette limitation. En principe, il devrait y avoir un
danger pour l'oeil, car les IR ne sont pas détectés par l'oeil, et donc, la
pupille ne se ferme pas pour protéger la rétine des sources IR fortes. C'est
la même situation avec les UV, qui causent un aveuglement nébuleux, mais
contrairement aux UV, les IR contiennent beaucoup moins de puissance
destructrice à cause de leurs longueurs d'ondes plus grandes.

<p>
Les seuls restrictions légales et conseils médicaux que nous ayons pu trouver
sur le web étaient les émissions infrarouges des lampes à bronzer ou dans les
processus de soudage. Cela suggère que la lumière IR émise par les
périphériques IrDA serait sans aucun danger, vu que même le pic de puissance
des plus puissantes LED IR est d'environ 300mW, ce qui n'est rien comparé aux
lampes a chauffer à usage médical qui peuvent monter jusqu'à 500W. Pour celles
ci, il est nécessaire de porter des lunettes protectrices, alors, il se peut
que regarder en face 1 000 LED IR en une seule fois ait le même effet. Les
effets de la lumière IR sont majoritairement la chaleur, pas une altération ou
une destruction des structures cellulaires comme le font les UV. Toutefois,
dans les spécifications du HP OmniBook 800, Hewlett-Packard recommande de ne
pas regarder directement dans les LED IR.

<p>
Comme je l'ai dit plus haut, cette discussion n'est basée que sur des
présomptions et des déductions faites sur les données trouvées dans les
spécifications des LED IR et des lampes chauffantes. Si quelqu'un a des
connaissances médicales à partager, faites le~!!!

<sect>Crédits

<p>
Merci à~ :


<itemize>
<item>Dag Brattli - au coeur de Linux/IrDA
<item>Thomas Davis - au coeur de Linux/IrDA
<item>Takahide Higuchi - au coeur de Linux/IrDA
<item>Ralf Zabka
<item>Benny Amorsen
<item>Lichen Wang
<item>Ryan Shillington
<item>Richard Titmuss
<item>Fons Botman
<item>Rui Oliveira
<item>Jon Howell
<item>Carlos Vidal
<item>Joonas Lehtinen
<item>Markus Schill
<item>Bjoern Hansson
<item>Pawel Machek
<item>Ho Chin Keong
<item>Bjoern Mork
<item>Andreas Butz
<item>Tang Ning
<item>Les membres de la liste Linux/IrDA.
<item>Les écrivains d'autres HowTo qui m'ont donné tout plein d'inspiration.
<item>Les développeurs des SGML-Tools qui m'ont permis d'écrire ce HowTo.
</itemize>

Désolé, je n'ai pas commencé à faire les crédits quand j'ai démarré ce HowTo,
j'ai certainement oublié quelqu'un.

<sect>Historique des versions
<p>
<itemize>

<item>
v0.1 à v0.4a, 19 mars 1998 au 4 août 1998, brouillons, non inclus dans le LDP.

<item>
v1.0, 14 août 1998, ajout au LDP.

<item>
v1.1, 18 août 1998, ajout des informations à propos du patch IrCOMM de
Takahide Higuchi, changements mineurs.

<item>
v1.2, 24 août 1998, mise à jour pour les pilotes <tt>linux-irda-1998-08-20</>,
ajout de la section FIR et de cette section, changements mineurs.

<item>
v1.3, 27 septembre 1998, ajout des sections sur les instances multiples,
téléphones cellulaires, appareils photo numériques, connexion Linux à Linux,
le superbe CVS, économie d'énergie, quelques changements dans la configuration
système générale, changements dans l'aperçu du matériel, changements mineurs.

<item>
v1.4, 11 octobre 1998, meilleure description du support IrCOMM, changement de
la section sur les dongles, changements dans la section Palm III, changements
mineurs.

<item>
v1.5, 12 octobre 1998, changements mineurs.

<item>
v1.6, 26 octobre 1998, ajout de la section à propos de IrManager, mis à jour
pour les pilotes <tt>linux-irda-1998-10-21</>, changements dans la section
dongle, changements mineurs.

<item>
v1.7, 1 novembre 1998, ajout de la section contrôle à distance, changements
dans la section dongles, changements mineurs.

<item>
v2.0, 9 janvier 1999, réécriture quasi complète et un réarrangement en
accord avec la nouvelle structure de Linux/Ir qui est maintenant inclus dans le
noyau depuis la version 2.1.131, ajout des informations à propos du support
BIOS dans la section dongle, ajout de la section outils de configuration et
suppressions de la section CVS.

<item>
v2.1, 13 janvier 1999, changements mineurs.

<item>
v2.2, 26 janvier 1999, changement du nom du projet de Linux/IR en Linux/IrDA,
extension de la section résolution des problèmes, changement dans l'ordre du
chapitre des bugs connus, suppression de quelques coquilles.

<item>
v2.3, 4 février 1999, ajout de la section Infrarouge et protection des yeux
écrite par Andreas Butz, correcteur d'orthographe..., remaniements dans la
section paramètrage du noyau, ajout de quelques informations par Andreas Butz,
changements mineurs.

<item>
v2.4, 9 février 1999, changement des informations sur comment appliquer un
patch.

</itemize>
<p>

<sect>Copyright et dénégation
<p>
Copyright &copy; 1998, 1999 par Werner Heuser (et &copy; 1999 par Mathieu
Arnold pour la traduction française). Ce document peut être distribué sous les
termes de la licence du LDP à <htmlurl
url="http://metalab.unc.edu/LDP/COPYRIGHT.html"
name="http://metalab.unc.edu/LDP/COPYRIGHT.html">.
<p>
Les informations contenues dans ce document sont exactes d'après ce que je
sais, mais il y a toujours une chance pour que j'aie commis quelques erreurs,
donc, ne suivez pas toutes les manipulations trop aveuglément, spécialement si
cela vous semble faux. Rien ici ne devrait pouvoir causer de dommages à votre
ordinateur, mais juste au cas où, les auteurs ne sont responsables d'aucun
dommage encouru du fait d'actions effectuées en se basant sur les informations
comprises dans ce document.
</article>
