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

5 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
  3. Jesse Dhillon

    Great walkthrough! However, you should use the html ‘code’ or ‘pre’ tags for the configuration because your blog is rendering those quotes in a way that makes them unusable for pasting into a config file. New users who don’t know this will not know about this.

    Posted on 07-Dec-08 at 2:59 pm | Permalink
  4. @Jesse thanks for the feedback. I’ve updated the quotes with pre tags.

    Posted on 08-Dec-08 at 10:52 pm | Permalink
  5. UPDATE — Ubuntu 8.10 Intrepid Bluetooth Connect issues

    I updated my distro (and kernel to 2.6.27) last week and had problems getting BB to sync up … (among others) upon executing the pppd script:
    Failed to open /dev/rfcomm0: Host is down

    the solution ended up being (well, best one I’ve got so far) is to force the blackberry bluetooth connection to ubuntu before running pppd. that is (on the BB) Connections->Bluetooth Options->(your ubuntu)->Connect if all goes as it should a connection successful dialog pops up and the bluetooth icon gets < -> symbol.

    then the pppd script works as it use to. haven’t figured out how to set this to “always connect” like it use to by default.

    Posted on 08-Dec-08 at 11:08 pm | Permalink

3 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 […]

  3. […] device with Linux【介绍了Linux对黑莓的配置、同步、安装软件、Modem、Java开发】how to teather blackberry and linux via bluetooth【连BB蓝牙的完整过程,试验不成功】Berry4all 通过USB连接BB […]

Post a Comment

You must be logged in to post a comment.