The BlackBerry in a World without Windows
What's black, red, gold or silver all over? It's a music and video player, e-mail client, personal organizer, Web browser and high-speed modem. Oh, and it's a telephone.
Yes, you guessed it, it's the RIM BlackBerry Curve. Like a lot of LJ readers, I'm addicted to gadgets. At one point, I carried a cellular phone, an MP3 player and a PDA everywhere. That's a lot of devices to stick in your pocket though, and a year or so ago, I decided it was time to consolidate. After a lot of research, I settled on the BlackBerry Curve. It has almost everything I need in a very small, attractive package. The few things not included with the phone, like an SSH client, are available from third parties. As a longtime Linux user, I would have liked a Linux-based alternative (I once owned a Sharp Zaurus), but I couldn't locate any current Linux phones that had all the features I wanted and was easily available in the US.
Despite my willingness to use a non-Linux phone, I am not willing to give up my Linux-based computers. Research In Motion supports only Windows, so using the phone with my computers required some research and tinkering.
This article covers the following:
Charging your phone over USB.
Backing up the phone's applications and data to a Linux computer and restoring if necessary.
Transcoding video and audio files to use on the Curve.
Syncing a BlackBerry with Evolution.
The test system for this article is my HP Pavilion DV6458 laptop running Debian GNU/Linux's Lenny distribution. By the time this article is published, Lenny either will be the stable release of Debian, or it will be just short of that status. My phone is the BlackBerry Curve 8320, running on the T-Mobile network.
For it to be useful as anything but a pure telephone, you must install a microSD Flash memory card in your Curve. I use a 6GB card, which can hold 20 albums of music plus 20 podcasts at a time and still leave a couple gigs for photos and video. Installing your microSD card will expose you to one of RIM's puzzling decisions: the SD card is under the battery. Yes, that's right. You have to power-cycle the phone to change cards. As booting after a power cycle is notoriously slow for BlackBerries, this is a major annoyance. Because of this, I strongly recommend getting the highest-capacity card or cards you can afford to minimize the need to swap.
Another thing that puzzles and irritates Research In Motion's customers: RIM includes Bluetooth in its phones, but it's crippled. If you'd like to transfer data to and from your BlackBerry Curve, you must use a USB cable. The upside is, it's incredibly simple. Just plug a standard USB cable in to the phone and computer, and your system should detect the phone automatically. If you are using a disk manager, such as gnome-volume-manager, the microSD card in the BlackBerry should appear automatically as a removable disk drive. Transferring anything to or from the card is as simple as a cp command or dragging and dropping in any file manager.
First, you obviously can back up and restore the contents of the microSD card like any other mounted drive. However, the phone's own databases are not part of the filesystem, so special software is required. Luckily for me, there's a package already designed for this purpose, Barry, a project hosted and supported by NetDirect, a Canadian computer consultancy specializing in open-source solutions (www.netdirect.ca/software/packages/barry). Barry currently is alpha software, but it's quite usable. Unfortunately, it is not officially packaged for Debian. There are unofficial packages at that site for Debian Stable (Etch), but they are for the i386 architecture only, and they were problematic to install on my AMD64 system, so I was forced to compile my own. (In testing on my tower system, which runs the i386 distribution of Debian Lenny, the pre-created packages worked perfectly.) There is a special set of downloads and instructions on how to create Debian packages available at the Barry site, but unfortunately, they did not work on my system. (This may have been fixed by the time you read this.) However, the traditional make ; sudo make install combination worked perfectly. You can use stow to manage unpackaged applications.
Doing make install puts the libbarry* libraries into /usr/local/bin, but the actual executables expect them to be in /lib/tls. Rather than try to reconfigure the program, I simply copied the libraries to that location.
RPMs and instructions for creating RPMs are supplied for distributions that use that packaging system.
After installing Barry, you immediately can back up the BlackBerry databases, including contacts, appointments, settings, memos and so on. First, run the bcharge program. bcharge does two things:
You may have noticed that when you plug your BlackBerry in to a PC running Linux, you are warned that the “charging current is not sufficient”. bcharge increases charging current to 500mA and eliminates this message, plus it allows your phone to charge much faster.
It takes control of the device away from the usb_storage kernel module, so that access to the database and other functions is available. Despite this, the microSD card still can be mounted and files copied back and forth.
Note: bcharge is not compatible with the kernel module berry_charge. If lsmod reveals that berry_charge is present, use sudo modprobe -r berry_charge to remove it before running bcharge. If you plan to use bcharge routinely, blacklist berry_charge (sudo echo "blacklist berry_charge" >> /etc/modprobe.d/blacklist).
Apparently, bcharge works differently on different computers, depending on the exact device configuration and system. Try running sudo bcharge -o first. If this fails, try sudo bcharge (no flag). If even that fails, try sudo bcharge ; sudo bcharge -o. You can check whether the device has been detected using sudo btool -l. On my computer, when the device is detected I see this output:
Blackberry devices found: Device ID: 0xFFFFFF. PIN: FFFFFFF, Description: RIM 8300 Series Colour GPRS Handheld
- Is the Private Cloud a Real Cloud?
- Give new life to old phones and tablets with these tips!
- Readers' Choice Awards 2014 Poll
- Tech Tip: Really Simple HTTP Server with Python
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- Memory Ordering in Modern Microprocessors, Part I
- Returning Values from Bash Functions