NetAndif


Freitag, 22. Februar 2008

Sync von Nokia E61 und Evolution per USB unter Linux

Kategorie: Linux – netandif – 00:39 | 4,425 mal aufgerufen

Ein Thema, das mich schon einmal eine Zeitlang beschäftigte. Wie synchronisiere ich mein Nokia E61 per USB mit dem Programm Evolution?
Damals unter PCLinux OS, basierend auf Mandrake und Kernel 2.6.18, scheiterte dieses Unterfangen.
Mein damaliges Haupt-Problem war, das nach dem Anschließen des Nokia E61 sich der komplette USB-Stack dieses Linux-Systems verabschiedete. Ein USB-Bug im Kernel war die Ursache.
Vielleicht wäre ich nach einem Kernel-Upgrade weiter gekommen, aber auch dann wäre der Weg noch steinig genug gewesen. Ich hatte damals einfach keine Lust mehr.
Was mich sogar dazu brachte, wieder zurück zu Windows XP und der Nokia PC Suite zu gehen.

Nun, bei einem erneuten Versuch, diesmal unter Ubuntu Gutsy, ist das Kernel-Problem nicht mehr vorhanden.
Hier leistet die Version 2.6.22 ihre Dienste.

Schon damals unter PCLinux OS bin ich aber zu dem Schluss gekommen dass ein Syncen des Nokia E61 mit Evolution per USB möglich sein muss. Einige Funde per Google deuteten bereits darauf hin.
Die meisten Anleitungen beschreiben allerdings den Weg per Bluetooth.
Dennoch konnte ich einige Informationen zusammentragen, und bin nun letztendlich auf den richtigen Weg gekommen.

Involviert in dem ganzen Prozess ist folgende Software:

- das Synchronisations-Framework ‘opensync’
- die SyncML Protokoll-Bibliothek ’syncml’
- die WBXML Parsing und Encoding Bibliothek ‘wbxml2′
- das Synchronisations-Tool ‘multisync’
- natürlich das Email-Programm Evolution
- und ein multisync-Plugin für Evolution

Folgende Pakete müssen also installiert sein (teilweise aufgrund von Abhängigkeiten automatisch):

- libopensync0
- multisync
- multisync0.90
- multisync-tools
- opensync-plugin-evolution
- opensync-plugin-syncml
- libsyncml0
- libsyncml-utils
- libmultisync-plugin-evolution
- libwbxml2-0

Der Zugriff auf das USB-Device ist leider derzeit standardmäßig auch unter Ubuntu Gutsy nur mit root-Rechten möglich.
Dies zeigt sich bei Eingabe folgenden Befehls als normaler User:

syncml-obex-client -u

Die Ausgabe:

Superuser privileges are required to access complete USB information.

Da wir aber nicht als root arbeiten wollen, muss eine Lösung hierfür gefunden werden.
Zunächst in einem Terminal den Befehl ‘lsusb’ ausführen.
In meinem Fall ergibt das folgende Ausgabe:

lsusb Nokia E61

Mit diesen Informationen kann das Problem umgangen werden. Hierzu müssen die udev rules bearbeitet werden:

sudo gedit /etc/udev/rules.d/40-permissions.rules

Dazu werden die Vendor und die Product ID, wie zuvor mit lsusb ermittelt, benötigt.
Im Falle meines Nokia E61 lautet der Eintrag also folgendermaßen:

udev Rule
Der Username ‘netandif’ muss natürlich durch den entsprechend vorhandenen ersetzt werden.

Danach sollten die udev-Rules neu eingelesen werden mit:

sudo udevcontrol reload_rules

Jetzt hat man auch als User die Möglichkeit, auf das USB-Device zuzugreifen.
Die Eingabe von syncml-obex-client -u ergibt nun folgendes:

SyncML

Nun ist es an der Zeit, das Sync-Tool einzurichten.
Dazu zunächst in einem Terminal folgendes eingeben:

msynctool –addgroup nokia
msynctool –addmember nokia syncml-obex-client
msynctool –addmember nokia evo2-sync

Wenn dabei keinerlei Meldungen erscheinen, hat es geklappt.

Danach müssen die beiden Member der Sync-Gruppe konfiguriert werden.
Dies kann entweder über die später beschriebenen grafischen Oberflächen, oder aber per direkter Bearbeitung der Konfigurationsdateien in der Konsole durchgeführt werden:

msynctool –configure nokia 1

msynctool Nokia

msynctool –configure nokia 2

msynctool Nokia

In diesem Fall ist der wichtigste Part die Konfiguration von Member 1, nämlich dem syncml-obex-client.
Die relevanten Parameter:
- interface: die Nummer des Interface mit der Beschreibung SYNCML-SYNC, die mit syncml-obex-client -u ermittelt wurde. Im Normalfall ist es die 0
- identifier: Hier muss in jedem Fall ‘PC Suite’ stehen, sonst wird der Connect vom Telefon abgelehnt
- wbxml: muss auf 1 stehen, sonst bricht die Kommunikation mit dem Telefon bereits am Anfang ab
- username und password ist im Normalfall leer, ausser im Telefon wurden diese eingerichtet
- type: 5 für USB
- recvLimit: der Wert muss auf jeden Fall erhöht werden. ‘0′ Funktioniert nicht
- Contact_db: Beim E61 lautet der Name ‘Contacts’

Auf Basis dieser Einstellungen kann man nun in freudiger Hoffnung das MultiSync GUI öffnen:

multisync0.90

Bzw. im Menü unter Zubehör ‘Multisync-quad’ aufrufen.

multisync0.90 multisync0.90

Wenn alles geklappt hat, kann man nun unter Ubuntu Gutsy sein Nokia E61 mit den Evolution-Daten syncen…

Hinweis: ich habe mich bisher auf die Synchronisation der Kontakte beschränkt.
Es sollte aber auch mit dem Kalender möglich sein.
Das Syncen der Notizen wird vom Evolution Plugin leider nicht unterstützt.

Update: als Alternative zum MultiSync GUI kann auch das Programm ‘KitchenSync’ verwendet werden, welches eigentlich aus KDE stammt, aber auch unter Gnome läuft:

KitchenSync KitchenSync

Noch ein Hinweis (danke an Malte Christiansen):
Am Handy selbst muss noch unter ‘Verbindungen’ -> ‘Datenkabel’ der Modus ‘PC Suite’ eingestellt sein.

19 Kommentare »

  1. Hallo.
    Erstmal vielen Dank für die Anleitung. Hat mir gut geholfen!
    Auch nötig war dieser Thread :
    http://ubuntuforums.org/showthread.php?t=260676&highlight=E65
    Sollte man durchlesen (ist auf Englisch und recht lang…), insbesonderes mit Achtung auf die erwähnten Repositories. Gutsy Ubuntu hat nämlich nicht die aktuellen Versionen von Opensync (Stand 15.04.08). Auf Seite 23 vom Thread ist auch aufgelistet eine quelle für diese Sachen für 64 bit Systeme.
    Ohne diesen aktuellen Paketen hat mein Telefon, bei dem Versuch Contacts und Calender zu synchronisieren, ein System Fehler gemeldet. Jetzt gehen beide, allerdings Notes nicht. Ein kleine Ärgerniss: Memos im Telefon sind zu Meetings geworden. Frage mich nicht warum….
    Das Telefon ist ein E61 von T Online, ich habe es allerdings auf Englisch eingestellt. (meine muttersprache). Es ist möglich, daß die Ordnern Contacts und Calender Deutsche Bezeichnungen haben, wenn das Telefon Deutsch sprict. Dieses kann man überprüfen im Telefon über Menu>Connections>Sync>PC Suite. Das Profil lässt sich zwar nicht editieren, zeigt bei dem Versuch aber an, wie die Dinger heissen.
    Nochmals vielen dank. Ich hoffe, mein Zusatz kann auch Jemand weiter bringen.
    Michael

    Comment von Michael Kennedy — Dienstag, 15. April 2008 @ 13:44

  2. Freut mich dass ich Dir mit diesem Beitrag helfen konnte. Und danke für den Hinweis zu den Repositories.

    Comment von netandif — Mittwoch, 16. April 2008 @ 18:15

  3. Hallo nochmal.
    Bin jetzt auf Ubuntu 8.04. Jetzt haben die Ubuntu Repositories anscheinend doch aktuelle Versionen von den nötigen Paketen. Ich habe gerade eingerichtet, und es scheint funktonieren zu wollen. :-)
    Mal sehen, wie es morgen tut….
    Michael

    Comment von Michael Kennedy — Sonntag, 8. Juni 2008 @ 17:27

  4. Hallo netandif,

    vielen Dank für die detaillierte Beschreibung. Nach vielen erfolglosen Versuchen hat die Synchronisation damit bei mir erstmals geklappt. Allerdings habe ich an einigen Problemchen etwas rumtüfteln müssen, die Deine Anleitung für den einen oder anderen Ubuntuuser wie mich vielleicht erweitern helfen:

    1..: Der in den udev rules anzugebende USER ist natürlich nicht standardmäßig “netandif”, sondern der unter Linux angelegte persönliche User. ;-)

    2.: Den Befehlen addgroup, addmember und configure sind nach msynctool nicht ein, sondern zwei Spiegelstriche voranzustellen: msynctool –addgroup nokia, etc..

    3.: Der Befehl zur Konfiguration des zweiten NOKIA-Gruppenmitglieds müsste genauer heißen: msynctool –configure nokia 2.

    4.: Die Kofigurationseinstellungen können auch direkt im Programm Multisync-qad unter ‘Anwendungen’ -> ‘Zubehör’ vorgenommen werden.

    5.: Am Handy selbst muss noch unter ‘Verbindungen’ -> ‘Datenkabel’ der Modus ‘PC Suite’ eingestellt sein.

    Aber wie oben gesagt, die erste Anleitung, die bei mir endlich zum Erfolg geführt hat.

    Respekt und vielen Dank!!

    Comment von Malte Christiansen — Sonntag, 15. Juni 2008 @ 17:04

  5. Hallo Malte, freut mich dass Dir die Anleitung zum Erfolg verholfen hat! Und vielen Dank für Deine Hinweise. Hab die erwähnten Fehler gleich berichtigt.

    Comment von netandif — Sonntag, 15. Juni 2008 @ 17:29

  6. Thanks a lot! that was very helpful!
    Vielen Danke!

    Comment von Mark — Montag, 7. Juli 2008 @ 03:32

  7. Hallo, nettes howto, aber mein e65 lässt sich schon unter debian syncen. Notizen gehen auch dort nicht. Grund: im symbian werden notizen als textdokument behandelt, andere geräte (sony ericsson) haben aber einen head und ne foot zeile ;)

    Comment von Hanfred — Dienstag, 8. Juli 2008 @ 07:47

  8. Vielen herzlichen Dank fuer dieses kurze Tutorial!! Klappte auf Anhieb.

    Comment von Kai — Montag, 14. Juli 2008 @ 08:58

  9. Adressbuch-Synchronisation E65 mit KAdressbook über kitchensync klappt!!!

    Danke an alle, vor allem an netandif. Aber auch Michaels Kommentar zum Namen des Adressbuchs war wertvoll. Da fand ich heraus, daß es auf meinem auf Deutsch eingestellten Handy Kontakte heißt. Habe ich dann auch so eingestellt und kitchensync konnte sich dann problemlos mit dem Handy verbinden und die Adressbücher vergleichen Allerdings wurden sie nicht synchronisiert, d.h. keine Daten auf das Handy übertragen. Die Lösung war dann relativ einfach. Kontakte wird nur als interner Name verwendet. Extern ist der Name des Adressbuchs “Contacts” (zumindest auf meinem E65).

    Herausgefunden hatte ich diesen unter Menu>Connections>Sync>PC Suite>Programme>Kontakte

    Nachdem ich das geändert hatte, wanderten alle meine Kontakte aus KAdressbook auf das E65.

    Das Ganze beruht übrigens auf einem blöden Irrtum. Bei der automatischen Konfiguration von SyncML durch kitchensync wird das Handyadressbuch mit “contacts” voreingestellt. Hatte das große “C” in netandif Post einfach überlesen und gedacht, das stimmt so.

    lg.k.

    Comment von king.knut — Freitag, 1. August 2008 @ 11:29

  10. Danke für das tolle Tutorial. Alle ging, jedoch erhalte ich beim Sync folgende Fehlermeldung:

    Error while initializing syncengine. Unablo to open fifo.

    Kann mir jemand weiterhelfen? Danke und Gruss Dyan

    Comment von dyan — Donnerstag, 14. August 2008 @ 19:11

  11. Hi netandif

    Nice tutorial. For those of us who never touched the udev before, here a couple of things i learned yesterday night:

    1) you can use the udevmonitor to see what is going on, and also to find out how your usb device is called.
    2) Once you know this, use udevinfo to find out what can be used in udev/rules.d/* files, e.g.:

    udevinfo -a -p /sys/bus/usb/devices/1-1|less

    gives

    looking at device ‘/devices/pci0000:00/0000:00:1d.0/usb1/1-1′:
    KERNEL==”1-1″
    SUBSYSTEM==”usb”

    ATTR{idVendor}==”0421″
    ATTR{idProduct}==”04f0″

    ATTR{manufacturer}==”Nokia”
    ATTR{product}==”Nokia N95″

    etc

    by the way, one can do the same with one of the untersections:

    udevinfo -a -p /sys/bus/usb/devices/1-1\:1.8|less

    this time you get the nokia part as “parent device” and all properties always have an “s” at the end of the parameter name:

    looking at device ‘/bus/usb/devices/1-1/1-1:1.8′:
    KERNEL==”1-1:1.8″
    SUBSYSTEM==”usb”

    ATTR{interface}==”SYNCML-DM”

    looking at parent device ‘/devices/pci0000:00/0000:00:1d.0/usb1/1-1′:
    KERNELS==”1-1″

    ATTRS{idVendor}==”0421″
    ATTRS{idProduct}==”04f0″

    ATTRS{manufacturer}==”Nokia”
    ATTRS{product}==”Nokia N95″

    3) Your rules for udev configuration did not work for me, so I tried to find out more about it. First, I found out that I have a nice /etc/udev/rules.d/README file on the system. This one suggested to put my own rule in a file called 5x-something, so I decided to use a new file called /etc/udev/rules.d/55-nokia.rules. This should help with package upgrades in the future.

    4) What worked in the end was this:

    SUBSYSTEM==”usb”, ATTRS{idVendor}==”0421″, GROUP=”plugdev”

    This presumably sets a group “plugdev” to all Nokia devices, which is fine with me. I also decided against seting up a dedicated user, to make things more portable. In case you are in doubt if you belong to “plugdev” group, consult the “groups” command.

    Later I found out that this rule also works:

    SUBSYSTEM==”usb”, ATTRS{manufacturer}==”Nokia”, GROUP=”plugdev”

    Obviously this rule is easier to understand, so I sticked to it.

    5) Testing the rule requires hotplug event after reloading the rules with “udevcontrol reload_rules” (which may not be really needed, but it does not hurt). This means “reconect the usb cable”, and then try to find out if it worked, e.g. with:

    find /dev/bus/usb/ -exec ls -l {} \;

    crw-rw-r– 1 root root 189, 0 2008-08-21 21:12 001
    crw-rw-r– 1 root plugdev 189, 42 2008-08-22 08:49 043
    crw-rw-r– 1 root plugdev 189, 42 2008-08-22 08:49 /dev/bus/usb/001/043
    crw-rw-r– 1 root root 189, 0 2008-08-21 21:12 /dev/bus/usb/001/001
    ….

    If you see something like the output above, the rule worked.

    6) The rest of the configuration way not very eventful. It’s worth to mention that “multisync-qad” apparently reads the names of addressbook, calendar and task databases from the evolution settings, and allows you to choose the one you consider correct. This even works for remote databases lying on an exchange server, which is really cool.

    7) Finally, it took me a while to understand that “refresh” button on “multisync-qad” actually means “go and synchronize the databases. The sync worked with N95, although the multisync reported “All conflicts have been reported” in the end. I only wonder wher eis this report?

    bye and thx again for the tutorial.

    Deno

    Comment von Deno — Freitag, 22. August 2008 @ 08:07

  12. Ah, I see now - one has to start the client from the command line to see the synchronization report. the complaints where about the calender and contacts on exchange side. The synchronization of contacts with local DB worked well. I’ll have to try this at work again, it could be a problem with remote access.

    Comment von Deno — Freitag, 22. August 2008 @ 08:19

  13. Ich habs mit Deiner Anleitung und der aus dem Forum:

    :http://forum.ubuntuusers.de/topic/e65-womit-erfolgreich-synchronisieren/

    hinbekommen, dass es auch per Bluetooth klappt.
    Leider nicht zu 100%. Vom E61 zum PC klappt es stets. Werden Termine im PC geändert, übernimmt diese mein E61 manchmal und manchmal nicht. Ursache hab ich noch nicht herausgefunden. Lösungshinweise erwünscht ;-)

    Hier meine abweichende Einstellung für syncml-obex-client:


    00:12:D1:86:CD:92


    10


    0


    PC Suite


    1


    1


    2


    0


    0


    0


    10000

    0


    Contacts


    Calendar


    Notes

    Gruß aus Leipzig
    Michael

    Comment von Michael — Donnerstag, 25. September 2008 @ 20:03

  14. Ich nutze Opensuse 11.0
    Leider funtioniert der Eintrag einer neuen .rules Datei unter udev nicht. Hat jemand eine genaue Anleitung für das Verfahren unter Opensuse?

    Comment von wurstbrot — Donnerstag, 23. Oktober 2008 @ 07:57

  15. Das mit den udev-rules sollte unter openSUSE eigentlich etwas simpler zu machen sein.
    Erstelle mal im Ordner /etc/udev/rules.d/ eine Datei mit dem Namen ‘51-nokia.rules’ mit folgendem Inhalt :
    SYSFS{idVendor}==”0421″, SYSFS{idProduct}==”044d”, MODE=”0666″

    Könnte mir vorstellen, dass das funktioniert.
    Noch was: die id 044d gilt für das Nokia E61. Normalerweise müsste es auch funktionieren, den Eintrag SYSFS{idProduct} komplett wegzulassen. Dann würde die Regel für alle Nokia Devices gelten.

    Comment von NetAndif — Donnerstag, 23. Oktober 2008 @ 18:17

  16. Hallo zusammen!

    Ich bin ein absoluter Linuxneuling aber ich dachte trotzdem, dass es dem ein oder anderen helfen könnte zu erfahren wo der Knackpunkt dabei war eine Synchronisation unter Ubuntu mit dem Nokia E71 zustande zu bringen. Synchronisiert wurden bisher Kalender und Kontakte. Ich habe mich im allgemeinen an die oben stehende Anleitung gehalten aaaaber am Ende die Sprache im Telefon unter Menü/System/Einstellungen/Allgemein/Personalisieren/Sprache auf Englisch stellen müssen.
    … und siehe da… alles prima.

    LG
    Transwoc

    Comment von Transwoc — Mittwoch, 12. November 2008 @ 16:35

  17. Naja, das Sync-Profil und die Einstellung im Handy müssen natürlich zusammen passen. Komischerweise hat es bei mir auch mit ‘Contacts’ sofort funktioniert. Ich musste mein E61 nicht auf auf Englisch umstellen. Aber schon gut, dass hier jetzt mehrmals auf dieses etwaige Problem hingewiesen wurde. Man sieht übrigens welch Schreibweise im Handy verwendet wird, indem man im Handy bei den Synchronisationseinstellungen das Profil PC Suite bearbeitet. Dort sind die Einstellungen unter Programme zu finden.

    Comment von netandif — Mittwoch, 12. November 2008 @ 18:33

  18. Hallo,
    ich bin neu auf Linux umgestiegen.
    Auch bei meinem E61 werden die Kontakte zu evolution, aber nicht zum Calendar (steht so im Sync Profil) des E61 übertragen.
    Könnt Ihr mir nochmal Tips geben wie ich bidirektional auch zum Handy syncen kann ?

    Vielen Dank im Voraus,
    und vielen Dank für die tolle ANleitung !

    Gerhard

    Comment von Gerhard — Samstag, 27. Dezember 2008 @ 18:16

  19. msynctool –showgroup nokia
    Groupname: nokia
    Member 2: evo2-sync
            Configuration : <?xml version=“1.0″?>
    <config>
      <address_path>default</address_path>
      <calendar_path>default</calendar_path>
      <tasks_path/>
    </config>

    Member 1: syncml-obex-client
            Configuration : <config>
    <interface>0</interface>
    <identifier>PC Suite</identifier>
    <version>1</version>
    <wbxml>1</wbxml>
    <username></username>
    <password></password>
    <type>5</type>
    <usestringtable>0</usestringtable>
    <onlyreplace>0</onlyreplace>
    <recvLimit>10000</recvLimit>
    <maxObjSize>0</maxObjSize>
    <contact_db>Contacts</contact_db>
    <calendar_db></calendar_db>
    <note_db></note_db>
    </config>

    So sieht die Konfiguration aus, wenn ich es mit der Multisync GUI einrichte.
    Man kann also beim Evolution Sync Plugin nicht viel falsch machen.

    Comment von netandif — Samstag, 27. Dezember 2008 @ 18:55

RSS-Feed für Kommentare zu diesem Beitrag. | TrackBack URI

Einen Kommentar schreiben

XHTML ( You can use these tags): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> .

Benachrichtigung bei neuen Beiträgen