Barry
Overview
Linux users who also use a BlackBerry ™ now have an option for managing their BlackBerry directly from Linux.
Barry is an Open Source application that provides a Desktop GUI, synchronization, backup, restore and program management for BlackBerry ™ devices.
Barry is primarily developed on Linux, but is intended as a cross platform library and application set, targeting Linux, BSD, 32/64bit, and big/little endian systems.
The Barry project began in October 2005 and has steadily added features and polish to Blackberry usage on Linux ever since. We were the first to reverse engineer the battery charging handshake via USB.
Today, it is possible to (on BlackBerry devices older than the Z10):
- charge your Blackberry's battery from your USB port
- parse the following database records: Address Book, Browser Bookmarks, Calendar, Content Store, Folders, Handheld Agent (partial), Memos, Messages (Email), Phone Call Logs, PIN Messages, Saved Email, Service Book, SMS messages, Tasks, Time Zones
- create the following database records: Address Book, Calendar, Content Store, Memos, Tasks
- export Address Book contacts in text, LDAP LDIF format, or as MIME vCards
- import data in MIME vCard, vEvent, vJournal, and vTodo formats
- make full data backups and restores of your device using a GUI
- synchronize contact, calendar, memo, and task items with Evolution using the Desktop GUI
- use the Blackberry as a modem
- install and manage Java applications from the command line
- take screenshots of your device
- set the device time from the command line
- use raw channel support to communicate with BlackBerry applications
- ... and more
- Latest release: 0.18.4, released on 2013/04/05
- License: GPL v2 or later
- Download official source and binary packages from Sourceforge
- General Sourceforge project page
- Barry git repo
- Note that Barry is also available in various distros. Some of these distros are listed below:
- Known Issues:
- International characters in calendar and contact records cause some devices to switch to a different low-level protocol, which Barry does not yet support.
Getting Started
How do I...
- Install Barry on Debian or Ubuntu
- Install Barry on Fedora
- Install Barry from binary packages
- Compile Barry from tarball or git
- Use the Barry Desktop GUI (new!)
- Make backups of my Blackberry data
- Sync my Blackberry with Evolution
- Use my Blackberry as a modem to surf the net
- Use Blackberry USB channels with Barry
- Find troubleshooting help
- Report a bug
- Submit a patch
- Contact the developers
Some helpful pages:
How to Help
If you are a C++ programmer, grab the source from git and take a look at the TODO file. Post a message to the mailing list when you start working on any of the listed features, so you can connect with other developers, and avoid duplicating effort.
If you are a Python programmer, contact the mailing list, since we would like to create and test a Python interface to the Barry library.
If you are not a programmer, but have a Blackberry, we can always use help in testing. Install Barry on your system, and report any bugs you find.
If you prefer writing documentation, grab the source from git and look under the doc/www directory. Documentation is currently in html form, as well as doxygen-generated API documentation found in the comments of the source code itself. Patches updating either set of documentation are welcome.
There are dozens of databases that need to be documented and supported in the library. If you have a BlackBerry ™ device and are interested in helping decipher data, we have a Barry hacking document that will help you.
If you are interested in the low level USB protocol, you can download, or contribute, USB logs to the USB capture log archive .
Design
If you are interested in helping out or just interested in how it works, check out our design notes .
Roadmap
We have put together a document that describes where we are and where we want to take Barry. Check out our roadmap to see what's happening.
External Links
Barry users and others have contributed documentation and have put these howto's on the web. Below is a list of some of these pages. These sites are not associated with NetDirect, and some of the information may be out of date, but they may still be helpful to new users.
- How to use a Blackberry device with Linux, by Nicolas Vivien (2009/03/06), and his development blog
- Blackberry development using Linux, by Josh Kropf (2008/04/03)
- The BlackBerry In a World Without Windows, by Carl Fink (2008/12/01)
- Synchronizing a Blackberry In Linux, by Chip Bennett (2008/05/31)
- Syncing your Blackberry on Linux, by Joe Barr (2007/12/21)
- The RIM Blackberry Serial Protocol, by Phil Schwan, Mike Shaver, and Ian Goldberg, of the Cassis project
- HOWTO: Blackberry as Modem for Laptop, by Mark Rejhon, (not Linux specific)




