dur.ch/

konfiguriert

GPRS mit dem Motorola C333 und Linux

Das C333 kommt ohne irgendwelche technischen Angaben und ohne Support für Mac OS oder gar Linux, somit hatte ich keine Ahnung, ob das Ding mit dem USB-Kabel unter Linux überhaupt laufen würde. Nachdem aber schon einer das 120c mit dem USB-Kabel zum laufen gebracht hat, hab ich die 50 Fr. für das Kabel (elende Wucherer, ist ja nur ein einfaches USB-auf-Mini-USB-Kabel...) mal hingeblättert, und siehe da, nach kurzem Rumgebastel und einem Totalabsturz des Handys (es gibt übrigens oben links vom Display einen kleinen Ein-/Ausschalter unter der Oberschale) kam ich mit meinem iBook über GPRS ins Netz.

Kernel-Module

Es werden folgende Kernelmodule benötigt:

Allerdings muss man vor dem Kompilieren das acm Modul patchen, dazu nimmt man in drivers/usb/acm.c folgende Anpassung vor: Vorher:

/*
 * USB driver structure.
 */

static struct usb_device_id acm_ids[] = {
       { USB_DEVICE_INFO(USB_CLASS_COMM, 0, 0) },
       { }
};

Nachher:

/*
 * USB driver structure.
 */

static struct usb_device_id acm_ids[] = {
       { USB_DEVICE_INFO(USB_CLASS_COMM, 0, 0) },
       { USB_DEVICE_INFO(USB_CLASS_COMM, 2, 0) },
       { }
};

Nach dem Kompilieren und laden des Moduls sollte nach dem Einstecken des Kabels sowas in den Logs auftauchen:

Feb 24 14:55:05 yoko kernel: hub.c: new USB device 10:18.0-1, assigned address 14
Feb 24 14:55:05 yoko kernel: ttyACM0: USB ACM device

Meist klappt das nicht beim ersten Mal, man erhält dann eine Meldung wie:

Feb 24 15:54:26 yoko kernel: hub.c: new USB device 10:18.0-1, assigned address 17
Feb 24 15:54:26 yoko kernel: usb.c: USB device not accepting new address=17 (error=-110)

Dann einfach das Kabel ein klein wenig rausziehen und gleich wieder einstecken. Meistens klappt es dann.

PPPd

Die Verbindung hab ich mit pppconfig konfiguriert. Mein /etc/ppp/peers/gprs sieht so aus:

hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/gprs"
debug
/dev/ttyACM0
115200
defaultroute
noipdefault
user ""
remotename gprs
ipparam gprs

usepeerdns

In /etc/chatscripts/gprs musste ich noch den Initstring ändern (es muss der Anbieterabhängige PDP-Kontext aufgesetzt werden mit AT+CGDCONT=...) und den Wählstring anpassen (ATD statt ATDT). Es sieht nun so aus:

# abortstring
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
'' AT+CGDCONT=1,"IP","gprs.swisscom.ch"
# ispnumber
OK-AT-OK ATD*99***1#
# ispconnect
CONNECT \d\c

Nun kann die Verbindung mit pon gprs aktiviert werden.

GPRS und Mac OS X