34.3. Infrarot-Datenübertragung

IrDA (Infrared Data Association) ist ein Industriestandard für die kabellose Kommunikation über Infrarotlicht. Viele Notebooks sind heute mit einem IrDA-kompatiblen Transceiver ausgestattet, der die Kommunikation mit anderen Geräten, wie Druckern, Modems, LANs oder anderen Notebooks, ermöglicht. Die Übertragungsgeschwindigkeit reicht von 2400 bps bis 4 Mbps.

Es gibt zwei IrDA-Betriebsmodi. Im Standardmodus, SIR, wird über eine serielle Schnittstelle auf den Infrarot-Port zugegriffen. Dieser Modus funktioniert auf fast allen Systemen und ist für die meisten Anforderungen ausreichend. Für den schnelleren Modus, FIR, ist ein besonderer Treiber für den IrDA-Chip erforderlich. Im FIR-Modus werden aufgrund des Fehlens geeigneter Treiber nicht alle Chiptypen unterstützt. Den gewünschten IrDA-Modus legen Sie im BIOS Ihres Computers fest. Im BIOS wird angezeigt, welche serielle Schnittstelle im SIR-Modus verwendet wird.

Informationen zu IrDA finden Sie im Dokument „IrDA how-to“ von Werner Heuser unter http://tuxmobil.org/Infrared-HOWTO/Infrared-HOWTO.html. Zusätzlich können Sie die Website des Linux IrDA-Projekts unter http://irda.sourceforge.net/ als Referenz verwenden.

34.3.1. Software

Die erforderlichen Kernel-Module sind im Kernel-Paket enthalten. Im Paket irda sind die erforderlichen Hilfsanwendungen für die Unterstützung der Infrarotschnittstelle enthalten. Nach der Installation des Pakets finden Sie die entsprechende Dokumentation unter /usr/share/doc/packages/irda/README.

34.3.2. Konfiguration

Der IrDA-Systemdienst wird beim Booten des Systems nicht automatisch gestartet. Zur Aktivierung verwenden Sie das YaST IrDA-Modul. In diesem Modul kann nur eine Einstellung geändert werden: die serielle Schnittstelle des Infrarotgeräts. Im Testfenster werden zwei Ausgaben angezeigt. Die eine ist die Ausgabe von irdadump, mit der alle gesendeten und empfangenen IrDA-Pakete protokolliert werden. Diese Ausgabe sollte den Namen des Computers und den Namen aller Infrarotgeräte im Übertragungsbereich enthalten. Im Abschnitt Abschnitt 34.3.4, „Fehlerbehebung“ wird ein Beispiel für diese Meldungen angegeben. Alle Geräte, mit denen eine IrDA-Verbindung besteht, werden im unteren Bereich des Fensters aufgeführt.

IrDA nimmt sehr viel Batterieleistung in Anspruch, da im Abstand von wenigen Sekunden ein Erkennungspaket zur Erkennung anderer peripherer Geräte gesendet wird. Aus diesem Grund sollte IrDA nur bei Bedarf gestartet werden, wenn Sie Ihr Gerät mit Batterie betreiben müssen. Geben Sie zum Aktivieren den Befehl rcirda start und zum Deaktivieren rcirda stop ein. Alle erforderlichen Kernel-Module werden automatisch beim Aktivieren der Schnittstelle geladen.

In der Datei /etc/sysconfig/irda kann eine manuelle Konfiguration vorgenommen werden. Die Datei enthält nur eine Variable, IRDA_PORT, mit der die im SIR-Modus zu verwendende Schnittstelle bestimmt wird.

34.3.3. Verwendung

An die Gerätedatei /dev/irlpt0 können Daten zum Drucken gesendet werden. Die Gerätedatei /dev/irlpt0 fungiert genau wie die normale Kabelschnittstelle /dev/lp0 mit dem Unterschied, dass die Daten kabellos per Infrarot gesendet werden. Zum Drucken stellen Sie sicher, dass sich der Drucker in Sichtweite der Infrarotschnittstelle des Computers befindet und dass die Infrarotunterstützung gestartet wurde.

Ein Drucker, der über die Infrarotschnittstelle betrieben wird, kann mit dem YaST-Druckermodul konfiguriert werden. Da es nicht automatisch erkannt wird, konfigurieren Sie es manuell, indem Sie auf Andere (nicht Erkannte) klicken. Wählen Sie im folgenden Dialogfeld IrDA-Drucker aus. In der Regel ist irlpt0 die richtige Verbindung. Detaillierte Informationen zum Betrieb von Druckern unter Linux erhalten Sie in Kapitel 11, Druckerbetrieb.

Die Kommunikation mit anderen Hosts und Mobiltelefonen oder ähnlichen Geräten erfolgt über die Gerätedatei /dev/ircomm0. Mit den Mobiltelefonen Siemens S25 und Nokia 6210 kann beispielsweise über die Infrarotschnittstelle mit der Anwendung wvdial eine Verbindung zum Internet hergestellt werden. Auch die Synchronisierung von Daten mit einem Palm Pilot ist möglich, vorausgesetzt, die Geräteeinstellungen der entsprechenden Anwendung wurden auf /dev/ircomm0 gesetzt.

Wenn Sie möchten, können Sie nur Geräte adressieren, die den Drucker oder IrCOMM-Protokolle unterstützen. Auf Geräte, die das IROBEX-Protokoll unterstützen, wie der 3Com Palm Pilot, kann mit speziellen Anwendungen wie irobexpalm und irobexreceive zugegriffen werden. Weitere Informationen hierzu erhalten Sie im Dokument IR-HOWTO (http://tldp.org/HOWTO/Infrared-HOWTO/). Die vom Gerät unterstützten Protokolle werden hinter dem Namen des Geräts in der Ausgabe von irdadump in Klammern aufgeführt. Die Unterstüzung des IrLAN-Protokolls „steht momentan noch nicht zur Verfügung“.

34.3.4. Fehlerbehebung

Falls an den Infrarot-Port angeschlossene Geräte nicht reagieren, können Sie mit dem Befehl irdadump (als Benutzer root) überprüfen, ob das andere Gerät vom Computer erkannt wird. Ein ähnliches Problem wie in Beispiel 34.1, „Ausgabe von irdadump“ tritt häufig auf, wenn ein Canon BJC-80-Drucker sich in der Reichweite des Computers befindet:

Beispiel 34.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=* earth 
                        hint=0500 [ PnP Computer ] (21)

Überprüfen Sie die Konfiguration der Schnittstelle, wenn keine Ausgabe vorhanden ist oder das andere Gerät nicht reagiert. Überprüfen Sie, ob die richtige Schnittstelle verwendet wird. Gelegentlich befindet sich die Infrarotschnittstelle in /dev/ttyS2 oder /dev/ttyS3 und manchmal wird ein anderer Interrupt als IRQ 3 verwendet. Diese Einstellungen können auf nahezu alle Notebooks im BIOS-Setup-Menü überprüft und geändert werden.

Auch mithilfe einer einfachen Videokamera kann festgestellt werden, ob die Infrarot-LED leuchtet. Mit den meisten Videokameras kann Infrarotlicht aufgenommen werden, das für das menschliche Auge nicht sichtbar ist.