SuSE GmbH

SuSE Support-Datenbank

Titel: Linux und IrDA

----------

Übersicht o Stichwortsuche o History o Versionen o Kategorien o Alle Artikel
English

----------

Linux und IrDA

Bezieht sich auf

SuSE Linux: Versionen ab 6.3

Anliegen

Es soll ein Gerät über einen Infrarotport angeschlossen werden.

Hintergrund

Fast alle Laptops und einige Peripherigeräte haben eine Infrarotschnittstelle zur drahtlosen Datenübertragung eingebaut. Zur Kommunikation zwischen diesen Geräten wird das sogenannte IrDA Protokoll verwendet, das von Infrared Data Association standardisiert wurde.

Informationen über die Linux Implementierung des IrDA Protokolls finden Sie unter der URL http://www.cs.uit.no/linux-irda/. Detaillierte Informationen zu IrDA und Linux können Sie auch dem IrDA HOWTO entnehmen.

Fast alle in PCs eingebauten Infrarotschnittstellen werden wie eine serielle Schnittstelle angesprochen. Dies bedeutet daß der serielle Treiber von Linux diese Schnittstelle findet und wie ein normalle serielle Schnittstelle konfiguriert. Über ein Zusatzkernelmodul welches auf den seriellen Treiber zugreift wird dann die Verwendung der Infrarotschnittstelle ermöglicht.

Linux unterstützt die Kommunikation mit den meisten Geräten die das IrDA Protokoll verwenden. Genauer: Linux unterstützt z.Zt. die Protokolle:

Vorbedingungen

Seit SuSE Linux 6.3 werden Geräte am Infrarotport unterstützt. Im vorkonfigurierten Paket irda sind alle nötigen Programme integriert um die meisten Infrarotschnittstellen ansprechen zu können. um eine UART kompatible SIR (langsame) Infrarotschnittstelle anzusprechen. Im Paket kernmod sind alle Module vorbereitet die von der Kernelseite her nötig sind um die Infrarotschnittstelle anzusprechen.

Einrichten der Schnittstelle

Überprüfen Sie bitte unter welcher I/O Adresse und welchem Interrupt Sie die Infrarotschnittstelle ansprechen können. Die Verwendung von /dev/ttyS1 und Interrupt 3 ist voreingestellt, die entspricht der Verwendung von I/O Adresse 0x2f8.

Sind diese Vorbedingungen erfüllt können Sie gleich loslegen. Starten Sie hierzu IrDA mit dem Kommando rcirda start. Nach dem erfolgreichen Start können Sie mit dem Programm irdadump überprüfen ob alles glatt geht. Sollte der Start der infraroten Unterstützung geklappt haben so sollte folgende Ausgabe im 3 Sekunden Takt auf dem Bildschirm erscheinen:

erda:~ # irdadump
13:42:57.118679 xid:cmd d04496e2 > ffffffff S=6 s=0 (14)
13:42:57.208957 xid:cmd d04496e2 > ffffffff S=6 s=1 (14)
13:42:57.298645 xid:cmd d04496e2 > ffffffff S=6 s=2 (14)
13:42:57.388923 xid:cmd d04496e2 > ffffffff S=6 s=3 (14)
13:42:57.478670 xid:cmd d04496e2 > ffffffff S=6 s=4 (14)
13:42:57.568914 xid:cmd d04496e2 > ffffffff S=6 s=5 (14)
13:42:57.658705 xid:cmd d04496e2 > ffffffff S=6 s=* erde hint=0500 [ PnP Computer ] (23)
Hierbei handelt es sich um die soganannten Discovery Pakete (`exchange station identification frame" - daher `xid'). Nachdem Sie ein anderes Infrarotgerät in Sichtweite gebracht haben sollte sich dieses auf diese `xid' Pakete zurückmelden. Dies sieht dann folgendermassen aus:
09:12:56.756986 xid:cmd 84663133 > ffffffff S=6 s=0 (14)
09:12:56.846938 xid:cmd 84663133 > ffffffff S=6 s=1 (14)
09:12:56.936963 xid:cmd 84663133 > ffffffff S=6 s=2 (14)
09:12:57.026938 xid:cmd 84663133 > ffffffff S=6 s=3 (14)
09:12:57.116931 xid:cmd 84663133 > ffffffff S=6 s=4 (14)
09:12:57.206934 xid:cmd 84663133 > ffffffff S=6 s=5 (14)
09:12:57.286939 xid:rsp 84663133 < 556ecd9e S=6 s=5 BJC-80 hint=8804 [ Printer IrCOMM ] (23)
09:12:57.296982 xid:cmd 84663133 > ffffffff S=6 s=* erde hint=0500 [ PnP Computer ] (23)

Sollte sich das andere Gerät nicht melden so überprüfen Sie bitte die Hardwareeinstellungen (I/O Adressen, Interrupts) Ihres Laptops und vergleichen Sie diese mit den Einstellungen in der Datei /etc/rc.config, die Variablen hießen IRDA_PORT für die zu verwendende serielle Schnittstelle und IRDA_IRQ für den zu verwendenden Interrupt.

Der Ausgabe von irdadump können Sie auch entnehmen, welche Protokolle vom anderen Gerät unterstützt werden. Im obigen Beispiel werden vom Gerät BJC-80 die Protkolle Printer und IrCOMM gesprochen. Man kann an dieses Gerät also beispielsweise als Drucker über die Schnittstelle /dev/irlpt0 ansprechen.

Falls Sie die Infrarote Unterstützung dauerhaft einbinden wollen, so können Sie die Variable START_IRDA in der Datei /etc/rc.config auf yes stellen. Nach dieser Änderung wird IrDA dann gleich nach dem Booten gestartet.

Einrichten eines Infrarot Druckers

Falls der obige Schnittstellentest erfolgreich war und Sie nun Ihren Infrarotdrucker einrichten wollen so können Sie dies mit dem Setupprogramm yast erledigen:

Einrichten einer Modemverbindung (z.B. zu einem Handy)

Bitte geben Sie folgende Kommandos ein um das im Handy eingebaute Modem zu verwenden:

rm /dev/modem
ln -s /dev/ircomm0 /dev/modem

Danach können Sie das im Handy eingebaute Modem z.B. mit minicom oder wvdial zur Einwahl verwenden. Konfigurieren Sie das Modem so wie es im Handbuch zu normalen seriellen Modems beschrieben ist. Beachten Sie bitte die Kompatibilitätsliste um zu erfahren ob Ihr Handy unter Linux verwendet werden kann.

Austausch von Daten zwischen zwei Linux Rechnern

Zum Austausch von Daten zwischen zwei oder mehr Computern ist eigentlich das IrLAN Protokoll vorgesehen. Allerdings kommt es z.Zt. manchmal zu Problemen beim automatischen Erkennen des Kommunikationspartners.

Was sehr zuverlässig funktioniert ist die Verwendung des PPP Protokolls über die emulierte serielle Infrarotschnittstelle.

Stellen Sie hierzu die 2 Computer in Sichtweite zueinander und starten Sie auf einem Rechner den PPP Dämon z.B. mit folgendem Kommando

erde:~# pppd /dev/ircomm0 10.0.0.1:10.0.0.2
Starten Sie auf dem anderen Computer den pppd wie folgt
sonne:~# pppd /dev/ircomm0

Hierdurch wird zwischen den 2 Infrarotschnittstellen dieser beiden Beispielrechner eine ppp Verbindung aufgebaut. Der Rechner `sonne' erhält von `erde' die IP Adresse 10.0.0.2 zugewiesen, das PPP Interface von `erde' erhält die IP Adresse 10.0.0.1. Sie können also von `sonne' aus den Rechner `erde' mit der IP Adresse 10.0.0.1 erreichen und die üblichen Netzwerkdienste zur Kommunikation zwischen diesen Rechnern verwenden (telnet, ftp, nfs usw.).

Eventuell ist es nötig, daß Sie auf dem Rechner erde die Option noipdefault deaktivieren. Kommentieren Sie bitte hierzu die entsprechende Zeile in der Datei /etc/ppp/options aus.

----------

Stichwörter: IRDA, LINUR/IR, INFRAROT, INFRARED, NOTEBOOK, LAPTOP

----------

Kategorien: Hardware , Dokumentation , Fragen und Antworten

----------

Übersicht o Stichwortsuche o History o Versionen o Kategorien o Alle Artikel
English

----------

SDB-irda, Copyright SuSE GmbH, Nuremberg, Germany - Version: 25. Nov 1998
SuSE GmbH - Zuletzt generiert: 08. Dec 1999 12:28:49 by cg with sdb_gen 1.00.0