If you're looking for a complete, turnkey solution -- this isn't it, yet. So far I've had varying results getting the calendar, contacts, todo and notes data off the phone via bluetooth. Putting data back to the phone is yet another story.
Back it all up first using Nokia PC Suite or similar. You have been warned.
This page is to quickly document the things I have working. I'm using gentoo linux. Also note that while playing with the Nokia PC Suite software on the dark side it seemed to update a few things on the phone.
The place to start. Use 'sdptool browse' to get your phone info. Most important is your bluetooth MAC address - 12 hex digits in the format XX:XX:XX:XX:XX:XX - but you know this already from the other pages you found before.
From the sdptool output above, find:
Service Name: OBEX File Transfer Service RecHandle: 0x10008 Service Class ID List: "OBEX File Transfer" (0x1106) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 6 "OBEX" (0x0008) Language Base Attr List: code_ISO639: 0x454e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "OBEX File Transfer" (0x1106) Version: 0x0100From this you can work out to do
obexfs -b XX:XX:XX:XX:XX:XX -B 6 /mnt/obexYou'll need the fuse kernel module installed and maybe tweek the permissions on the /mnt/obex mountpoint unless you want to do it only as root. This will get you access to photos, downloads and music files, but not the directories that hold the PIM data. This doesn't actually get you much more than plugging the phone in by the USB cable, but at least using this you could build a wireless sync for music and images.
These things work for me:
usb
$ syncml-ds-tool -u Superuser privileges are required to access complete USB information. Found 3 USB OBEX interfaces Interface 0: Manufacturer: Nokia Product: E72-1 Interface description: SYNCML-SYNC Interface 1: Manufacturer: Nokia Product: E72-1 Interface description: PC Suite Services Interface 2: Manufacturer: Nokia Product: E72-1 Interface description: SYNCML-DM Use '-u interface_number' to connect $ syncml-ds-tool -u 0 --slow-sync text/x-vcard Contacts --wbxml --identifier "PC Suite" $ syncml-ds-tool -u 0 --slow-sync text/x-vcalendar Calendar --wbxml --identifier "PC Suite"bluetooth
$ syncml-ds-tool -b XX:XX:XX:XX:XX:XX 4 --slow-sync text/x-vcalendar /home/< my-user>/sdt/calendar Calendar --wbxml --identifier "PC Suite" $ syncml-ds-tool -b XX:XX:XX:XX:XX:XX 4 --slow-sync text/x-vcard /home/< my-user>/sdt/contacts Contacts --wbxml --identifier "PC Suite" $ syncml-ds-tool -b XX:XX:XX:XX:XX:XX 4 --slow-sync text/plain Notes /home/< my-user>/sdt/notes --wbxml --identifier "PC Suite"Note that 'channel 4' for the bluetooth versionsof the command (-b option) comes from the sdptool info:
Service Name: SyncMLClient Service RecHandle: 0x10006 Service Class ID List: UUID 128: 00000002-0000-1000-8000-0002ee000002 Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 4 "OBEX" (0x0008) Language Base Attr List: code_ISO639: 0x454e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "" (0x00000002-0000-1000-8000-0002ee000002) Version: 0x0100syncml-ds-tool dumpinfo looks like:
======================================== Man: NOKIA Mod: E72-1 FirmwareVersion: SoftwareVersion: 021.024 HardwareVersion: MaxMsgSize: 65535 MaxObjSize: 3000000 Transport used: OBEX client OMA DS mode used: server Identifier (Source): PC Suite Target: (null) Datastores: Locations: ./C:Calendar Wbxml: Yes SyncML Version: (null) SupportsUTC: Yes SupportsNumberOfChanges: Yes SupportsLargeObjects: Yes libsyncml Version: 0.5.4 ($Revision: 1075 $) ------------The good news here is that if you specify a directory as above then syncml-ds-tool actually does sync -- you can download from the phone, add something new to the directory, re-sync and have it appear on your phone. The bad news is that with the version from libsyncml v. 0.5.4 you eventually run into an error of the form:
<some-path>/libsyncml-0.5.4/libsyncml/data_sync_api/data_sync_callbacks.c:653:E:smlDataSyncMappingCallback: Assertion "datastore->dsObject->mappingCallback" failedThe syncml-ds-tool.c source code has the 'RegisterChangeStatusCallback' and 'RegisterMappingCallback' lines commented out, with no code to support them -- so not there I'm afraid. Otherwise, syncml-ds-tool would be a sufficient command-line element to build a Linux sync system for the e72 around. I suspect this is a result of something on the phone detecting a previous sync, and triggering the software to attempt to map the entires.
The good news here is that the svn version - libsyncml Version: 0.5.100 ($Revision: 1356 $) as of this writing -- mostly seems to work, in that records go back and forth between the desktop and phone.
To get the {M}(~)9999 hard masked ebuild of libsyncml on your gentoo system (this pulls the latest svn build), ensure you have the appropriate ~arch for app-pda/libsyncml in your /etc/portage/package.keywords and add '=app-pda/libsyncml-9999' to your /etc/portage/package.unmask file. (now you really are on the bleeding edge...)
This is what I'm using now. I put the three commands (Contacts, Calendar and Notes) in a shell script with 'sleep 2' after each -- otherwise it hangs.
This is the new version of the previous msynctool, apparently. For Gentoo you will need to grab the ebuild from bugs.gentoo.org, place it in /usr/local/portage/app-pda/osynctool/ and do 'ebuild osynctool-0.39.ebuild digest'. Finally with all the above I was able to get this almost working as well. osynctool is similar to msynctool in that you need to create and add groups and members to get started:
$ osynctool --addgroup e72 $ osynctool --addmember e72 file-sync $ osynctool --addmember e72 syncml-obex-client $ osynctool --showgroup e72 Group: e72 Member 2: syncml-obex-client No Configuration found: Plugin is not configured Member 1: file-sync No Configuration found: Plugin is not configuredThe trickier bit is configuring each member with 'osynctool --configure e72 1' and 'osynctool --configure e72 2'. I don't claim to understand the individual entries myself, but here are the configs I got working for file-sync(.gz) and syncml-obex-client(.gz). I don't use Evolution, but there are pages around describing the config for it.
All in all I wasn't able to make osynctool work very well. As it says on the opensync website, the 0.3.x releases "are not recommended for end users or distribution packaging," and certainly this goes double for the svn version I also tried -- so nothing against them here.
1 january 2010