IrDA Verbindung zwischen Notebook und Handy

Stand 11. August 2001

Dieses Dokument beschreibt die Nutzung der Infrarot-Schnittstelle zum Aufbau einer Verbindung zwischen einem Notebook (hier am Beispiel eines Siemens Mobile 510) und einem GSM- Mobiltelefon (hier Siemens S35i) für die Einwahl ins Internet.

1. Einleitung

1.1. Warum dieses Dokument?

Wer mit einem Notebook über das Handy ins Internet möchte, ist im Regelfall auf ein Datenkabel angewiesen, welches für teures Geld zum Handy dazugekauft werden muss. Glücklich kann sich schätzen, wer ein Handy und ein Notebook mit Infrarot-Schnittstelle besitzt.

Wer allerdings versucht, die Verbindung so herzustellen, wird sich einer Flut von (zum grossen Teil unwichtigen) Informationen ausgesetzt sehen. Diese Doku soll ein wenig Abhilfe schaffen.

1.2. Hinweis

Die Doku erhebt keinen Anspruch auf Vollständigkeit und Fehlerfreiheit. Für Hinweise auf Fehler oder konstruktive Kritik bin ich sehr dankbar. Bitte an fabian@wickborn.net schicken. Für die Richtigkeit der gemachten Angaben gebe ich keine Garantie (obwohl ich mich natürlich um Korrektheit bemüht habe). Genausowenig übernehme ich die Haftung für eventuelle Beschädigungen an Hard- und Software.

1.3. Vorhandene Systemumgebung

2. Vorbereitung

2.1. Notwendige Module

Folgende Module werden benötigt:

Im Mandrake-System sind die Abhängigkeiten und das automatische Laden der Module bereits korrekt konfiguriert, so daß man sich darum keine Sorgen machen muss.

Hinweis: Für manche Chips gibt es noch spezielle Module als Gerätetreiber für das FIR, mit dem Übertragungsgeschwindigkeiten von bis zu 4 Mbps möglich sind. Diese Module sind für eine Verbindung zum Handy nicht notwendig, da die meisten Handys auf Basis von IrCOMM arbeiten.
Welchen Chip man selbst hat, kann man mit dem Kommando findchip herausfinden. Mit dem Parameter -v lässt sich diese Ausgabe auch noch etwas humaner gestalten.

			# findchip -v
			reg=0x010
			Found NSC PC87338 Controller at 0x398, DevID=0x0b, Rev. 3
			SIR Base 0x2f8, FIR Base 0x2f8
			IRQ = 0, DMA = 3
			Enabled: yes, Suspended: no
			UART compatible: yes
			Half duplex delay = 0 us
			# findchip
			reg=0x010
			NSC,PC87338,11.3,0x398,0x2f8,0x2f8,0,3,1,0,1 

Die obige Ausgabe ist meinem System direkt entnommen. Der darin verankerte Chipsatz PC87338 wird durch das Modul nrc-ircc unterstützt. Allerdings gelang es mir nicht, diese Unterstützung zu aktivieren, da ich beim Laden des Moduls mitgeteilt bekam, daß meine Chipversion (v11.3) mit diesem Treiber nicht funktioniert. Anscheinend existieren aber Patches für den Quelltt des Treibers. Da ich aber im weiteren Verlauf meiner Nachforschung feststellte, daß ich diesen Treiber für meine Zwecke gar nicht benötige, habe ich diese nicht ausprobiert. Neuere Chipversionen des PC87338 sollten aber immer funktionieren.

2.2. Gerätedateien in /dev

Bereits existieren sollte die Gerätedatei für die serielle Schnittstelle (hier /dev/ttyS1). Die Gerätedatei, die anschließend durch daß System genutzt werden soll, ist /dev/ircomm0. Auch diese wird heutzutage von den großen Distributionen automatisch mit angelegt:

			# ls -l /dev/ircomm0
			crw-rw----    1 root     root     161,   0 Apr 30 12:10 /dev/ircomm0
		

Sollte diese Datei bei Ihnen nicht existieren, legen Sie sie mit mknod /dev/ircomm0 c 161 0 an (Sie benötigen root-Rechte hierfür).

2.3. Installation der IrDA-Utils

Installieren Sie die IrDA-Utils als RPM Ihrer Distribution oder besorgen Sie sich den Quellcode aus dem Internet.

3. Auf ins Internet

3.1. Booten und IrDA aktivieren

Nach dem Booten des Systems muss die IrDA-Unterstützung aktiviert werden, indem der Befehl

			/usr/sbin/irattach /dev/ttyS1 -s
		

ausgeführt wird. Dieser bindet die Infrarot-Schnittstelle an die IrDA-Dienste des Linux-Systems. Es sollte dabei neben dem irda-Modul auch gleich automatisch das Modul irtty geladen werden (wenn dies nicht der Fall ist, laden Sie diese Module manuell vorher).

3.2. IrCOMM aktivieren

Damit hinter der Gerätedatei /dev/ircomm0 nun auch ein Treiber steht, müssen die Mdoule ircomm und ircomm-tty geladen sein. Dies sollte bei korrekt konfiguriertem Kernel allerdings automatisch passieren, wenn ein Programm auf ircomm zugreift.

3.3. Zugriff auf das Handy

Durch irattach sollte die Suche nach IrDA-Geräten über die Schnittstelle bereits gestartet worden sein (Der Parameter -s startet das "Discovery"). Es genügt also, die Infrarot-Schnittstelle des Telefons zu aktivieren und die beiden Schnittstellen aufeinander auszurichten. Dabei sollten sich keine Hindernisse zwischen den Geräten befinden. Als optimalen Abstand empfehle ich 30 bis 50 cm, auch wenn laut IrDA-Spezifikation bis zu einem Meter möglich sein muß.

Startet man nun als root das Kommando irdadump, so sieht man die Discovery-Pakete, die vom Rechner ausgesandt werden:

			# irdadump 
			01:34:05.962048 xid:cmd 87c83be3 > ffffffff S=6 s=0 (14) 
			01:34:06.052022 xid:cmd 87c83be3 > ffffffff S=6 s=1 (14) 
			01:34:06.142021 xid:cmd 87c83be3 > ffffffff S=6 s=2 (14) 
			01:34:06.232022 xid:cmd 87c83be3 > ffffffff S=6 s=3 (14) 
			01:34:06.322023 xid:cmd 87c83be3 > ffffffff S=6 s=4 (14) 
			01:34:06.412016 xid:cmd 87c83be3 > ffffffff S=6 s=5 (14) 
			01:34:06.502032 xid:cmd 87c83be3 > ffffffff S=6 s=* zbook hint=0400 [ Computer ] (21) 
			01:34:06.502009 xid:rsp 87c83be3 > 08511174 S=6 s=5 SIEMENS S35 hint=9024 [ Modem IrCOMM IrOBEX ] (28)
		

Hierbei kennzeichet cmd die Pakete, die vom Rechner als Broadcast (Empfängeradresse ffffffff) versandt werden. Als Antwort (rsp) erhält der Rechner eine Antwort vom Mobiltelefon. Die Verbindung zwischen Rechner und Handy steht.

Herstellen der Internetverbindung

Das Siemens S35i verhält sich wie ein gewöhnliches Hayes-Modem und kann mit den AT-Commandos benutzt werden. So reicht es auf, einen Link von /dev/ttyS1 nach /dev/modem anzulegen. Selbst das ist nicht mal unbedingt nötig, wenn man seinen ppp so konfiguriert, daß er gleich auf die Gerätedatei zugreift. Allerdings verwende ich am gleichen Rechner z.T. auch ein PCMCIA-Modem an /dev/ttyS2 und ein externes 56Kbps-Modell am seriellen Port /dev/ttyS0. Hier bietet es sich an, jeweils nur das Ziel von /dev/modem zu ändern.

Anschließend wählt man sich wie gewohnt zu seinem Provider ein. Sollten Sie vorher noch keine Dial-Up-Verbindung genutzt haben, informieren Sie sich in der Dokumentation Ihrer Distribution und in den entsprechenden HOWTOs.

4. Anhang

4.1. Bemerkungen zur Verbindung

Bei einem GSM-Handy steht Ihnen nun eine Verbindung mit einer maximalen Bandbreite von 9600 bps zur Verfügung. Diese geringe Geschwindigkeit ist ausreichend, um kleinere Mails ohne Attachment zu versenden, mit konsolenbasierten Browsern wie links oder lynx kurze Recherchen im WWW zu machen oder Chatsysteme wie IRC zu nutzen. Größere Downloads sollte man vermeiden. Je nach Mobilfunknetz können zusätzliche Kosten entstehen. So verlangt T-D1 für den Zugang zu T-Online 0,39 DM pro Minute.

4.2. Informationen zu unterstützten Mobiltelefonen

Die hier vorgestellte Einwahl per pppd funktioniert mit Modellen von Siemens, Ericsson und Motorola. Nokia scheint kein Hayes-kompatibles Modem einzusetzen, doch auch hierfür gibt es Abhilfe (siehe zweiten Link unten).

4.3. Links zu Quellen und weiterführenden Informationen

Titel Informationen
Linux Infrared HOWTO DIE Referenz zu Linux/IrDA. Nahezu alle hier zusammengefassten Informationen stammen von dort
Cellular Phone Connection Eine Teilseite des Infrared HOWTOs. Hier finden sich Informationen zu den Handy einzelner Hersteller, und wie man sie über IrDA zur Einwahl ins Netz nutzen kann
Using a Motorola Timeport GSM cellular phone with Linux and Infrared Spezielle Informationen zu den Handys der Timeport-Reihe von Motorola
MobiliX - Mobile Computers and UniX Bei MobiliX findet man jede Menge Infos zu Linux, BSD und anderen UniXen mit mobilen Computern (Laptops, PDAs, Handy).
Homepage des Linux/IrDA-Projektes Treiber, IrDA-Utils, Dokumentation, Hardware-Umfragen
Infrared Data Association (IrDA) Die Vereinigung, welche die Infrarot-Standards festlegt