I don't like cell phones. I won't go into why, but someone up there had a quirky sense of humor when I went from having no cell phone to a company-sponsored Blackberry 8310 (ah, the joys of IT support and administration).
Being rather disheartened at constant crashes of XP on my company's Dell M90, I decided to upgrade to Ubuntu (shhh, don't tell them). One of the things which my Internet addicted brain missed (and was a requirement in case a server blew up outside office hours) was the EDGE network Internet access provided by TSTT (re-branded into a greener looking bmobile).
While I had one of those wireless USB dongle modems (which I got to work with Ubuntu as well - I'll post about it sometime), now I don't. I recalled I should be able to use the blackberry as a modem to get Internet access (yay 'unlimited' data plan). Being stranded by myself waiting without any 'net was the impetus of my investigations. Enough rambling, time for the good stuff.
There are lots of tutorials out there, some focus on using the bluetooth as a connector and then the blackberry as a modem after that. I prefer the tethered approach, connect by USB cable thankyouverymuch. After lots of investigation, the easiest thing was to use
barry.
Step 1 - Remove old barry (not necessary if it's never been installed)Ubuntu has barry in its repos, but that's barry-0.12. I went for (at time of writing) latest release; barry-0.14. The two can't co-exist, so if you have barry installed from the repos, you need to remove it. You can do this using the synaptic package manager, searching for barry and removing:
- libbarry
- barry-util
- barrybackup-gui
Step 2 - Install new barry (this you need to do)The barry sourceforge site helpfully has debs for Ubuntu 8.04 (which is what I'm running) so we don't need to install from source (yay). Download all the barry files which have ubuntu 8.04 in their title (you don't need the dev deb) and it should be as easy as double clicking on the debs to install. You need to install in order:
- libbarry0_0.14-0_ubuntu804_i386.deb
- barry-util_0.14-0_ubuntu804_i386.deb
and optionally (recommended because it's an easy way to see if your blackberry's detected) barrybackup-gui_0.14-0_ubuntu804_i386.deb
Time for an obligatory pic. Once installed you should see something like the following picture if you search for barry in synaptic.

Notice it's all nice and 0.14 installed.
Step 3 - Install pppThis thing is going to work like a modem with a dial up connection and everything, so you need to
sudo apt-get install ppp
That should install the ppp daemon and the pon and poff scripts.
Step 4 - Get barry to work for youThis step is Trinidad and Tobago specific. Actually it's bmobile specific because I don't have a Digicel blackberry to play with. :(.
Once barry is installed it creates chat scripts for well known carriers. You can find these in the /etc/chatscripts folder. The one most closely resembling what's needed for bmobile is the tmobileus script (ain't that co-incidental). Enter the following in a terminal.
sudo cp /etc/chatscripts/barry-tmobileus.chat /etc/chatscripts/barry-bmobile.chat
Once that's done, we edit the barry-bmobile.chat script. Enter the following in a terminal.
gksudo gedit /etc/chatscripts/barry-bmobile.chat
You're going to change the line
OK AT+CGDCONT=1,"IP","wap.voicestream.com"
to
OK AT+CGDCONT=1,"IP","internet"
And save the file. Everything else should be ok. My full chat file is quoted below:
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED ABORT ERROR
SAY "Initializing\n"
'' ATZ
OK AT+CGDCONT=1,"IP","internet"
OK-AT-OK ATDT*99#
CONNECT \d\c
The next step is to setup a peer file, so the pppd knows who to call and how to authenticate. These peer files are in the /etc/ppp/peers directory.
We create a file based off tmobileus again and call it bmobile. Enter the following in a terminal.
sudo cp /etc/ppp/peers/barry-tmobileus /etc/ppp/peers/barry-bmobile
Next we edit the barry-bmobile peer setting to use the bmobile chat script.
gksudo gedit /etc/ppp/peers/barry-bmobile
Change the line
connect "/usr/sbin/chat -f /etc/chatscripts/barry-tmobileus.chat"
to
connect "/usr/sbin/chat -f /etc/chatscripts/barry-bmobile.chat"
And save the file.
Once everything is all nice and detected you can enter the following in a terminal.
pon barry-bmobile
You should see fun looking output something like below
Initializing
Serial connection established.
using channel 3
Using interface ppp0
Connect: ppp0 <--> /dev/pts/3
sent [LCP ConfReq id=0x1 ]
rcvd [LCP ConfReq id=0x6 ]
sent [LCP ConfAck id=0x6 ]
rcvd [LCP ConfAck id=0x1 ]
sent [PAP AuthReq id=0x1 user="XXXXXXXX" password=]
rcvd [PAP AuthAck id=0x1]
PAP authentication succeeded
sent [IPCP ConfReq id=0x1 ]
rcvd [IPCP ConfReq id=0x7 ]
sent [IPCP ConfAck id=0x7 ]
rcvd [IPCP ConfRej id=0x1 ]
sent [IPCP ConfReq id=0x2 ]
rcvd [IPCP ConfNak id=0x2 ]
sent [IPCP ConfReq id=0x3 ]
rcvd [IPCP ConfAck id=0x3 ]
Cannot determine ethernet address for proxy ARP
local IP address 10.20.14.54
remote IP address 169.254.1.1
primary DNS address 196.3.132.1
Script /etc/ppp/ip-up started (pid 17392)
When you're done and want to hang up enter in another terminal:
poff barry-bmobile
Step 5 - SurfLastly, try it out! You should be surfing (maybe a bit slow, but surfing nonetheless).
Step 6 - Troubleshooting- If it doesn't work (arg!), see if the backup application detects your blackberry. You can run it by typing barrybackup at a terminal. If your blackberry is not detected, check your usb cable and / or settings.
- Check on your blackberry that data services is on (You can check this in Options > Mobile Network)
- Sometimes you might need to unplug the USB cable and plug it back in for the pon script to detect the blackberry
That's it. If anyone out there knows a better way to do all this, feel free to let me know. :). I hope this is of some use to someone.