Using a BlackBerry Curve with Linux
I recently got a BlackBerry Curve for work, and being a Linux user I was immediately interested in getting them to work together. The bad news is that RIM doesn't make a driver for Linux. The good news is that you can still get them to work together anyway. Here's how.
My primary focus is being able to transfer music and photos to and from the BlackBerry. My email, calendar, and contacts are all synced through an Enterprise Server. If you need syncing ability then give MultiSync over Bluetooth a try. I can't vouch for it though.
Making the Connection
For this example I used a direct USB connection between the BlackBerry and my PC. I didn't have much success with Bluetooth, although my only Linux Bluetooth connection is through a virtual machine on a Windows laptop. It's unclear whether any of my problems were due to that or just software issues. There are some other avenues I still have to try with Bluetooth, but I'll be focusing on USB for the rest of this post.
Plugging in the BlackBerry to my Kubuntu 7.04 install revealed no apparent success. The only indication that a connection was made came from the BlackBerry, which reported: "USB charging current is not sufficient. Verify that your handheld is connected to a powered USB charging source and that the proper USB driver is installed." As I mentioned previously, RIM does not make a driver for Linux so this message isn't a surprise. A project called Barry is developing an open source driver to solve this and other problems, but I haven't tried it yet. It's also interesting to note that the same error occurs when plugging the Blackberry into a Windows XP install that doesn't have the driver installed.
Not ready to give up so easily, I decided to dig further. Opening KInfoCenter and clicking USB Devices revealed some interesting data. A new device identified as RIM Mass Storage Device had been listed. Good news, but that still didn't tell me how to mount it. Next stop, KDE Guidance's Disk and Filesystems utility.
As a side note, the BlackBerry Curve appears to only support USB 1.1 speeds. I'm not sure if that's all it is capable of, or if a driver is needed for USB 2.0.
Disks and Filesystems can be found under the Advanced tab in System Settings. This utility lists all of your attached drives and associated partitions. Opening it reveals a useful entry called Removable USB Disk BlackBerry SD. No partitions are shown by default, and since the SD designator is at the end of the name, I can only conclude that the microSD slot can be accessed in this fashion, but the internal memory cannot.
After buying and installing a microSD card, it's time to continue.
Setting Up the microSD Card
After installing the card nothing appeared to have changed. This perplexed me at first, but it turns out the problem was in configuring the BlackBerry. To enable Mass Storage Mode navigate to Settings -> Options -> Media Card and make sure the following settings are correct.
- Media Card Support: On
- Mass Storage Mode Support: On
There is an Auto Enable option for Mass Storage mode as well. I set this to Yes because it's the only way I will be using my BlackBerry when connected to a computer.
If you have a password set up for your device, it must be entered whenever you connect in Mass Storage Mode in order to prevent someone stealing your files.
Once the BlackBerry is setup properly, connect it by USB and most current distributions will auto-detect it. Kubuntu popped up a dialog letting me know that a new drive was available and presented me with a few options.
Using Dolphin to Transfer Files
Using Dolphin, or any other file manager, is the most straightforward way to manage your media. In Dolphin I selected Storage Media from the Bookmarks and a 2.0G Removable Media entry was listed with a USB key icon.
If you get a Permission Denied message after selecting the icon, open System Settings again and go back to Disk and Filesystems on the Advanced tab. On one of my systems the correct partition was shown, but it needed to be explicitly enabled.
Clicking the USB icon takes you to the storage card where you will find a BlackBerry folder. Inside that are five more folders: music, pictures, ringtones, system, and videos. Simply copy files from your computer to the appropriate folder on the card and you will have access to it from your BlackBerry.
When running Linux in VMware Player on a Windows host I noticed something interesting, if the BlackBerry software is installed on the Windows system, a Kubuntu virtual machine (VM) can still benefit. Charging works, and the BlackBerry is now recognized as a RIM Composite Device instead of a RIM Mass Storage Device. But if the VM grabs the port first, the extra devices may not be recognized. If that happens simply disconnect the USB port from the VM, let Windows enumerate it, and then reconnect it to the VM. That will get the Composite Device back.
Now that we have some additional devices, the next question is what can we do with it? Checking Disks and Filesystems reveals nothing new, only the BlackBerry SD disk that we already had. No surprise there though. That's all Windows Explorer recognizes too.
In Windows the only way to access the BlackBerry's onboard memory is through the Media Manager software. Unfortunately, this seems to be necessary as neither Amarok nor Digikam could detect anything other than the mounted microSD drive.
Gaining the ability to charge over USB turns out to be the only real benefit right now, although I suspect that access is possible if software existed that knew to look for it.
If you have a BlackBerry Curve or are considering one, using it from Linux can be done if you can live with only accessing a microSD card. And for most corporate users already connected to an Enterprise server, that's all you should need.