Skip to content

how to teather blackberry and linux via bluetooth

linux laptop + bluetooth + blackberry = internet freedom

this entry outlines the steps I took to successfully get my sprint blackberry pearl (8130 II) to share its data connection with my ubuntu 8.04 laptop by using the phone as a bluetooth modem.

note/disclaimer:
you must have a data plan and it is highly recommended that it be unlimited. additionally, it is my understanding that this is gray area as far as sprint’s acceptable use (AUP) is concerned - chances are strong that this is against it.

a false start, or learning the hard way:
at first I figured bluetooth was most likely more trouble than it’s worth, so I went with this solution that uses a usb cable. after spending literally days figuring out how to hack the various source packages into compiling, the journey ended with this lovely and rather uninformative message:
XmBlackBerry.c:OptionPopupCallback(998) - GPRS modem device Not available

after all that, I was feeling distraught and demotivated - near giving up. then a miracle: I stumbled upon a simple, straight-foward and *functional* bluetooth modem solution .

the polished procedure:
- support in the linux kernel (or modules) for bluetooth, rfcomm protocol, ppp and ppp async connections

- enable bluetooth discovery mode on the blackberry, then get its MAC address and channel using command: hcitool scan

- edit /etc/bluetooth/rfcomm.conf

rfcomm0 {
bind yes;
device MAC-address-goes-here;
channel 3;
}

- add /etc/ppp/peers/blackberry file with the following contents:

debug debug debug
nodetach
/dev/rfcomm0
115200
connect “/usr/sbin/chat -f /etc/chatscripts/blackberry”
nomultilink
defaultroute
noipdefault
ipcp-restart 7
ipcp-accept-local
ipcp-accept-remote
# need lcp-echo turned off, at least for t-mobile
# disconnects after few mn of inactivity.
# thanks to ‘loon’ for this info
lcp-echo-interval 0
lcp-echo-failure 999
modem
noauth
nocrtscts
noipdefault
novj # refused anyway, no point in trying every time
usepeerdns
user “”
password “”

- add /etc/chatscripts/blackberry file with the following contents:

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-OK ATDT#777
CONNECT \d\c

- if all is setup correctly and BB bluetooth is on, you should now be able to initiate ppp with the following command: pppd call blackberry

If you enjoyed this post, please visit an ad link or two. Consider them as you would a tip jar. Thanks!

2 Comments

  1. I have these files in place and I have Network service enabled in the Bluetooth Applet, but that screen shows no network devices and the pppd call command cannot find any /dev/rfcomm* devices.

    Is there a missing step?

    Posted on 04-Sep-08 at 9:03 am | Permalink
  2. ok, seems we must do

    sudo rfcomm bind 0 first

    but I still get tossed out. the linux log says nothing but the phone says “handsfree connection terminated” or something like that.

    I wonder about the way naraku.net renders that chatscript. for example, it looks like

    ” ATZ

    but shouldn’t that read

    ” ATZ

    as in quote-quote-space ATZ

    and then the next line shows

    OK-AT-OK

    which is a chat command I’ve never seen before :)

    Posted on 04-Sep-08 at 9:23 am | Permalink

2 Trackbacks/Pingbacks

  1. [...] it gets better and better as now my blackberry serves as a modem for my laptop on my commute. check out how I teathered it to linux via bluetooth here. [...]

  2. GPRS, 3G, Blackberry Curve & Tethering on 04-Sep-08 at 4:11 am

    [...] have used this link and it was a good start, but this link has MUCH more detail. Unfortunately the kapsi.fi link has [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*