Das A780 als GPRS/EDGE Bluetooth Modem benutzen (Linux)

Um schnell mit dem Laptop in das Internet zu gelangen, kann man das GPRS Modem des Telefons benutzen. Macht natürlich nur wirklich Sinn, wenn keine andere Verbindung möglich ist. Also man ist von der Außenwelt abgeschnitten.

Wenn man jetzt das Telefon benutzen will, wäre es gut die Modembefehle zu kennen. Für das A780 gibt es eine Datei auf Motodev "G24_AT_Commands_Developer_Guide.pdf", in der alle Befehle enthalten sind. Um es einfacher zu machen, stelle ich hier mal mein wvdial.conf Abschnitt zur Verfügung. Als Testsystem diente Debian Etch. Das Beispiel ist für das Deutsche T-D1 Netz (auch Congstar, Klarmobil ...)

Man sollte aber bedenken, dass die Daten über Bluetooth unverschlüsselt sind gegenüber Wlan. Also nur wenn kein USB-Kabel in der Nähe liegt diese Variante benutzen.

Um den Provider in den folgenden Scripten zu ändern, reicht es meistens (name, password, apn, phone) zu ändern. Manche Provider geben auch den AT+CGQREQ Wert vor.

AT+CGDCONT=1,"IP","internet.t-d1.de"

GPRS Einstellungen für deutsche Anbieter:

http://www.gsmsite.de/gprs.htm

Folgendes hat mir hier und beim Internetsharing sehr geholfen:

Setting Up a Linux-based PPP Callback server

How to connect a cell phone via USB to a Linux laptop and dial-up an internet connection

1. Linux BT Modem mit wvdial

Auf dem Linux Computer: In die Datei "/etc/ppp/option" muss die Peer-Ip des Telefons eingetragen werden:

:192.168.0.254

In die Datei "/etc/wvdial.conf" folgendes hinzufügen:

[Dialer BTA780]
Modem = /dev/rfcomm0
Baud = 115200
Init1 = ATZ
Init2 = AT&FE0V1&C1S0=0
Init3 = AT+CGDCONT=1,"IP","internet.t-d1.de"
Init4 = AT+CGQREQ=1,0,0,0,0,0
Init5 = AT+CGQMIN=1,0,0,0,0,0
Phone =*99***1#
Username = internet
Password = t-d1
Carrier Check = no
Stupid Mode = yes

Koppeln und wählen

Das Koppeln mit der Konsole hat nicht richtig funktioniert. Also:

1. Bluetooth am Telefon einschalten.

2. Die MAC-Adresse notieren des Telefons.

hcitool inq

3. Den Channel ($sp_channel) auslesen mit mit folgendem Befehl (dabei ist $btaddr=mac_addr):

sdptool search --bdaddr $btaddr SP

4. Bluetooth vom PC sichtbar machen.

hciconfig -a hci0 piscan

5. Auf dem Telefon Bluetoothgeräte suchen und koppeln.

6. Pineingabe beide Systeme.

7. Das BT-Modem starten um AT Befehle entgegennehmen zu können. ( mit "rfcomm show 0" kann man überprüfen)

rfcomm bind 0 $btaddr $sp_channel

8. Mit wvdial den Wählvorgang starten.

wvdial BTA780

9. Mit ctrl+c kann die Verbindung beendet werden.

pppd

Der Init2 Befehl besteht aus mehreren AT Befehlen: F; E0; V1; C1; S0=0. Den habe ich im Zusammenhang mit einem anderen Motorola Handy gesehen.

2. Linux BT Modem mit pppd und chat

Das benutzte chat script ist noch nicht optimiert, aber es funktioniert.

In die Datei "/etc/ppp/option" muss die Peer-Ip des Telefons eingetragen werden:

:192.168.0.254
Folgende Datei anlegen "/etc/ppp/peers/dialbt" und hineinfügen:
/dev/rfcomm0 115200
connect '/usr/sbin/chat -v -f /etc/ppp/chatscript/gprs'
noauth
nodetach
defaultroute
local
crtscts
user "internet"
password "t-d1"
ipcp-accept-remote 
ipcp-accept-local 
noipdefault
usepeerdns
Folgende Datei anlegen "/etc/ppp/chatscript/gprs" und hineinfügen:
ABORT     "BUSY"
ABORT     "NO CARRIER"
ABORT     "DELAYED"
ABORT     "NO DIALTONE"
ABORT     "VOICE"

TIMEOUT   10
""        AT
OK-AT-OK  AT&F
OK        AT+CGDCONT=1,"IP","internet.t-d1.de"

TIMEOUT   60
OK        "ATD*99***1#"
CONNECT   \c

Zwischen Timeout 10 und Timeout 60 können noch weitere Modemkonfigurationen vorgenommen werden. Siehe z.B. wvdial.

Koppeln und wählen

Das Koppeln mit der Konsole hat nicht richtig funktioniert. Also:

1. Bluetooth am Telefon einschalten.

2. Die MAC-Adresse notieren des Telefons.

hcitool inq

3. Den Channel ($sp_channel) auslesen mit mit folgendem Befehl ($btaddr=mac_addr):

sdptool search --bdaddr $btaddr SP

4. Bluetooth vom PC sichtbar machen.

hciconfig -a hci0 piscan

5. Auf dem Telefon Bluetoothgeräte suchen und koppeln.

6. Pineingabe beide Systeme.

7. Das BT-Modem starten um AT Befehle entgegennehmen zu können. ( mit "rfcomm show 0" kann man überprüfen)

rfcomm bind 0 $btaddr $sp_channel

8. Mit pppd den Wählvorgang starten.

pppd call dialbt

9. Mit ctrl+c kann die Verbindung beendet werden.

pppd

Der Init2 Befehl besteht aus mehreren AT Befehlen: F; E0; V1; C1; S0=0. Den habe ich im Zusammenhang mit einem anderen Motorola Handy gesehen.

3. Zusatz

Die ermittelten Werte des Telefons, sprich MAC-Adresse und Channel können hier eingetragen werden.

/etc/bluetooth/rfcomm.conf

#
# RFCOMM configuration file.
#

rfcomm0 {
        # Automatically bind the device at startup
        bind yes;

        # Bluetooth address of the device
        device 00:12:62:5a:47:59;

        # RFCOMM channel for the connection
        channel 5;

        # Description of the connection
        comment "Dail-Up with Cell Phone";
}

Ich hoffe, dass das Tutorial hilfreich ist. Viel Spaß beim Surfen.