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.

Interesting Observations

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.

In part 2 of this investigation I'll talk about how to use Amarok to manage music on the BlackBerry Curve.

im having problems with my

im having problems with my USB.
i want to pass a picture of my blackberry to the computer.
how do i do that?

If the USB method above

If the USB method above isn't working you can two bluetooth if your computer supports it. However, if it is only a single picture (or small number) you can just email the pictures from your BlackBerry to an account that you can access on your computer. It's rather inelegant, but works in a pinch.


New BlackBerry Sync Tool Being Developed

I posted a new blog post about a new alternative called Pocketmac Linux Edition that is being developed.


BlackBerry Curve my favourite Smartphone

I like BlackBerry Curve 8300 Smartphone which is the smallest and lightest Smartphone with a full QWERTY keyboard. It’s packed with incredible features, including a camera, BlackBerry Maps, a media player, expandable memory, Voice-Activated Dialing, tethered modem and trackball navigation. Plus you get all the core functionality you’ve come to expect in a BlackBerry smart phone — email and text messaging, instant messaging, web browser and advanced phone functionality. It’s your connection to everything that matters.

BlackBerry Accessories

Auto Enable is what fixed

Auto Enable is what fixed the problem for me.

Curve 8330 w/ Fedora 12 WORKS!

The three settings,
- Media Card Support: On
- Mass Storage Mode Support: On
- Auto Enable Mass Storage Mode When Connected: Yes

Worked for me with Fedora 12. I then used Nautiles to mount and use the files on the media card. I did have Nautilus report that it found a 2.0 USB media card. Below are the entries from my system log for anyone interested...

Feb 18 20:15:42 pjs-linux1 kernel: usb 1-2: new high speed USB device using ehci_hcd and address 6
Feb 18 20:15:42 pjs-linux1 kernel: usb 1-2: New USB device found, idVendor=0fca, idProduct=8004
Feb 18 20:15:42 pjs-linux1 kernel: usb 1-2: New USB device strings: Mfr=1, Product=5, SerialNumber=3
Feb 18 20:15:42 pjs-linux1 kernel: usb 1-2: Product: RIM Composite Device
Feb 18 20:15:42 pjs-linux1 kernel: usb 1-2: Manufacturer: Research In Motion
Feb 18 20:15:42 pjs-linux1 kernel: usb 1-2: SerialNumber: xxxxxxxxxxxxxxxxxxxxxxxxxxxx (masked out)
Feb 18 20:15:42 pjs-linux1 kernel: usb 1-2: configuration #1 chosen from 1 choice
Feb 18 20:15:42 pjs-linux1 kernel: scsi6 : SCSI emulation for USB Mass Storage devices
Feb 18 20:15:47 pjs-linux1 kernel: scsi 6:0:0:0: Direct-Access RIM BlackBerry SD 0002 PQ: 0 ANSI: 0 CCS
Feb 18 20:15:47 pjs-linux1 kernel: sd 6:0:0:0: Attached scsi generic sg9 type 0
Feb 18 20:15:47 pjs-linux1 kernel: sd 6:0:0:0: [sdh] 3842048 512-byte logical blocks: (1.96 GB/1.83 GiB)
Feb 18 20:15:47 pjs-linux1 kernel: sd 6:0:0:0: [sdh] Write Protect is off
Feb 18 20:15:47 pjs-linux1 kernel: sd 6:0:0:0: [sdh] Assuming drive cache: write through
Feb 18 20:15:47 pjs-linux1 kernel: sd 6:0:0:0: [sdh] Assuming drive cache: write through
Feb 18 20:15:47 pjs-linux1 kernel: sdh: sdh1
Feb 18 20:15:47 pjs-linux1 kernel: sd 6:0:0:0: [sdh] Assuming drive cache: write through
Feb 18 20:15:47 pjs-linux1 kernel: sd 6:0:0:0: [sdh] Attached SCSI removable disk

Thanks for posting this info.

To bad BB just won't make a

To bad BB just won't make a version of the balckberry software for linux.