Ohhh. The pain, the pain: The Bluetooth pain

If you read my recent post on how EV-DO saved the day during a recent heat-wave induced blackout in New England, then you'd know that I was accessing my company's corporate network through a virtual private network connection (VPN) that involved my Thinkpad T42 connected via Bluetooth to a Verizon Wireless (EV-DO)-provisioned  PocketPC-based Audiovox XV6600 smartphone.


If you read my recent post on how EV-DO saved the day during a recent heat-wave induced blackout in New England, then you'd know that I was accessing my company's corporate network through a virtual private network connection (VPN) that involved my Thinkpad T42 connected via Bluetooth to a Verizon Wireless (EV-DO)-provisioned  PocketPC-based Audiovox XV6600 smartphone.  To my Thinkpad, the smartphone basically looks like a cable modem that's connected to a high speed network (and EV-DO is blazingly fast for a wireless network).  In fact, as I write these very words, I'm sitting in my car in the parking lot next to the field where my son is attending sports camp.  I have full access to ZDNet's blogging infrastructure, the Web, and my company's e-mail servers.  It's as if I was in the office, only I'm getting to see a bunch of teenagers suffer in the heat as they go through various brutal football drills.

Being new to the 6600, the blackout was what motivated me to finally test the Bluetooth/EV-DO routing capabilities of the smartphone.  Only there was one problem.  I couldn't find any reference to the capability in Verizon Wireless' manual for the 6600 and, because of the blackout, I couldn't connect to the Web either.  While I consider myself to be technically competent to figure things out in situations such as this, the Thinkpad/6600 combo had me thoroughly stumped.  It wasn't until I got on the Web that I found some clues lurking in some Pocket PC forums -- clues that had to do with connecting a PC through a Verizon Wireless provisioned smartphone that was not a 6600.  But it was enough to get me going. 

There are four bottom lines to this story.   The first bottom line is for Mike Foley who heads up the Bluetooth SIG (the consortium responsible for Bluetooth's evolution):  Something more -- much more -- than an incremental improvement in ease of setup is necessary for this sort of Bluetooth convenience to be available to the masses.  I will offer proof momentarily. 

The second bottom line is for Microsoft and for Foley. It's for Microsoft because I'm primarily working with two Microsoft technologies here and any process that takes almost 40 screenshots to thoroughly document can use some improvement.  It's for Foley because its an example of a Bluetooth implementation that does a good job of marketing how hard it is to get Bluetooth things working.   Proof of that too, coming momentarily. 

The third bottom line is for Bob Frankston and David Reed -- two industry pioneers whose opinions that Bluetooth should probably be killed I now 99 percent agree with (sorry guys, one percent of me is really loving this now that I finally got it working).  The fourth bottom line is for Verizon Wireless and our readers.   Someone needs a lesson in how to write a users manual and, in the course of trying to help others who must be having the same problem with this blog, I'm going to give it. Even though it's missing most of the contingencies (like what to do if you don't get that screen that you were expecting),  I'm still positive that it will be the most comprehensive walkthrough, replete with screenshots, of the process you can find.  One caveat: The screen shots are not integrated into the text as they ideally should (you need to click to see them).  I had to do this because of how dramatically so many of them would slow the time it takes to load the Web page you're  reading right now.  My expectation for a manual or PDF file would be that the text would snake around these pictures. Even if you don't have an Audivox XV6600, Thinkpad, or service from Verizon Wireless (VW), you may find this walkthrough to be helpful.  My "lesson" is what will offer Foley, Microsoft, and VW (and to some extent, IBM), the proof on why this technology -- at least in this scenario -- is severely impaired.

Getting your PC to access the Internet with a Bluetooth enabled smartphone

Before your Bluetooth-enabled PC can make use of your Pocket PC-based Bluetooth-enabled smartphone to access the Internet by way of the cell network that your phone is connected to (thereby leveraging your phone as a network router), you need to make sure that the smartphone can actually offer Dial-Up Networking (DUN) as a service to other Bluetooth-enabled devices. Like Bluetooth headset support, and file transfer support, DUN support comes by way of a Bluetooth "profile" that's specific to DUN. If your service provider (eg: Verizon Wireless) didn't preload the Bluetooth profile onto your phone before you took delivery of it, then there's a good possibility DUN is not supported.  Cruising around the Web, there are some hacks to get Bluetooth's DUN profile onto phones that don't come with it, but after market installation may not be supported by your carrier.  Fortunately, the Audiovox 6600 comes with the DUN profile and the first step is to make sure the smartphone is properly advertising the availability of DUN to the other Bluetooth devices that can take advantage of it (like a Bluetooth-enabled notebook PC).

So, first, on your Pocket PC, you should see a Bluetooth icon in the lower right corner of the display (see the icon in the very bottom right hand corner of this photo).  When you tap on it, you should see three options in the menu that pops up:  Turn Bluetooth On/Off, Bluetooth Manager, and Bluetooth Settings.  In my photo of this menu, my top choice says "Turn Bluetooth Off" because my radio is already on.  If you don't have the icon, then it means that your device either doesn't have Bluetooth, or the drivers to run the Bluetooth are not properly installed (call your wireless carrier if something is amiss).   If your Bluetooth radio is off and the first choice says "Turn Bluetooth On", then tap on it to turn the radio on.  Once your radio is on, open up that same menu again and tap on "Bluetooth Settings."  Here is a photo of the screen you should see next.  There should be four tabs on the bottom of the display and the currently opened tab should be the "General" tab.  As you can see, you can turn the Bluetooth radio on and off from here too. 

Since we're looking for the place in the Pocket PC where we need to check on whether DUN is being advertised as a service, tap on the "Services" tab on the bottom of the display and you should be taking to the "Services" screen (see photo).  About an inch from the top of the display, you should see a box that lists the Bluetooth services that the Pocket PC has to offer other devices.  If the list of services runs longer than the fixed height of the box, there will be a scroll bar on the right of the box, as there is in the aforementioned photo of my Audiovox 6600.  Look for "Dial Up Networking Server" (scroll down if you have to).  If it's not in the list, then your device isn't enabled for the inbound DUN profile.  If it is there, tap on it and the Service Settings area below the box should change to reflect the configuration options that are specific to DUN.   As you can see, I have all the options checked; especially "Enable service" (without this, the service won't work).  I suspect that enabling encryption will slow down the transmission and receipt of data, but I left it in it's default position: checked.  Don't tap OK yet.  Note to Microsoft: there should be tappable help links next to each of these options that, when tapped, provide complete explanations of what happens when the option is enabled or disabled and why it matters (I'd provide the answers here, but I'm not sure I know them).

Now that the DUN server is enabled, we still have to make sure the smartphone is telling the other Bluetooth devices around it that "I'm here, you can connect to me for DUN!"   On the bottom of the display, to the left of the Services tab that's currently activated, tap on the "Accessibility" tab.  In the Device Identification area of the Accessibility screen, check the checkbox to use the PocketPC's device name for Bluetooth.  As you can see from my photo of this screen, my device's name -- "DBsXV" -- appears in the "Name" field and is greyed out.  In the Accessibility area of the Accessibility tab, check "Allow other devices to connect" (allow all devices for now) as well as "Other devices can discover me."  Again, Microsoft, some help here would be nice.  Tell us what these options do.  Now, tap OK in the upper right hand corner of the display.

For a lot of people with Pocket PC's, there device defaults to the device name "Pocket_PC".  As you can see from the aforementioned text, my device's name is "DBsXV" (David Berlind's XV6600).   I have another Pocket PC-based device with Bluetooth (it's not a phone) and I can imagine situations where you might be in a public place where there are multiple Bluetooth-enabled smartphones advertising the availability of their DUN servers.  It's probably a pretty good idea to pick a unique name for your device because that name will show up on your PC when you start looking for DUN servers that are available via Bluetooth (pictures in a minute).  When you last tapped "OK", it should have returned you to the main home page of the PocketPC (the Today page).  On that page, tap the Start button in the upper left hand screen and you should see a menu selection called "Settings" (see photo).   Tap on it.   On the subsequent display, there are three tabs on the bottom: Personal, System, and Connections.  Make sure focus is set to the "System" tab by tapping on it.

In the top left hand corner of the System Settings tab, is the "About" icon (see photo).   Tap on it.  Next, you'll have a choice of three new tabs on the bottom:  Version, Device ID, and Copyrights.   Make sure focus is dt to the Device ID tab by tapping on it and you should see two text fields.  One for Device Name and the other for Description.  Here is where I entered "DBsXV".  I've left description blank.  Tap OK.    Your smartphone should be ready at this point for your Bluetooth-enabled PC to take advantage of it's DUN server.  

So, now we switch to the Thinkpad.  This is where things could be different for your notebook since IBM uses drivers that were developed by Widcomm (acquired last year by Broadcom) and some notebooks use Bluetooth "stacks" from other companies (Microsoft has a bare bones one that will supposedly get a lot better at some point in the future). Nevertheless, if you don't have a Thinkpad, you might be able to recognize some of my process in the software that's on your notebook.  Also, I don't hold Verizon Wireless accountable for not having PC-specific instructions.  But they might think about it given the popularity of certain notebooks like Thinkpads.   

The next step is to get the Thinkpad to see the DUN server that the XV6600 is advertising.  Make sure the Bluetooth radio in your notebook is on.  If you have the right drivers loaded onto your Thinkpad, pressing Fn+F5 (at the same time) should pop up a radio control window that looks like this.   If, after pressing Fn+F5, you don't get this window, then you need to go to IBM's web site and download the most recent Bluetooth drivers.  On this display, if your Bluetooth radio is off, click on the button that turns it on.  Then click the "Close" button in the bottom right hand corner of the window.  If you don't have a Thinkpad notebook, there may be another way to turn the radio on.

In the lower bottom right-hand corner of Windows, in the "tray" should be a Bluetooth icon like the one you saw on the bottom right hand corner of the Pocket PC's display.  Right click on it and you should see four options (see photo): Explore My Bluetooth Places, Bluetooth Setup Wizard, Advanced Configuration, and Quick Connect.  You can go a variety of routes from here to get the same result.  Here's what worked for me.   Mouse over "Quick Connect" and a new menu will pop up.  It will list the services that other devices might offer that the Thinkpad can take advantage of (see photo).   Move your mouse pointer over "Dial Up Networking" and then another menu will pop up.  If your system isn't configured to use any other Bluetooth-based DUN servers, that menu will have one entry (Find Devices) in it like this.  

Next, you should see IBM's Bluetooth Setup Wizard (see photo).  There should be four options, the first of which says "I know the service I want to use and I want to find a Bluetooth device that provides that service."  This is pretty much our situation.  So, leaving that top option checked, click the wizard's next button.  Next, you'll see a list of services that are typically provided by remote devices (see photo).  Highlight "Dial Up Networking" and click the wizard's next button.   Mike Foley (Mr. Bluetooth SIG), here's where things didn't go so right.   I'm not sure why, but I'm hearing similar stories from others.   Bluetooth devices aren't doing a great job of discovering one another.  As you can see from this photo, by clicking on that last  button, the wizard automatically starts looking for a Bluetooth phone or a modem that's broadcasting a message that says "I'm here!" (as you can see, there's a menu box about midway down the right side that says "Show phones and modems."  Yet, after searching for a bit of time, nothing turned up but an error dialog (see photo).  The window that's supposed to list the various Bluetooth devices was blank.  Hoping to see my XV6600 show up, I clicked "search again" but to no avail.  That's when I opened up that menu that's midway down the right side to see what other choices were available (see photo).  Pick "All Devices" and click "Search Again".   Shzaaam!  As you can see from this photo,  my XV6600 turned up as an icon that has the same name as the device name I assigned to the Pocket PC earlier ("DBsXV").  Click this icon once to highlight it, and click the wizard's next button.  Sidebar: the reason it didn't turn up as a phone or modem, but turned up under "all devices" is because the XV6600 is advertising that it's a Personal Digital Assistant (PDA: one of the other menu choices) and not a phone or a modem (even though it technically qualifies.  This needs fixing).

In the subsequent screen, you'll get the opportunity to name the connection.  As you can see, I named it "DBsXV DUN."  But before clicking the wizard's "Finish" button, you still have more work to do.  Click the "Configure" button in the middle of the screen and next, you'll see the "Bluetooth Properties" dialogue (see photo).  The contents of the first field should contain the name you assigned to the connection in the previous screen and the "Secure Connection" checkbox should be checked.  Though I haven't tested it yet, I'm pretty sure the "Secure Connection" feature matches the "Encryption Required" configuration option that we spied on Services tab when we were configuring the DUN server on the XV6600.    This change in language -- "Secure Connection" vs. "Encryption Required" is confusing.  All vendors involved should take note: when you use different language to refer to the same thing, it makes it almost impossible for end-users who are looking for visual queues when trying to get two things to work together. 

On the Bluetooth Properties dialogue, click the "Configure" button (this is getting to be too many Next and  Configure buttons, if you ask me).    Next, you'll see the "BluetoothConnection Properties" dialog.  In my version of this dialog (see photo), the Thinkpad has automatically added a Bluetooth-based modem and assigned the COM7 communications port to it.  Click the "Configure" button in this dialog (oy, vey).  Next, you'll see the Modem Configuration dialog (see photo).   Although the default speed is set to 115200 bps, if you drop down the maximum speed menu (see photo), you should see a bunch of faster speeds.  Bluetooth is way faster than 115.2 kbps and so too is EV-DO.  I saw a tip on the Internet to set this to the fastest speed available so I did and you should too.  The resulting improvement in browser performance was quite noticeable.  I picked 921600 bps and left everything else the same.  Note to Microsoft: this dialogue is also available from Windows XP's device manager but the maximum available setting is only 115200 bps.  That's a confusing. Clicked on the OK button and this should take you back to the "BluetoothConnection Properties" dialog.  Click OK on that and now you're back to the "Bluetooth Properties" dialog.  At this point, a shortcut  to that "BluetoothConnection" will appear in Windows XP Network Connections (see photo). Click the OK button on that and now you're back to the wizard.  Uncheck "Start the connection" (yes, uncheck it) and click the "Finish" button.  The wizard should tidy up and disappear.   A shortcut that bears the same name as the connection (in this case "DBsXV DUN") will be added to Windows XPs "My Bluetooth Places" (see photo).  Question to Microsoft: all these shortcuts with different names (DBsXV, DBsXV DUN, Bluetooth Connection, etc.) are very confusing.  Is there a way to simplify it?

OK, we're almost there.  We're about to try connecting for the first time (there's still more work to do).  Now, go back to the Bluetooth icon on the bottom right hand corner (in the tray) of Windows XP, and follow the same path you did before by first right clicking on it, clicking Quick Connect, then moving the mouse pointer over  Dial Up Networking, and then you should see the newly added connection (the menu choice will match the name of the device).  See photo.  Before clicking on it, make sure your Bluetooth-based phone is not only nearby, but that you have access to it's user interface.  My XV6600 has the UI disabled most of the time so that I don't accidentally dial a number while it's in my pocket.  In a minute, you're going to have to tap on the screen and if the UI is in this "safety mode," you won't be able to respond to a prompt in time to complete your Bluetooth connection.  OK, click on that last menu choice to initiate the connection. 

As the PC finally begins its attempt to connect to the handheld via Bluetooth, you'll see a dialog that looks like this while the connection attempt is in progress.  It should say "Status: Connecting Dial Up Networking on DBsXV...." (obviously, "DBsXV" will be replaced with your device name). 

At this point, the Pocket PC should spring to life with an Authorization Request that looks like this.  In the service field, it will say "Dial Up Networking" and in the remote device field, it should have the Computer Name of the computer that's trying to connect (you'll probably recognize this).  If you remember back to the when we were configuring the DUN server on the services tab on the Pocket PC, we left the "Authorization required" configuration option checked (see photo).   We also left "Authentication (Passkey) required" option checked, but if you follow the process that I followed, it never asks for a passkey of any sort (Is this a Bluetooth standard issue?  A Microsoft issue?).  Going back to the Pocket PC, if you wait too long to press the "Accept" button on the Bluetooth Authorization Request screen, it will timeout.  But just start over from the Bluetooth icon on Windows XP and you can have another chance.  Press the "Accept" button.


As if we haven't already entered in enough information, we still have a little bit more to go.  Next, you'll see the "Connect BluetoothConnection" dialog on the PC (see photo) .  I don't know what you're supposed to fill in if you're not a Verizon Wireless user.  But if you are a VW customer, your username, according to Verizon Wireless technical support, is your "10digitcellphonenumber@vzw3g.com" (no quotes).  Your password is "vzw".  And the phone number is #777.  See photo for what this looks like (sorry, my 10-digit phone number doesn't appear in the photo).  Check the checkbox that says "Save this user name and password for the following users" and leave "Me Only" checked.   Next, you'll be asked if you want to make the phone number permanent (see photo).  Now, click the "Dial" button.

Next, you'll see a series of dialogs that say "Opening port..."; (see photo), then one that says "Dialing #777" (see photo); and then one that says "Verifying user name and password" (see photo).  Almost simultaneously, you'll see confirmations on both the PC and the PocketPC that that the connection is complete.  It looks like this in Windows' tray on the PC (indicating a 921.6 kbps connection), and like this on the Pocket PC (it says "A Bluetooth Dial Up Networking connection has been established to #777").  If you want to confirm that you have a connection, move your mouse over the networking icon in the tray (near the Bluetooth icon) and you should see something like this.

Finally, if you want to terminate the connection, right click the same networking icon in the tray (the one near the Bluetooth icon), and click "Disconnect."  On the Pocket PC, you'll see an indication that looks like this that the connection was terminated.

OK, now that we're done, and some of you now have the best step by step you'll ever find for getting a DUN connection working with Bluetooth, what does it tell you that takes nearly 40 distinctly separate screen shots or photos to document something that should be a lot simpler?   At least for this situation, Bob Frankston has another question for those who want to contemplate the answer to the first question: Why Dial Up Networking (DUN) and not just "networking?"  I think he's right -- take the "Dial Up" out of "Dial Up Networking" (and you should be able to) and things should get a lot easier. 

One final complaint: While the Pocket PC is being used as a DUN server (in other words, when a connectoin is active), there's no indication on the Pocket PC that a connection is in progress.  Twice, I've already forgotten that I was using it as a DUN server and went to make a phone call with the XV6600.  There should be some visual queues that it's currently "occupied" doing someting else.  Not only on Pocket PC's Today page, but also when I press the "Talk" button when dialing a number on the phone.  It should ask "Are you sure you want to end your data session?"  Also, one last piece of advice.  If the your Pocket PC is in use as a DUN server, do not attempt to use its browser to surf the Net over the EVDO connection.  Not only doesn't it work, recovering to the point that you can use the DUN server again is pretty painful.

As I continue to test the XV6600, I'll report on my results.  But I'm sure glad I got this working.   There ain't nothing like a metro area-wide hotspot.  Nothing even close.