Bluetooth GPS
From Gentoo Linux Wiki
Contents |
[edit] Prologue
I thought it would be cool to be able to use my bluetooth GPS GpsSlim 236 with Gentoo. The way to get it to work was actually straight forward, thanks to the job done by the gpsd developers.
My hardware:
- x86_64 system (Athlon)
- Kernel 2.6.20.1 (vanilla with swsusp2 patches)
- Bluetooth USB dongle (BT 3030)
- Bluetooth GPS: GpsSlim 236
Aim of this howto:
- Get Linux to recognize my Bluetooth dongle
- Get Linux to detect the gps device
- Launch a client of GPSD
What is not done yet:
- Using other GPS clients
- Maps and other integration.
[edit] Compile kernel for bluetooth dongle support and detecting available BT devices
This is very well covered in Mobile Phone/Bluetooth. Follow the howto to make gentoo recognize your BT dongle. Follow the instructions about starting the bluetooth device as well from the same tutorial. If everything works correctly, the command line tool, hcitool should be able to detect your bluetooth dongle.
Try:
# hcitool dev
Devices:
hci0 08:00:17:1B:42:96
What is shown is the device address of your dongle. Now we are ready to detect our bluetooth gps.
[edit] Detecting the bluetooth GPS
Search for available bluetooth devices. My Bluetooth GPS does not an explicit "discoverable" mode setting. It is always discoverable and can be paired with a pin "0000". If your GPS has an explicit discoverable mode switch, turn it on now. Make sure your GPS is turned on. Type:
# hcitool scan
Scanning ...
00:0B:0D:19:20:D6 HOLUX GPSlim236
You should see your bluetooth gps. Next we need to pair it and connect to it.
[edit] Connecting to the GPS device
Check your bluetooth pin file.
# more /etc/bluetooth/pin 0000
I am not sure if this file has to be edited to specify your bluetooth gps pairing pin (typically "0000" for most devices). But I did and it certainly did not hurt!
The next step is to connect to the Bluetooth serial profile of the gps device. To do that type:
# rfcomm connect 0 00:0B:0D:19:20:D6 Connected /dev/rfcomm0 to 00:0B:0D:19:20:D6 on channel 1 Press CTRL-C for hangup
If this step succeeds, we have successfully established a connection with the gps device. We could have installed gpsd anytime earlier, but now that we have established a connection with our gps device, we can be sure our gpsd installation can be used! Use emerge:
# emerge gpsd
Now lets start gpsd. Type:
# gpsd -N /dev/rfcomm0
The -N option prevents gpsd from backgrounding. I ran it in foreground for the first time, hoping that if something goes wrong, I would see some debug on the console, but everything just worked fine!
[edit] Launching the default gpsd client
Just use xgps that is installed along with gpsd in Gentoo packaging.
# xgps
You should see a nice window that shows satellite status and your lat and long location.
[edit] Other clients and bluetooth GPS devices
Bluetooth Gps devices which have been successfully used with this
- HOLUX GR-231
- GPSSlim 236
- GlobalSat BT-338
- HP IPAQ echoing fake data with GPS GATE
- Nokia LD-3W works perfect
- TomTom Wireless GPS MkII
- Evolve goTraxx
- Leadtek 9553
- Pentagram PathFinder P3101
- Adapt AD-850
- Navigon S3N BTGPS (S/N D1598-S)
- Samsung i560 (internal GPS exported using J2ME GPSd)
- Blumax Wireless Bluetooth 20 Channels GPS-Receiver (Sirf 3)
- Navilock BT-338 (Sirf 3)
- Pharos iGPS-BTII (AKA: Pharos PT120)
(please add your bluetooth gps device to this list if it works successfully)
