Ubuntu – LTSP client synchronize blackberry address book & calendar with evolution

blackberryevolutionltspsync

I'm trying to setup blackberry sync'ing with Evolution on a LTSP client.
It works on the server.

I'm using Ubuntu 10.04 64bit on the server and here are the instructions
I've followed to get the server working:

  1. Install required syncing packages
    $ sudo apt-get install libopensync0 multisync-tools libbarry0 opensync-plugin-evolution opensync-plugin-barry
    $ msynctool --addgroup BB
    $ msynctool --addmember BB barry-sync
    $ msynctool --addmember BB evo2-sync
    $ msynctool --showgroup BB
  1. Find PIN number on phone and entered it in to the config
   $ msynctool --configure BB 1
  1. Syncing
   $ msynctool --sync BB

This all works but it's no good as the user logs into their thin client
not the server.

Running the same steps on the client I get the error:
: Synchronizing group "BBtofile"
: Unable to connect
: Error while synchronizing: Unable to open fifo

At first I thought this would be a USB issue, as I was plugging the
device into the client and using a server side program. So I installed
the following into my thin client image, rebuilt it and rebooted the client:

$ sudo apt-get install libopensync0 multisync-tools libbarry0 
opensync-plugin-evolution opensync-plugin-barry barry-util multisync0.90

On the client after reboot I tried the following command

$ ltsp-localapps xterm

within xterm

$ msynctool --sync BB

I get the same error!

So I tried btool

$ btool -M

btool displays ContactLdif Mapping information from the blackberry, so it's seeing the device.

If I unplug the device and type btool -M it tells me 'No device found'

Here are the two debug logs I get when trying to sync on the client:

Thread3078059712-6396.log

...
[1327296051.50333] >>>>>>>  osync_member_load(0x9ea8480, 
/home/dean/.opensync-0.22/group2/2, 0xbfb7c50c)
[1327296051.52517] <<<<<<<  osync_member_load: Loaded member: 0x9e9d298
[1327296051.53929] <<<<<<<  osync_group_load
[1327296051.55233]        +++++++++ This is the client #1 (barry-sync 
plugin) of group test
[1327296051.56548] >>>>>>>  
osync_queue_new(/home/dean/.opensync-0.22/group2/1/pluginpipe, 0xbfb7c50c)
[1327296051.57914] <<<<<<<  osync_queue_new: 0x9e9cda0
[1327296051.60535] <--- ERROR --- main: Unable to connect

Thread3079096000-6395.log

...
osync_queue_new(/home/dean/.opensync-0.22/group2/2/enginepipe, 0xbf8bdd08)
[1327296050.887129] <<<<<<<  osync_queue_new: 0x84250c8
[1327296050.888562] <<<<<<<  osync_client_new: 0x8424dc8
[1327296050.890041] >>>>>>>  osengine_mappingtable_new(0x8424500)
[1327296050.891511]            osengine_mappingview_new(0x8425508)
[1327296050.892941]            osengine_mappingview_new(0x8424a78)
[1327296050.894376] <<<<<<<  osengine_mappingtable_new: 0x8425678
[1327296050.895807] <<<<<<<  osengine_new: 0x8424500
[1327296050.897254] >>>>>>>  osengine_init(0x8424500, 0xbf8bdd08)
[1327296050.898717] >>>>>>>  osync_group_lock(0x8420268)
[1327296050.900192]            [GRP] FULL DEBUG: locking file 
/home/dean/.opensync-0.22/group2/lock
[1327296050.904136]            [GRP] FULL DEBUG: Successfully locked
[1327296050.905556] <<<<<<<  osync_group_lock: OSYNC_LOCK_OK
[1327296050.906992]        Spawning clients
[1327296050.909177] >>>>>>>  osync_client_spawn(0x84255e0, 0x8424500, 
0xbf8bdd08)
[1327296050.918226]            Waiting for other side to create fifo
[1327296051.921123]            Waiting for other side to create fifo
[1327296052.924263]            Waiting for other side to create fifo
[1327296053.927407]            Waiting for other side to create fifo
[1327296054.930439]            Waiting for other side to create fifo
[1327296055.933628]            Waiting for other side to create fifo
[1327296056.936901]            Queue was created
*[1327296056.944148] <--- ERROR --- osync_client_spawn: Unable to open fifo
*[1327296056.945649]        [GRP] FULL DEBUG: unlocking group test
[1327296056.947855] <--- ERROR --- osengine_init: Unable to open fifo
[1327296056.949077] >>>>>>>  osengine_free(0x8424500)
[1327296056.950923] >>>>>>>  osync_client_free(0x84255e0)
[1327296056.952270] >>>>>>>  osync_queue_free(0x8424a28)
[1327296056.953582] <<<<<<<  osync_queue_free
[1327296056.954644] >>>>>>>  osync_queue_free(0x8424bc8)
[1327296056.956703] <<<<<<<  osync_queue_free
[1327296056.958002] <<<<<<<  osync_client_free
[1327296056.959311] >>>>>>>  osync_client_free(0x8424dc8)
[1327296056.960621] >>>>>>>  osync_queue_free(0x8424f28)
[1327296056.961947] <<<<<<<  osync_queue_free
[1327296056.963243] >>>>>>>  osync_queue_free(0x84250c8)
[1327296056.964282] <<<<<<<  osync_queue_free
[1327296056.965580] <<<<<<<  osync_client_free
[1327296056.966891] >>>>>>>  osengine_mappingtable_free(0x8425678)
[1327296056.968179]            Free mappings
[1327296056.969471]            Free unmapped
[1327296056.970866]            osengine_mappingview_free(0x8425508)
[1327296056.972018]            osengine_mappingview_free(0x8424a78)
[1327296056.973320] <<<<<<<  osengine_mappingtable_free
[1327296056.974651] <<<<<<<  osengine_free
[1327296056.975972] >>>>>>>  osync_env_finalize(0x841d008, 0xbf8be19c)
[1327296056.977317]        osync_plugin_free(0x84299e0)
[1327296056.978690]        osync_plugin_free(0x8435ce8)
[1327296056.980100]        osync_plugin_free(0x8436540)
[1327296056.981443]        osync_module_unload(0x841d008, 0x84298c0)
[1327296056.982661]        osync_module_unload(0x841d008, 0x8429840)
[1327296056.983849]        osync_module_unload(0x841d008, 0x8436120)
[1327296056.984954]        osync_module_unload(0x841d008, 0x8436a20)
[1327296056.986264]        osync_module_unload(0x841d008, 0x8436c98)
[1327296056.987456]        osync_module_unload(0x841d008, 0x8437160)
[1327296056.988763]        osync_module_unload(0x841d008, 0x8437708)
[1327296056.990114]        osync_module_unload(0x841d008, 0x8437f20)
[1327296056.991470]        osync_module_unload(0x841d008, 0x8437f60)
[1327296056.992781]        osync_module_unload(0x841d008, 0x8438a90)
[1327296056.994129]        osync_module_unload(0x841d008, 0x84397c8)
[1327296056.995480]        osync_module_unload(0x841d008, 0x8439d60)
[1327296056.996832]        osync_module_unload(0x841d008, 0x843a398)
[1327296056.998142]        osync_module_unload(0x841d008, 0x843a3e0)
[1327296056.999456]        osync_module_unload(0x841d008, 0x843a8a8)
[1327296057.869] <<<<<<<  osync_env_finalize

So I'm close but I don't know why I cannot get the sync working.

Best Answer

I do not think it is possible to open a FIFO over a network. Your LTSP client can create FIFO pipe to the cellphone, but it can't create the FIFO in the server.

I can't really come up with a easy solution. If it is possible, maybe you can dump the data on the client (if it is hdd-free, set up a ram-disk, or use one that LTSP client has created). And after that, import/export to evolution. This might be hard, or easy, depending on what flags you can send to this sync software. You will however, need some scripting to make it easy for your users.

Further reading:

http://linux.about.com/library/cmd/blcmdl4_fifo.htm

https://beej.us/guide/bgipc/html/single/bgipc.html#fifos