IrDA (engl. Infrared Data Association) ist ein Industriestandard für drahtlose Kommunikation über Infrarotlicht. Viele heute ausgelieferte Laptops sind mit einem IrDA-kompatiblen Sender/Empfänger ausgestattet, der die Kommunikation mit anderen Geräten, wie Druckern, Modems, LAN oder anderen Laptops ermöglicht. Die Übertragungsrate reicht von 2400 bps bis hin zu 4 Mbps.
Es gibt zwei Betriebsmodi für IrDA. Im Standardmodus SIR wird der Infrarotport über eine serielle Schnittstelle angesprochen. Dieser Modus funktioniert auf fast allen Geräten und genügt für viele Anforderungen. Der schnellere Modus FIR benötigt einen speziellen Treiber für den IrDA-Chip. Es gibt aber nicht für alle Chips solche Treiber. Außerdem muss der gewünschte Modus im BIOS-Setup des Computers eingestellt werden. Dort erfahren Sie auch, welche serielle Schnittstelle für den SIR-Modus verwendet wird.
Informationen zu IrDA finden Sie im IrDA-Howto von Werner Heuser unter http://tuxmobil.org/Infrared-HOWTO/Infrared-HOWTO.html und auf der Homepage des Linux IrDA Projekts: http://irda.sourceforge.net/.
Die notwendigen Kernelmodule sind im Kernelpaket enthalten. Das Paket
irda stellt die nötigen
Hilfsprogramme zur Unterstützung der Infrarotschnittstelle bereit. Nach der
Installation des Paketes findet man die Dokumentation unter
/usr/share/doc/packages/irda/README.
Der IrDA Systemdienst wird nicht automatisch beim Booten gestartet. Verwenden Sie das YaST IrDA Modul zur Aktivierung. Es gibt dort nur eine veränderbare Einstellung, die serielle Schnittstelle des Infrarot-Gerätes. In dem angebotenen Test-Fenster gibt es zwei Ausgaben. Einmal die des Befehls irdadump, von dem alle gesendeten und empfangenen IrDA-Pakete protokolliert werden. In dieser Ausgabe sollte regelmäßig der Name des Computers und die Namen aller in Reichweite befindlicher Infrarotgeräte zu finden sein. Ein Beispiel für diese Meldungen finden Sie unter Abschnitt 17.3.4, „Mögliche Probleme und deren Lösung“. Alle Geräte, zu denen eine IrDA-Verbindung besteht, werden im unteren Teil des Fensters aufgelistet.
Leider benötigt IrDA mehr (Batterie-)Strom, da alle paar Sekunden
ein Discovery-Paket verschickt wird, um andere Peripheriegeräte automatisch
zu erkennen. Deshalb sollte man, wenn man auf Batteriestrom angewiesen ist,
IrDA am besten nur bei Bedarf starten. Die Schnittstelle
kann mit dem Befehl
rcirda start
aktiviert oder mit dem Befehl
rcirda stop
deaktiviert werden. Beim Aktivieren der Schnittstelle werden
die notwendigen Kernel-Module automatisch geladen.
Die manuelle Einrichtung können Sie in der Datei
/etc/sysconfig/irda vornehmen. Dort gibt es nur eine
Variable IRDA_PORT, die bestimmt, welche
Schnittstelle im SIR-Modus verwendet wird.
Will man nun über Infrarot drucken, kann man dazu über die Gerätedatei
/dev/irlpt0 die Daten schicken. Die Gerätedatei
/dev/irlpt0 verhält sich wie die normale drahtgebundene
Schnittstelle /dev/lp0, nur dass die Druckdaten
drahtlos über infrarotes Licht verschickt werden. Beachten Sie bitte beim
Drucken, dass sich der Drucker in
Sichtweite der Infrarotschnittstelle des Computers befindet und dass die
Infrarotunterstützung gestartet wird.
Einen Drucker, der über die Infrarotschnittstelle betrieben wird, können Sie
wie gewohnt mit YaST einrichten. Er wird nicht automatisch erkannt,
deshalb konfigurieren Sie . Im
nächsten Dialog gibt es die Auswahl .
Als Anschluss ist fast immer irlpt0 richtig. Details zum
Druckerbetrieb unter Linux lesen Sie unter Kapitel 12, Druckerbetrieb nach.
Will man über die Infrarotschnittstelle mit anderen Rechnern, mit Handys
oder ähnlichen Geräten kommunizieren, so kann man dies über die Gerätedatei
/dev/ircomm0 erledigen. Mit dem Siemens S25 Handy
beispielsweise kann man sich über das Programm
wvdial mittels Infrarot drahtlos ins Internet
einwählen. Auch ein Datenabgleich mit dem Palm Pilot ist so möglich, dazu
muss im entsprechenden Programm als Gerät einfach
/dev/ircomm0 eingegeben werden.
Sie können ohne weiteres nur Geräte ansprechen, die die Protokolle Printer oder IrCOMM unterstützen. Mit speziellen Programmen wie irobexpalm3, irobexreceive können Sie auch Geräte ansprechen, die das IROBEX-Protokoll verwenden (3Com Palm Pilot). Details hierzu lesen Sie im IR-HOWTO (http://tldp.org/HOWTO/Infrared-HOWTO/) nach. Die vom Gerät unterstützten Protokolle werden bei der Ausgabe von irdadump nach dem Gerätenamen in eckigen Klammern angeben. An der Unterstützung des IrLAN-Protokolls wird noch gearbeitet.
Falls Geräte am Infrarotport nicht reagieren, können Sie als Benutzer
root mit dem Befehl
irdadump überprüfen, ob das andere Gerät vom Computer
erkannt wird.
Bei einem Canon BJC-80 Drucker in Sichtweite des Computers erscheint dann in regelmäßiger Wiederholung eine Ausgabe ähnlich der in Beispiel 17.1, „Ausgabe von irdadump“ gezeigten:
Beispiel 17.1. Ausgabe von irdadump
21:41:38.435239 xid:cmd 5b62bed5 > ffffffff S=6 s=0 (14)
21:41:38.525167 xid:cmd 5b62bed5 > ffffffff S=6 s=1 (14)
21:41:38.615159 xid:cmd 5b62bed5 > ffffffff S=6 s=2 (14)
21:41:38.705178 xid:cmd 5b62bed5 > ffffffff S=6 s=3 (14)
21:41:38.795198 xid:cmd 5b62bed5 > ffffffff S=6 s=4 (14)
21:41:38.885163 xid:cmd 5b62bed5 > ffffffff S=6 s=5 (14)
21:41:38.965133 xid:rsp 5b62bed5 < 6cac38dc S=6 s=5 BJC-80
hint=8804 [Printer IrCOMM ] (23)
21:41:38.975176 xid:cmd 5b62bed5 > ffffffff S=6 s=* erde
hint=0500 [ PnP Computer ] (21)
Falls überhaupt keine Ausgabe erfolgt oder das andere Gerät sich nicht
zurückmeldet, überprüfen Sie bitte die Konfiguration der Schnittstelle.
Verwenden Sie überhaupt die richtige Schnittstelle? Manchmal ist die
Infrarotschnittstelle auch unter /dev/ttyS2 oder
/dev/ttyS3 zu finden, oder ein anderer Interrupt als
Interrupt 3 wird verwendet. Diese Einstellungen können Sie aber bei
fast jedem Laptop im BIOS-Setup konfigurieren.
Mit einer einfachen Video-Kamera können Sie auch überprüfen, ob die Infrarot-LED überhaupt aufleuchtet – im Gegensatz zum menschlichen Auge können die meisten Videokameras Infrarotlicht sehen.