Dieses Website ist entstanden, da ich zahlreiche Stunden, wenn nicht sogar Tage damit verbracht habe herauszufind wie ich mit meinem Ericsson R520m eine Verbindung zu Surnise via GRPS herstellen kann.
Die Gute Nachricht: Es geht.
Die schlechte Nachricht: Es ist kompliziert.

Benutzte Systeme

Linux 2.6.5

Jeder einigermassen aktuelle Kernel, auch die 2.4er Reihe reichen eigentlich wunderbar aus. Ich benutze hier Debian.

Getestete Mobiles und Provider

Ericsson R520m und T39 (und sh888 einfach ohne GRPS).
Sunrise
GPRS Einstellungen:
CID=1
APN: internet
Benutzername: wap
Kennwort: wap
Kennwortabfrage: aus
Bevorz. Dienst: Automatisch
IP-Adresse: ...
DNS-Adresse: (hier eine bekannte Eintragen)

Weitere Einstellungen
Authentifizierung: Normal
Datenkompr: Ein
Headerkompr: Ein

Dienstgüte
Alles auf: Netzeinstellung

IRDA Stack

Es kann der gewöhnliche irTTY Treiber benutzt werden. Es ist zu empfehlen, den Support für die Serielle Schnittstelle wie auch alle IRDA Treiber als Module zu bauen.
Wenn Du FIR benutzen möchtest, stelle sicher, dass Du den FIR Treiber vor den Seriellen Treiber lädst. Wenn Du es andersrum machst, initialisiert der Serielle Treiber die IRDA Schnittstelle im SIR Modus und es gibt kein zurück mehr.

Ericsson IRDA Bugs

Die Ericsson Mobiles (R520m, T39) haben buggy IRDA Firmware. Unter anderem behaupten diese, dass sie in 0ms wieder Empfangsbereit sind und einen Empfangspuffer von 3 Frames haben. Das stimmt aber nicht. Windows scheint das zu ignorieren, aber Linux nimmt das beim Wort.
Man muss also den IRDA Stack Anweisen es anders zu tun:
    echo 1000 > /proc/sys/net/irda/min_tx_turn_time
    echo 1 > /proc/sys/net/irda/max_tx_window

Ericsson Firmware PPP

Meine bisherigen Beobachten lassen mich zum Schluss kommen, dass der Rechner und das Mobile mit PPP kommunizieren. Das Mobile dient dabei als PPP-Server und übersetzt die IP-Pakete in GPRS Pakete. Je nach Firmware reagiert das Mobile daher etwas anders. Wichtig sind folgende Beobachtungen:
  • Wenn man eine IP vorschlägt, klappt es nicht.
  • Die Firmware kennt kein LCP Echo Protokoll.

    Daher sind zwingend folgende PPP-Options notwendig / auszukommentieren:
    noipdefault
    # lcp-echo-interval 30
    
    Je nach Firmware kriegt man eine 'remote IP' Adress oder auch nicht. (PPPD setzt dann 10.64.64.64 was funktioniert)
    WICHTIG! Diese Remote IP kann man _NICHT_ anpingen sie gibt schlicht keine Antwort.

    Verbindung aufbauen

    Man Benutze das gewünschte Device: /dev/ircomm0 für die erste IRDA Schnittstelle, /dev/rfcomm0 für die erste Bluetooth Schnittstelle

    Jetzt muss man die unter CID=1 Abgespeicherte Verbindung wählen. Dies geschieht mit der Rufnummer *99***1# für CID=1 sonst das 1 durch die gewünschte CID ersetzen. Benutzername und Passwort scheinen keine Rolle zu spielen. Irgendwo hab ich gelesen man soll zwei mal internet benutzen.

    Weitere Einstellungen für CSD und Ericsson

    Ich habe festgestellt, dass z.B. Sunrise keine Connects auf CSD zulässt, wenn HSCSD aktiviert ist. Dies muss man per AT Comments entsprechend ausschalten. Hier die Liste:
    Ach, google doch selber nach AT+CBST und AT+CHSD +CHSN Uebersicht