How to Sync your Blackberry in Linux
UPDATES (Jan 2, 2007):
I am now editing the original post to reflect changes in software and also add tips on how to sync with Google Calendar. (ScheduleWorld now has built-in Google Calendar support, so this makes it easy to synchronize your address book and calendar between your Blackberry, Evolution, and Google Calendar).
Also, I haven't been able to check it out yet, but check out BCharge to charge your Blackberry with Linux!
Ok, I'll admit, I used the title of the post to grab your attention. But don't worry! I'm not lying about anything here!
Just a few quick disclaimers before we get started:
0. I'm relatively new to linux, so bear with me here if I sound like a newbie. However, I had the balls to jump right into it and try lots of different things, so I hope you can appreciate that. Trust me, I spent many many hours of trial and error to figure this solution out. I think I'm going a little crazy, actually. The fact that I started this list with the number 0 should tell you something...
1. I didn't test this setup with anything else besides the stuff I had access to. In other words, I only know that this setup works on the Blackberry 7100t phone (although I imagine it would work for any 4.0.2 OS-enabled BB device) and it works with Evolution 2.4.1 (default with Ubuntu 5.10 Breezy Badger).
2. Don't expect a 100% sync. Everyone and their mother knows that Blackberry support on Linux is barely existant. Sure, there are a small handful of projects in development (infinite development, in most cases...sigh, vaporware). But for the most part there's not much we can do.
What I managed to figure out:
UPDATE: I am currently syncing both my address book and my calendar with ScheduleWorld. This means that I am syncing them with my Evolution client, but thanks to ScheduleWorld's new built-in Google Calendar sync, I am also syncing with Google Calendar! How sweet is that?
How to Sync your Blackberry in Linux
Things you'll need:
* Your Blackberry device running at least the 4.1 OS
* A Windows install (on your box or your grandmother's, doesn't matter) with Blackberry Desktop Software installed and the USB cable. For all you linux uber-zealots, sorry guys, I know I'm making you use Windows here...I dunno, hold your breath or something
* Evolution 2.4.1 Note: I'm not sure whether or not any older/newer versions will work, I would imagine they would...it mostly depends on the next piece of software, which is:
* SyncEvolution 0.5 (formerly known as Sync4jEvolution): Probably the only opensource solution for integrating Evolution with SyncML. I'm sorry, but I gotta say...that's kinda sad. I guess it works though. See the tutorial below.
* An account with ScheduleWorld: These guys are pretty cool. Their service is free and it actually works. They even have a nice web-based interface for you to mess with. Anyways, if you want to set up your own Sync4j server, be my guest...I tried it but decided to go with the ScheduleWorld route instead (was having silly networking issues that I didn't feel like resolving).
* Funambol Blackberry Client - UPDATE: The latest Funambol Blackberry client supports a lot more than the previous clients did! I highly suggest you upgrade your Blackberry device to at least OS 4.1 (required, visit website of your phone provider) and use this client.
* Patience. Seriously. Not only does this whole process take a while, but the syncing itself is pretty slow.
What to do:
Step 1 - Backup:
Boot into Windows (or shove grandma aside) and backup all your Blackberry data. I'm not going to go over how to do that here because I'm assuming most of you Blackberry users know how to do this (and if not, google it or check out the bb website, it's not hard).
Once you do that, get back into Ubuntu (or whatever distro you use...I guess this solution should work in all Linux distros? Anyone wanna check for me?) and go into your Home folder. Unhide all them fancy .folders (ctrl+H in ubuntu) and look for the .evolution folder. Make a copy of it elsewhere (or go into it and backup whatever contents you want...I'm paranoid so I just back everything up).
Step 2 - Set up an account with ScheduleWorld:
What you're going to need here is to change your password (by default they email you a numerical password when you sign up, I guess you could keep it the same if you wanted to) and also take note of the "account" number, which is listed on the preference page as "12345@Scheduleworld.com" (where 12345 is going to be your number). Write this down somewhere because you are going to need it.
Step 3 - Setup SyncEvolution:
UPDATE: A lot of people were having trouble installing SyncEvolution. The good news is, SyncEvolution now has pre-compiled binaries on their website, and better instructions on how to install it.
Also, ScheduleWorld configuration files are included by default (you'll have to copy them over from the "etc" directory in the source package...follow these instructions)
1. Open the extracted folder for syncevolution and find the "etc" directory. Inside you'll find another directory called scheduleworld_1. Copy this to your /home/.sync4j/evolution directory (so that it becomes /home/.sync4j/evolution/scheduleworld_1)
2. Open this file. You should see a folder called spds. Open that too.
3. Now we have two folders, sources and syncml. Open the syncml folder first. Notice the config.txt file? Open it.
4. Edit this file as follows: Replace line 5 with
syncURL = http://sync.scheduleworld.com/funambol/ds
username = (your scheduleworld #)
password = (your password)
If you want, you can also change the "maxlogdirs" variable to some number, the details on that is explained in the file itself.
5. Now save this file, and back up to the spds directory. This time open the sources folder and open the config files in the address and calendar folders. You can update the one in the todo folder if you want, but keep in mind that your Blackberry device won't support the todo list as of now. For all of the files, the only change that you really need to make here is:
# picks one of Evolution's data sources:
# enter either the name or the full URL
evolutionsource = Personal
Note: "Personal" is the default name for all the databases in Evolution...at least, it was in mine. If yours is different, replace it with whatever you call your contacts list/calendar. Save the files once you're done editing them.
6. Now it's time to attempt the first syncs. Open up a terminal and type in the following command to sync your addressbook:
syncevolution scheduleworld_1 addressbook
And of course, replace "addressbook" with "calendar" to sync the calendar. Be patient, as this could take some time to sync depending on how much information you have, and sometimes it looks like it's just frozen. Give it time.
7. Optional: Make a cronjob to have this done automatically at a certain time interval. Google "crontab" and you'll figure that out.
Step 4 - Setup your Blackberry:
Although there are a few bugs with the new Funambol client (noted in the readmes in the client zip files), the latest beta version works way better than the last one. However, initial sync will be very slow, so I recommend you do this overnight.
Plug your BB into your windows boot and install the Sync4j client using the Application loader (again, I won't explain this in detail because if you have a BB you probably know how to do this, and if not, hit up the BB website).
Once the client is installed, open it up and click your wheel in, and go to Configuration.
Fill out the information as follows:
(See ScheduleWorld Funambol Client information in the Preferences Panel of Scheduleworld for info)
Save this configuration and exit the client. Then go back into the client and click your wheel in and synchronize! And maybe go grab a coffee while it happens...:whistle:
UPDATE: One additional thing...if you ever get an error during sync that says something like "max connections open", just give your device a hard reboot (aka take the battery out and stick it back in). I'm not 100% sure why this error comes up but it has something to do with the way your network provider handles data.
Last edited by NinjitsuStylee; January 3rd, 2007 at 12:23 AM.. Reason: Updated to include latest versions of software, and tips on how to sync with Google Calendar