Skip to content

Nokia 6680 synchronization with Evolution over Bluetooth (Debian Linux)

Having only one USB cable and two computers I want to synchronize with my phone and being lazy to carry the cable with me all the time, I was “forced” to get also the other connection possibility – Bluetooth – working. It wasn’t that hard actually, but there are some details which I would like to share, anyway.

This post is a direct continuation of my previous text concerning the USB connection. At the same time, for example the packages-to-install list is incremental, i.e., it’s expected that you already have all the packages installed which were discussed previously!

In addition to the pages referenced in the other post, I found another one quite useful.

Installation

There are some extra programs/utils that have to/should be installed. The command (issued as root)
aptitude install bluez-utils
will install everything you will need. I had to do one change in order to get the phone connecting to my computer. Everytime I tried to pair the devices, I got a PIN-request. Whatever PIN I entered, the process failed. Normally, after the PIN request is displayed on the phone, there should be another one displayed on the computer, which wasn’t the case on my notebook.

I solved this by modifying the following configuration file of hcid – /etc/bluetooth/hcid.conf. The important lines are located in the section devoted to the HCId options:

	# Security Manager mode
	#   none - Security manager disabled
	#   auto - Use local PIN for incoming connections
	#   user - Always ask user for a PIN
	security auto;
	#security none;

	# Default PIN code for incoming connections
	#passkey "1234";
	passkey "XXXX";

i.e., you have to enter the PIN (numbers!) that is given in the hcid.conf file (and which I changed from the default value and replaced for the purposes of this post by X’s). Then it is possible to pair the phone with the computer. Don’t forget to restart the bluetooth stack by /etc/init.d/bluetooth restart.

Configuration

  • to get the synchronization running, several steps are required. Firstly, a group has to be created, defining the way how the synchronization is done. I am using groupname nokiabt-evo, but you can use whatever you want.
    msynctool --addgroup nokiabt-evo
    msynctool --addmember nokiabt-evo evo2-sync
    msynctool --addmember nokiabt-evo syncml-obex-client
    
  • The communication with the phone (syncml-obex) has to be further configured. Run msynctool --configure nokiabt-evo 2 and make the following changes to the file:
    identifier: PC Suite
    version: 1
    wbxml: 1
    usestringtable: 1
    type: 2
    recvLimit: 0
    maxObjSize: 0 

    Since there are problems with the synchronization of notes (probably not supported!), it is necessary to remove the contents of the note_db section. There are two BT-related setting that have to be made. Enable Bluetooth on your phone and run
    hcitool scan
    from the commandline. You should get something like

    Scanning ...
            XX:XX:XX:XX:XX:XX       Name of the phone
    

    which is the address of your phone and its name (can be set in the Bluetooth settings (Settings-Connection-Bluetooth). Furthermore, run
    sdptool browse XX:XX:XX:XX:XX:XX
    replacing the X’s by the address of the phone obtained before. This will provide you with lots of output. Look for the following section

    Service Name: SyncMLClient
    Service RecHandle: 0x1001b
    Service Class ID List:
      UUID 128: 00000002-0000-1000-8000-0002ee000002
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 11
      "OBEX" (0x0008)
    Language Base Attr List:
      code_ISO639: 0x454e
      encoding:    0x6a
      base_offset: 0x100
    Profile Descriptor List:
      "" (0x00000002-0000-1000-8000-0002ee000002)
        Version: 0x0100
    

    and get the channel number (11 in this case). Put the address and channel to the respective sections of the syncml configuration file.

    Note that some of the information on the web states, that you should use the channel of the SyncML Server (here) or OBEX IrMC Sync Server (here, albeit for another phone). However, these services do not exist on my phone and the one called SyncMLClient works…

  • Test the configuration using msynctool --showgroup nokiabt-evo
  • Start evolution and perform the sync using msynctool --sync nokiabt-evo. I haven’t encountered the same problems as with USB yet (from time to time, particularly when synchronizing large amount of data, the process hangs). Anyway, I keep the previous setup and do the synchronization in parts (first contacts, then calendar).
      echo "contact"
      msynctool --sync nokiabt-evo --filter-objtype note --filter-objtype event --filter-objtype todo
      echo "calendar"
      msynctool --sync nokiabt-evo --filter-objtype note --filter-objtype contact --filter-objtype todo
      echo "todo"
      msynctool --sync nokiabt-evo --filter-objtype note --filter-objtype event --filter-objtype contact
    

    It is not clear to me, what the todo object corresponds to, since it seems to do the same thing as calendar (event). Note that notes (I am not sure what is meant by this, probably notes not associated with the calendar…) can’t be synchronized at the moment – it’s not supported and the synchronization usually hangs. The notes associated with a given date in the calendar are synchronized and shown in evolution without any problems.

So far it works for me over BT without problems, but you never know…