piano-netpeople-ch Logo
Freitag, den 22.08.2014 @Piano » Linux Corner » Nokia 6610i über IrDA

Nokia 6610i über IrDA unter Linux betreiben

Angeregt durch die ETH Vorlesung Mobile System Architecture, in welcher wir unter anderem das IrDA Protokoll und die AT Kommandos angesehen haben, wollte ich das natürlich auch mit meinem Mobiltelefon versuchen. Das war aber gar nicht so einfach, wie ich es mir vorgestellt habe. Deshalb möchte ich auf dieser Seite alle Schritte und Details zur Hardware notieren und hoffentlich verewigen ;-)

Hardware

Da mein Desktop kein IrDA von Haus aus unterstütz, habe ich mir einen USB-IrDA Dongle gekauft (Maxxtro USB 2.0 IRDA 4210). Laut Hersteller, sollte der auch unter Linux laufen, betonung auf sollte... Als weitere Hardware natürlich mein Nokia 6610i.

Der Dongle wird bei meinem System (Kernel 2.6.18) sofort erkannt:

piano@miraculix ~ $ lsusb
Bus 002 Device 004: ID 066f:4210 SigmaTel, Inc. STIr4210 IrDA Bridge

usb 1-9: new high speed USB device using ehci_hcd and address 3
usb 1-9: configuration #1 chosen from 1 choice
usbcore: registered new driver usbserial
drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
usbcore: registered new driver usbserial_generic
drivers/usb/serial/usb-serial.c: USB Serial Driver core
drivers/usb/serial/usb-serial.c: USB Serial support registered for IR Dongle
ir-usb 1-9:1.0: IR Dongle converter detected
usb 1-9: IR Dongle converter now attached to ttyUSB0
usbcore: registered new driver ir-usb
drivers/usb/serial/ir-usb.c: USB IR Dongle driver v0.4
irda_init()
NET: Registered protocol family 23
usbcore: registered new driver irda-usb
USB IrDA support registered

Der IrDA Chip ist ein SigmaTel 4210 (was sich nachträglich bei der Suche als wichtig zu wissen herausgestellt hat.

benötigte Packete

Da wir IrDA (Infrarot) verwenden, brauchen wir auch die entsprechenden Tools und später für die Verwaltung der Telefondaten das Programm xgnooki

aptitude install irda-utils gnokii

Des weiteren benötigen wir die Firmware, die beim initialisieren des Treibers verwendet wird. Der Inhalt von http://www.sigmatel.com/documents/stir4210_4220_4116_patch_files.tar.gz unter /lib/firmware/ abspeichern.

benötigte Module

Damit das Programm mit dem Handy kommunizieren kann, stellen wir sicher, dass die Module geladen sind:

modprobe irda
modprobe ircomm-tty
modprobe irtty_sir
modprobe irda_usb

Achtung: Ihr solltet sicherstellen, dass das Modul "ir_usb" nicht geladen ist! Der Grund liegt darin, dass sich irda_usb und ir_usb konkurrenzieren. Ihr könnt das Modul enfernen, indem folgender Befehl ausgeführt wird:

rmmod ir_usb

Jetzt gilts ernst

Nun muss noch die der Irdakontroller eingebunden werden:

irattach irda0 -s

Ihr könnt nun beim Handy den Infrarot aktivieren und mit

cat /proc/net/irda/discovery
prüfen, ob das Handy auch erkannt wird. Ich erhielt folgendes Resultat:

miraculix:/home/piano# cat /proc/net/irda/discovery
IrLMP: Discovery log:
nickname: Nokia 6610i, hint: 0xb125, saddr: 0x749351a9, daddr: 0x00007840

Nun sollte ein gnokii --identify dein Handy anzeigen. Mit xgnokii kannst du anschliessend SMS versenden und auch das Telefonbuch auslesen. Meine gnokii Konfiguration sieht folgendermassen aus:

/etc/gnokiirc
[global]
 port=/dev/ircomm0
 model = AT
 connection = serial

Dankeschön

Herzlichen Dank an Samuel Ortiz, welcher nicht nur an der Entwicklung des Infrarot Kernelmoduls betätigt war, sondern mir auch half, den Dongle zum Laufen zu bringen.