Table of Contents

Linux and the Nokia E70

For additional E70 related stuff, take a look here.

Synching via OpenSync

The following represents the configuration I used to get the syncml-obex-client plugin of OpenSync to work with my E701):

<config>
  <bluetooth_address>AA:BB:CC:DD:EE:FF</bluetooth_address>
  <bluetooth_channel>14</bluetooth_channel>
  <interface>0</interface>
  <identifier>PC Suite</identifier>
  <version>1</version>
  <wbxml>1</wbxml>
  <username></username>
  <password></password>
  <type>2</type>
  <usestringtable>0</usestringtable>
  <onlyreplace>0</onlyreplace>
  <recvLimit>0</recvLimit>
  <maxObjSize>0</maxObjSize>
  <contact_db>Contacts</contact_db>
  <calendar_db>Calendar</calendar_db>
  <note_db>Notes</note_db>
</config>

Just substitute the fake bluetooth MAC AA:BB:CC:DD:EE:FF with the one of your E70 and it should work.

One-way synching with Microsoft Exchange

At work I happen to be forced to use Microsoft Exchange (which thankfully somewhat works from my debianized development box thanks to Evolution). What challenged me a bit was to synchonized the exchange-based calendar from work with my newly acquired Nokia E70, as the OpenSync project does not have a plugin yet for this kind of task. What it does have though is a plugin for synchronization with calendar data stored in the iCal-format, the sunbird-sync plugin.

Synchronizing the Exchange Calendar with the E70 therefore is done in two steps

From Exchange to iCal

Johann Richard offers "e2i", a python script which logs into your Outlook Web Access using Webdav, grabs your calendar data from there and converts it into an iCal file. In order to get it to work, you have to edit the exchange.py file and insert your access data in the appropriate variables, which you can find right at the end of the file:

# User Data
HOST = "your.exchange.server.tld"
USER = "yourusername"

In order to make it work with our (german) installation of Exchange at work, I also had to change a couple of other things, namely add an exchange to the URLs and change Calendar and Tasks to their respective german counterparts:

PORT = "443"
URL = "/exchange/" + USER + "/Kalender/"
BASE = "https://" + HOST + URL
TASKBASE = "https://" + HOST + "/exchange/" + USER + "/Aufgaben"

If you want to run it automatically (e.g. via a cronjob), you should also hardcode your password:

#PASSWORD = getPassword( HOST )
PASSWORD = "yourpassword"

In order to run the script, you'll also need to have the xslt-python-bindings installed (apt-get install python-libxslt1). If everything is set, just execute exchange.py. After some runtime, you should then be presented with a new yourusername.ics in your current directory which contains your appointments and tasks.

From iCal to the E70

The next step is configuring a new synchronization group for opensync with two members, the sunbird-sync and the synchml-obex-client plugin, which will be responsible for synching the generated iCal file with your phone.

% msynctool --addgroup e2nokia
% msynctool --addmember e2nokia sunbird-sync
% msynctool --addmember e2nokia syncml-obex-client

You then have to configure both plugins by issueing the commands msynctool –configure e2nokia 1 and msynctool –configure e2nokia 2. For the sunbird-sync plugin, use something like the following configuration:

<config>
  <file path="/path/to/yourusername.ics" />
</config>

For the syncml-obex-client, use the configuration already given above.

Now pair up your phone with your PC via bluetooth and run msynctool –sync e2nokia. That should plaster your terminal with loads of messages from opensync and finally finish with some positive message of a successful sync ;-)

Links

1) The version of opensync/libsyncml currently available in Debian (as of June 9th, 2007) did not work with my E70, I had to get myself some recent packages from the opensync-repository for my i386 rig at home and even recompile my own from current sources for the amd64 setup at work.