Sony Ericsson P910i über Bluetooth zu Linux mit dem Internet verbinden

Das Sony Ericsson P910i

p910iAls weitere, blinkende und piepsende Kostbarkeit wurde mir ein Sony Ericsson P910i für n’Appel und n’Ei angeboten. Alleine schon der schnuffligen Tastatur wegen konnte ich nicht widerstehen. Es hat zwar eine Grösse, mit der man es gut als Totschläger oder als Sandsackersatz beim Ballonfliegen gebrauchen kann, dafür hat es ein auf Symbian basierendes Betriebssystem mit grosser Kalender- und ToDo Ansicht.

Internet surfen

Die Qual der Wahl der Quälen, äh, Quellen

Das Fon kann wunderbar, fast problemlos über GPRS im Internet surfen. Da bei uns in der Schweiz die Bits aber noch mit Gold aufgewogen werden, wollte ich die günstigere Variante: Verbindung mittels Bluetooth zum Laptop, der Computer vermittelt dann auf das Internet. Das reicht zur Synchronisierung und zum Download von allem, das ich nie brauchen werde.

Es gibt einige Anleitungen dazu, aber mittlerweile bin ich fast sicher, dass es verschiedene Versionen der Hard- und Software gibt. Denn obwohl ich Schritt für Schritt den Anleitungen (allen!) gefolgt bin, hat es nicht funktioniert. Die einzige Variante die einigermassen von Erfolg gekrönt war, war der Blog von Nicomen. Das Posting von Adam Tripp half, das Ganze zu Skripten.

Pairing/Bonding

Zuerst sollte man das Fone mit dem PC bekannt machen. Dabei werden sie zu Freunden (jöööö, süss), die ohne gross um Erlaubnis zu fragen einander beschreiben dürfen. Dafür sollten Fon und PC nebeneinander gelegt werden. Anschliessend ist beiden Kommunikationpartnern mit klaren und deutlichen Worten jeweils zu erklären, was der Sinn und die Aufgabe des Gegenübers ist (für das Sony natürlich in Japanisch).

Auf PC-Seite muss eine PIN in der Datei /etc/bluetooth/pin stehen (am Besten vierstellig).

Danach zuerst die Nummer des Fones herausfinden:

hciconfig hci0 up
hcid
hcitool scan

Das sollte etwas ausspucken wie 00:0A:DF:49:23:8B. Mit dieser Nummer kann man das Fon nun anstupsen:

modprobe rfcomm
rfcomm connect 00:0A:DF:49:23:8B

Nun muss einige male die PIN eingetippt werden, doch sollten beide einander kennen. Überprüfbar idt das auf dem Fone im Control Panel und beim PC zum Beispiel mit kbluetoothd.

Telefonseite

Gnubox

Auf dem P910i muss Gnubox installiert werden. Gnubox verwendet eine eingerichtete Verbindung mit dem Namen Bt um Kontakt mit der Umwelt aufzunehmen. Diese muss auf dem Telefon erstellt werden (nachdem man selbstverständlich ein Backup gezogen hat, wie es auf der Gnuboxseite beschrieben ist):
Control panel → Connections → Internet Accounts → New:

Account name: Bt
Connection type: Dial-up
Phone number: +

Nun kann diese Verbindung als Preferred markiert und Gnubox einmal gestartet werden (bisher unbestätigte Arbeitshypothese: Gnubox muss bei jedem Fone-(re-)Boot gestartet werden). Die Verbindung in Gnubox muss auch nur einmal konfiguriert werden:

  • Options → auto set modem ID
  • Options → LAN Access Server

Der gepairte Computer müsste sichtbar sein. Wenn nicht, muss dieser sichtbar gemacht werden, entweder mit Elfenstaub oder hciconfig hci0 pscan iscan.

Auf Computerseite

Auf PC-Seite muss das ganze übliche Bluetoothgedöns installiert sein. Ein dun Dämon nimmt das Fon bei der Hand. Über ihn wird ein Nameserver mitgeteilt (der im Skript automatisiert herausgefunden wird) und der Verbindung an beiden Enden (Fon ↔ Compie) eine IP zugewiesen. Die Fon IP muss dabei einer im Netz gerouteten entsprechen. Ich hatte die Nerven echt nicht mehr einen Router aufzusetzen. Folgendes Skript versucht das alles zu tun und wartet auf eine Verbindung (als *cough*root*cough*):

#! /bin/bash

sdptool add --channel=0 SP
rfcomm release 2 00:0A:DF:49:23:8B 2 # Hier die Nummer des Fones
rfcomm bind 2 00:0A:DF:49:23:8B 2      # Hier die Nummer des Fones
echo x > /dev/rfcomm2
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
dund -n --persist --listen --channel 0 --msdun noauth 192.168.1.69:192.168.1.66 crtscts 115200 ms-dns `grep "nameserver" /etc/resolv.conf | cut --delimiter=" " -f2 | head -1` lock

Die IPs müssen sehr wahrscheinlich angepasst werden. Vorgängig sollte man auch checken, ob man eine /dev/rfcomm2 besitzt. Wenn nicht, hat udev gepennt und man kann es sich erstellen mittels mknod /dev/rfcomm2 c 216 2.

Und nu?

Jaaa, nun gehts los: Es kann gesynct, gesurft (Empfehlung: Opera Mobile) und geinternettet werden. Beim Start eines Programmes, das sich mit dem Internet verbindet, sollte ein Fenster mit der Verbindungsanfragen aufpoppen. Akzeptiert man diese, wird auf dem PC sichtbar eine Verbindung aufgenommen.

Debugging

Trotz der vielen Quellen und dieser nun doch relativ kurzen Beschreibung hat es ziemlich lange gedauert bis es geklappt hat. Unterschiedliche Versionen und Beschreibungen der Software die nicht zueinander passen und Fehlerbehbungsanleitungen für eine weitere Kombination haben es auch nicht gerade erleichtert. Folgende Hinweise hätten mir einiges mehr an Schlaf beschert:

  • Folgendes Kommando zeigt die Bluetoothdevices in der Umgebung an: hcitool scan.
  • Wurde auf dem Mobile ein internetbenutzendes Programm gestartet und hat die Verbindungsaufnahme nicht geklappt, so muss es explizit, konsequent und drastisch beendet, abgeschossen, gekillt und geschlossen werden. Geht man zurück zum Hauptmenü, läuft es im Hintergrund weiter und erhohlt sich auch bei erneutem Aktivieren nicht.
  • Wird bei der Verbindungsaufnahme-Anfrage Bt in einem weissen Feld gezeigt, hat Gnubox was nicht geschluckt → Neuinstallieren.
  • Ist Gnubox einigermassen zufrieden, so hat es irgendwo in dessen Hauptfenster eine 5. Wird dann Bluetooth abgestellt, so erscheint das Bluetoothsymbol in der Statusleiste durchgestrichen (im Normalbetrieb verschwindet es einfach).
  • Hat man einiges gemurckst, unbedingt ab und zu das Mobile neu starten! Es kann sein, dass es dann wie durch Wunderhand funktioniert.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.