Kevin Kempf's Blog

November 30, 2009

Tethering a Blackberry 9630 with Data via Bluetooth in Linux (Verizon Wireless)

Filed under: Blackberry, Linux — kkempf @ 1:54 pm

To begin with, this post is pretty focused, and probably irrelevant to most Oracle DBAs.   I’m going to detail how you use Bluetooth to tether a data capable Blackberry 9630 (via it’s internal modem) to your Linux (RedHat/CetOS) machine running Gnome so that you can use the Blackberry’s modem as your internet connection.  This information is a collection from various sources, most notably here but none of the places really seemed to present the information in a simple, beginning to end, usable manner so that’s what I’ll attempt to do here.

Before you go further, know a few things about tethering a Blackberry.  First, it’s not free.  You have to pay for the data plan from your provider, and I believe it’s to the tune of $40+ per month.  Fortunately for me, my employer takes care of that.  Second, you need to be sure data tethering is enabled on your account before you try to do any of this.  It’s hugely frustrating to go through all of these steps and try to troubleshoot a correct setup, when in reality all that’s wrong is that your wireless provider is denying you access because your account isn’t set up right.  Finally, ensure your PC has a Bluetooth adapter.  Seems like a no-brainer, but in my case I had to install one on my Dell D820 so it’s not a given that all notebooks come with one, much less desktops.

I am no Linux guru.  I would like to think I fall somewhere between a novice and an advanced user.  So that’s the level I’m writing this at.  As usual, if I’m technically wrong in some way, or you have a suggestion on how something could be phrased better, I’m all ears, please leave a comment.  With that, I should state the standard “Proceed at your own risk” clause.  In other words, it worked for me.  Might work for you.  You need to use root a lot.  Be careful.  Very careful.

Check Linux Package Requirements

Before you begin, see if you have the required packages.  From the command prompt:

$ rpm -q ppp

$ rpm -q bluez-utils

If either or both are missing, do a yum install ppp or a yum install bluez-utils to correct this.

Pair the Blackberry to Linux

Pairing is the one-time process of establishing a “trusted” relationship between 2 Bluetooth devices.

Check the “icon tray” in the bottom right corner of your Linux machine.  You should see an icon which looks like this .  If you don’t see it, perhaps the service isn’t running (as root, type service bluetooth status); if you still can’t see it, refer to Bluez.  Right click on the icon, and ensure discoverable is checked.  This allows your PC’s bluetooth adapter to be “seen” by other bluetooth devices, in this case for purposes of pairing them.

Determine your two Bluetooth MAC addresses; for the PC this is easy.  As root:

#hcitool dev

which returns:

Devices:
hci0    00:1D:D2:E1:2C:EB (your address will be different)

hic0 is the Linux PC’s Bluetooth device, and it’s MAC address is what follows the word hci0.

For the Blackberry, from the main screen, use  Options->Bluetooth, then the menu button, then options.  From the  Bluetooth Options screen, you need to ensure it says discoverable “Yes” and write down the MAC address at the bottom of the screen where it says Device Address: 00:26:FF:B3:33:22 (obviously your address will be different).

To actually pair the devices, from the blackberry go to Options->Bluetooth, then the menu button, then add a device.  Select Search from the next menu.  Select Computer from the next menu (if you get this, my discovery found 3 devices: two blackberries and a computer).  It then asks for a numeric passkey for the computer name.  As far as I can tell, this is a one-time use key which has to be entered on both devices, so I entered 1111 and followed the prompts on my Linux host:

Linux Sees the Blackberry attempting to Pair

Linux Sees the Blackberry attempting to Pair

Enter the passkey

Successful Pairing!

Linux Setups

As root, execute the following command and make a note of the Channel number of your device:

#sdptool search DUN

Inquiring …
Searching for DUN on 00:26:FF:B3:33:22 …
Service Name: Dialup Networking
Service RecHandle: 0x10002
Service Class ID List:
“Dialup Networking” (0x1103)
“Generic Networking” (0x1201)
Protocol Descriptor List:
“L2CAP” (0x0100)
“RFCOMM” (0x0003)
Channel: 3
Profile Descriptor List:
“Dialup Networking” (0x1103)
Version: 0x0100

rfcomm.conf

Using your favorite editor (vi!) edit /etc/bluetooth/rfcomm.conf as root (it would be wise to create a backup of the file first)
You can just paste this in and make edits.  Device is your Blackberry MAC address, channel is derived above, and comment is for your own clarity.

rfcomm0 {
bind yes;
device xx:xx:xx:xx:xx:xx;
channel 3;
comment "Blackberry 9630";
}

Restart Blackberry Service

As root, execute the following:

service bluetooth restart
Stopping Bluetooth services:                               [  OK  ]
Starting Bluetooth services:                               [  OK  ]

Launch KPPP

Personally, I prefer a GUI to make my connection.  I honestly don’t recall if kppp is installed by default in a Gnome desktop environment; if it’s not, it’s a part of the kdenetwork package; I believe by installing this you will get kppp available under Applications->Internet from the desktop menu.  When you launch KPPP you will be required to enter the root password.

You’ll need to configure your connection before proceeding.  Hit “Configure…”, then there’s 2 things we need to set up.

Account

Under the accounts tab, hit “New”.  You will want to set up this screen as follows:

Dial Properties

Under DNS

Verizon Specific DNS settings

Note that there are 2 items here which I believe to be Verizon (my wireless provider) specific:

  1. The dial up number #777
  2. The DNS entries shown above

In other words, I can’t speculate on how these will need to be adjusted for another wireless carrier, but I also imagine this is something which they should be able to readily tell you.  When I do a whois against the DNS address I have, it’s clearly Verizons:

whois 66.174.95.44
[Querying whois.arin.net]
[whois.arin.net]

OrgName:    Cellco Partnership DBA Verizon Wireless
OrgID:      CLLC
Address:    180 Washington Valley Road
City:       Bedminster
StateProv:  NJ
PostalCode: 07039
Country:    US

NetRange:   66.174.0.0 - 66.174.255.255
CIDR:       66.174.0.0/16
NetName:    WIRELESSDATANETWORK
NetHandle:  NET-66-174-0-0-1
Parent:     NET-66-0-0-0-0
NetType:    Direct Allocation
NameServer: CARKDNS.VZWDOMAIN.COM
NameServer: NJBRDNS.VZWDOMAIN.COM
Comment:    ADDRESSES WITHIN THIS BLOCK ARE NON-PORTABLE
RegDate:    2001-10-01
Updated:    2005-11-16

OrgAbuseHandle: ABUSE716-ARIN
OrgAbuseName:   Abuse
OrgAbusePhone:  +1-800-770-1779
OrgAbuseEmail:  abuse@verizonwireless.com

OrgTechHandle: MGE16-ARIN
OrgTechName:   George, Matt
OrgTechPhone:  +1-908-306-7000
OrgTechEmail:  abuse@verizonwireless.com

# ARIN WHOIS database, last updated 2009-11-29 20:00
# Enter ? for additional hints on searching ARIN's WHOIS database.

Modem

Under the Modems tab, hit “New”.  You will want to set up this screen as follows:

KPPP Configuration

Time to connect

Note: The first time you connect, your Blackberry device should ask you “Accept connection request from <pc name>?  Check  “Don’t ask again” before hitting “Yes” so you don’t have to remember to answer this again later…

KPPP Main Screen

Note Verizon doesn’t require a Login ID or Password…. Hit Connect…

You're cooking!

That should be it!  At this point, it should connect, and stay this way until you kill the connection via the KPPP icon in your icon tray:

Success!

Advertisements

Blog at WordPress.com.