wiki:Howto/ToshibaE800BluetoothGPS

Toshiba e800 Bluetooth GPS

Toshiba e800 There is a well-known and suffered problem for anyone with a Toshiba e8xx PDA that has built-in Bluetooth. The Toshiba Bluetooth Stack (v5.01C) will not create a serial port profile COM port and therefore any mapping or GPS applications cannot work. This includes TomTom Navigator, Winfast Navigator, SatCE, GPSGate, CoPilot and any other application that expects to connect to a Bluetooth GPS receiver via a serial port.

I have a BlueNEXT BN909GR GPS Bluetooth receiver and was suffering this problem with a Toshiba e800. The BN909GR works perfectly with a Sony Ericsson K800i that has Nav4All installed.

I installed  Tascal's Registry Editor and went snooping.

I quickly found the Toshiba Bluetooth settings and focused on the profile created for the GPS receiver after doing Connection Registration... by tapping and holding on the service name:

[HKEY_LOCAL_MACHINE\SOFTWARE\TOSHIBA\Bluetooth\BTSETUP\AutoConnect\VCOM0\0]
"Active"=dword:00000001
"COMPortName"="COM0"
"Profile"=dword:80000000
"PSM"=dword:00000003
"SCN"=dword:00030001
"ServiceName"="Dev B"
"Class"=hex:00,1f,00,00
"BDADDR"=hex:00,1d,df,60,2a,a5
"Name"="GPS"
"FriendlyName"=hex:42,4e,39,30,39,47,52,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
  00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00

Incidentally, the service-name from the device is Dev B whereas I was expecting "Serial Port". I confirmed the name was coming from the BN909GR using the PC.

To begin with I thought this strange service name was the problem, especially as it was recorded in the registry. I tried manually changing it using the registry editor but that didn't seem to help.

Then I noticed that the COMPortName was showing as COM0 whereas when the connection was registered the application reported it would use COM5. I confirmed COM5 was correct in another part of the registry:

[HKEY_LOCAL_MACHINE\SOFTWARE\TOSHIBA\Bluetooth\DeviceProperty\Port\SPP]
"Port"="COM5:"

I connected to a printer (which uses Serial Port Protocol too) and confirmed that COMPortName should be set to the actual COM port number.

So, using registry editor I modified COM0 and made it COM5.

[HKEY_LOCAL_MACHINE\SOFTWARE\TOSHIBA\Bluetooth\BTSETUP\AutoConnect\VCOM0\0]
"COMPortName"="COM5"

Registry - COMPortName modified

Then I closed all applications, turned off the Bluetooth radio using the hardware switch (on the base of the e800) so as to shut-down the Toshiba Bluetooth stack, and then did a soft-reset of the device.

When it restarted I turned the Bluetooth radio on. I'm not sure if this is important or just coincidence but instead of using Programs > Bluetooth > Bluetooth Settings to do device and service discovery I followed some instructions in a Toshiba document that accompanies the Windows Mobile 2003SE upgrade files. In that it describes the new features and shows how to use the new Bluetooth Search For Wireless Devices... option available by tap-holding the Bluetooth icon on the Today screen notification-icon panel (bottom-right corner).
Today Notification Icon

This brings up a Config Free utility that shows the available devices graphically. To connect one to the PC you drag it onto the centre that represents the PDA. Config Free - Connected

I used that procedure and it took me to the Bluetooth Settings display but with the device and service already populated and ready to go.

Bluetooth Settings - Connected
I could then connect an application to COM5 and it worked correctly.

TomTom Navigator GPS Connected
I have found however that after closing an application it is very difficult to reconnect to the COM port. What seems to happen is the BN909GR GPS receiver gets in a half-connect state. Usually all it needs is to turn the receiver off and then on and an application will then connect to the serial port immediately. There are times though where the Toshiba Bluetooth stack seems to get hopelessly confused and a soft-reset is required.

Attachments