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
- Mandrake 8.0
- Kernel 2.4.3-20mdk von Mandrake 8.0
- irda-utils-0.9.14-3mdk
2. Vorbereitung
2.1. Notwendige Module
Folgende Module werden benötigt:
- irda: Der allgemeine IrDA-Support, auf dem alles weitere aufbaut
- irtty: Hierbei handelt es sich um einen Gerätetreiber, bei dem die Infrarot-Schnittstelle als eine serielle Schnittstelle im System behandelt wird. Das heißt, für den Zugriff auf die Schnittstelle wird der Linux-eigene Treiber für serielle Schnittstellen verwendet. Das sollte bei praktisch jedem Notebook funktionieren. Bei mir konnte ich die Einstellung, welcher serielle Port das nun sein soll, im BIOS festlegen: COM2 (ttyS1) an 0x2f8, IRQ 3 und DMA 3. Den DMA konnte ich vernachlässigen, da dieser nur bei FIR (FastInfraRed) verwendet wird.
-
ircomm und ircomm-tty : IrCOMM implementiert die Emulation
einer seriellen Schnittstelle und ermöglicht es, daß alle
Programme, die mit TTYs umgehen können, das IR-Interface
nutzen können (inkl. minicom und pppd). Dabei wird eine
spezielle Gerätedatei (
/dev/ircomm0) verwendet, die von den Programmen wie eine normale serielle Schnittstelle angesprochen werden kann.
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 |