Blackberry tethering (and more) on Linux

Tethering is using a cellphone with a data connection as a modem for a computer, connected by a USB cable, so you can access the Internet from the computer. On Linux, the Barry suite, created by Net Direct, lets you do this with most models of the popular Blackberry line of smartphones, along with several other things.

Installing Barry

Packages for Barry are available for Mandriva Linux, in all releases since 2008 Spring, in the /contrib repository. For 2008 Spring, you must have the /contrib/backports repository enabled; for 2009 and later, enabling it will ensure you get the latest version of Barry. Packages will be (or are, depending on when you're reading this!) available for Ubuntu starting with 9.04 (Jaunty). Packages for Fedora 10 are available via Koji, here, and packages will be (or, again, are) available in the main Fedora repository from Fedora 11 onwards. Unofficial packages for OpenSUSE are provided by Net Direct through the OpenSUSE Build Service, and can be found here. That OBS repository also contains unofficial builds for several other distributions, including CentOS, Debian, Red Hat Enterprise Linux, and older versions of Mandriva, Ubuntu and Fedora.

Barry is split into separate packages differently in the various distributions. If there is a barry-ppp package, that is the one you should install. If not, then look for barry-util. If neither exists, just install the barry package.

Getting connected

Before you connect the Blackberry, you should disable its USB mass storage mode. If this is enabled, then the kernel usb-storage module will load when you connect the Blackberry, and this will interfere with its use as a modem. To do this, on the Blackberry, navigate to Options / Media Card, and set the Mass Storage Mode Support option to Off. Once you have done this, plug the Blackberry into your system. Now, you need to run a command like this:

[root@lenovo adamw]# pppd call barry-sprint

At the time of writing this article, there are five possible commands (some packages may provide fewer of these), depending on your provider:

barry-o2ireland
barry-rogers
barry-sprint
barry-tmobileus
barry-verizon

Obviously, you should use the one that corresponds to your wireless provider. Note that barry-sprint also works for Telus, in Canada. You should see quite a lot of output scroll by over the next few seconds, and then the connection should be available. And that's all there is to it! You're now connected to the Internet via your Blackberry.

Other things you can do with Barry

Using the barrybackup tool - found in the barry-gui package in Mandriva Linux and the Net Direct OBS packages, the barrybackup-gui package for Ubuntu, and the barry package for Fedora - you can backup and restore the contents of your Blackberry. You should test this before committing any vital data to it, however.

Using the OpenSync framework, the OpenSync plugin provided with Barry, another OpenSync plugin, and an OpenSync front end, you can synchronize data (contacts and calendar) between your Blackberry and another application, or a service like Google Calendar. This is a quite complex process, however, and beyond the scope of this article. Mandriva Linux 2009 users can find instructions here. On other distributions, the process is rather more complex.

It should also be noted that another special piece of software, also provided by Barry, is needed for your Blackberry's battery to be charged when plugged in to a Linux computer. This is because the standard default current for USB devices is 100mA, but Blackberries require 500mA of current to charge. Barry provides a utility named bcharge that handles this. When installed correctly, it will kick in automatically when the Blackberry is connected. It is in the barry-util package for Mandriva Linux, the Net Direct OBS packages, and Ubuntu, and in the barry package for Fedora.

Caveat

As of the time of writing this article (January 2009), Barry does not yet fully support the recently released new generation of Blackberry devices, including the Storm and Bold. Some functions work on these phones, others do not. Over time Barry will be improved to work fully with these devices, as it does with earlier Blackberries.

For distributions not covered in this text, check the official package repositories: they may have Barry packages available. If so, you should be able to follow these instructions using those packages. It is possible the necessary scripts for the pppd program may not be installed to the system locations. If the pppd command returns an error, check if the scripts have been installed as documentation. If so, move them to the appropriate locations. The files ppp-provider.chat go in /etc/chatscripts and the file ppp-provider go in /etc/ppp/peers . If your distribution does not have packages available (and the Net Direct OBS does not provide them either), you can attempt to compile Barry from source code, available at SourceForge. However, you should contact your distribution's developers and advise them that it would be a good idea to add Barry to the distribution.