Evolusync's main purpose is to synchronise your Evolution addressbook with your IR or BlueTooth(beta) mobile device.
Evolusync may help you retrieve or update your mobile device phone book from sources other than Evolution.
Evolusync's current version is 1.1 and runs on Evolution 1.4.
Evolusync is licensed under the GPL. The project page is on Sourceforge.net
Introduction
Evolusync is basically made of two parts:
- a set of functions to read and update Evolution's addressbook;
- a set of functions to read and update the phone book of mobile IR and BlueTooth devices.
This second set currently supports the OBEX over IR and BlueTooth and GSM AT over IRComm protocols.
Always try to use OBEX if you can (see devices), it should provide richer phone book data support. Check your device documentation or try irdadump with IR to discover what your device can do (see Irda below). The dump should show IrOBEX in the list of device capabilities.
Be safe: always try to backup your mobile phone data first:
evolusync -readDevice -type NOKIAOBEXIR -v
evolusync -readDevice -type NOKIAOBEXBT -v -bdaddr XX:XX:XX:XX:XX:XX -btchannel 4
NOKIAOBEXIR or NOKIAOBEXBT may not be appropriate for you, but if everything works fine, your mobile addresbook should be available in VCard format in /tmp/DevicePhoneBook.vcf.
Type evolusync --help for more options.
Installing
Download the latest version from Sourceforge.net. To compile Evolusync, you need the following libraries:
- evolution-devel 1.4
- openobex
- bluetooth if you want to use bluetooth
Other required libraries should already be available if you are running Evolution.
Compilation and installation is achieved by:
./configure make all install
You will get two binaries: evolusync and gsmat that will be installed in /usr/local/bin
Using
Make sure your bluetooth or infrared stack works on your computer first (see Irda below).
- For evolusync: run evolusync --help
- For gsmat: same thing. GSMAT allows you to send GSM AT commands to GSM mobile phones.
When you have the choice, always use OBEX rather than GSM AT as a protocol. OBEX allows you to send full vcard data (multiple phone numbers, email addresses, notes …).
Devices
- GSM Phones with Infrared should all be supported with -type GSMAT.
- NOKIA 40 series : all version 1 should be supported with -type NOKIAOBEXIR. Version 2 are being tested over BlueTooth with -type NOKIAOBEXBT.
- NOKIA 60 series: not yet. Working on it.
I am ALWAYS interested by test results.
Examples
evolusync -type NOKIAOBEXIR -v
This synchronises my OBEX compliant Nokia 7210 mobile phone with my Evolution addressbook over IR.
evolusync -type GSMAT -readDevice -encoding CP850 -vv
This saves my GSM Phone CP850 encoded phonebook to /tmp/DevicePhoneBook.vcf and displays debug information.
Helping
Yes, please! The best opportunities are:
- Send detailed bugs information (I mean detailed: use the -vvv switch).
- Write better documentation (not too hard).
- Test phonebook parsers (the -type argument with various phones) and develop new phonebook parsers for other IR devices—check irDeviceParsers.c for details.
- Develop a GUI, a link to another mail client addressbook …
Please use the sourceforge bug tracker as a primary mean of communication or contact me at bgrieder@users.sourceforge.net.
Many thanks to Darren Brierton for greatly improving this page.
Getting the Infrared to Work on your Computer
This is most likely the hardest part of all this.
A – You are the lucky type
If you are part of the lucky few, give this a try:
- Login as root or sudo.
- Type /etc/init.d/irda start.
- Place your IR device in front of the IR cell of your computer.
- Type irdadump.
You should see something like this (below my NOKIA 7210 being detected):
14:52:28.129612 xid:cmd c097a4a9 > ffffffff S=6 s=1 (14) 14:52:28.219607 xid:cmd c097a4a9 > ffffffff S=6 s=2 (14) 14:52:28.219599 xid:rsp c097a4a9 < 000004d3 S=6 s=1 Nokia 7210 hint=b125 [ PnP Modem Fax Telephony IrCOMM IrOBEX ] (27) 14:52:28.309582 xid:cmd c097a4a9 > ffffffff S=6 s=3 (14)
If not, well, keep on reading. If yes, you are good to go.
B – Enable the irda stack
First make sure you have all the components of the irda stack loaded and download the package irda-utils which is available prepackaged for basically all distros. irda-utils provides among many other things than the irdadump utility. Once installed try A again, who knows …?
For GSM AT, you need to enable the ircomm protocol. To do that, try modprobe ircomm and check with lsmod that it is there.
The best practise is to create a symbolic directory link, usually /dev/mobilephone, to the appropriate /dev/ircomm (usually /dev/ircomm0) which you should chmod (to 666 for instance) so that it can be accessed by users.
C – Make sure the hardware works
Without going into gory details, there are FIR and SIR type of Irda chips. All we need is to get SIR to work. The first thing is to understand to which serial tty the IR device is attached; it usually is /dev/ttyS1 but do not rely on this (it is /dev/ttyS2 on one of my laptops).
The easiest way I know to find this is:
- disable the IR port in the BIOS;
- boot Linux;
- check what ttyS you have;
- shutdown;
- enable the IR port in the BIOS;
- boot Linux;
- you should have one more ttyS in /dev.
Be wild, and try irattach /dev/ttySx then try irdadump as described in A. If this works, you will probably need to update the file /etc/sysconfig/irda with the appropriate ttyS. If it still does not work, you may have some hardware initialisation issue. If you have an SMC-IRCC Irda subsystem, the solution is at http://irda.sourceforge.net/smcinit/. Try one of the fixes provided and check /var/log/syslog while you do so. It will tell you what works and what does not. Then you will usually need to run setserial with the values you found in the logs to align the kernel to the hardware settings.
Bruno Grieder