17.3. Infrared Data Association

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/.

17.3.1. Software

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.

17.3.2. Konfiguration

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.

17.3.3. Verwendung

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 Andere (nicht erkannte). Im nächsten Dialog gibt es die Auswahl Drucker über IrDA. 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.

17.3.4. Mögliche Probleme und deren Lösung

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.


SUSE LINUX Administrationshandbuch 9.3