After a very frustrating morning trying to get contacts from my old phone to a blackberry curve 9300 I finally managed it using the good old linux command line.
What didn’t work
Phone sync failed, bluetooth failed, sd card transfer failed, google contact sync failed, and the phone won’t import more than 1 vcard from a multiple vcard file. So it was either about 400 button presses to download each vcard from a server and install each one or find another way.
The key tool is barry, but especially bio, which is from the barry utils.
- split the multi vcard file into individual vcards. I used this python script: https://gist.github.com/szczys/1478337
- install bio: sudo apt-get install barry-util
- check you can load a single vcf (the erase option will erase all your old contacts!): bio -i mime -f contact.vcf -o device -P <your password> -w erase
- then use a shell loop to loop through all the vcards and load them one by one: \ls contacts* | while read a; do echo $a; bio -i mime -f $a -o device -P qwerty -w overwrite ; done