Thursday, June 12, 2014

Microsoft Streets and Trips GPS Running on Linux Mint

I have an old Streets and Trips GPS unit - this old guy, from way back when:


Pharos light and
I have an old Dell laptop running Linux Mint. I've been wanting to build the War Pi described in this SANS Reading Room article:
http://www.sans.org/reading-room/whitepapers/incident/war-pi-34435

But I wasn't sure if I could, because I don't have an external GPS. Well, I was rooting through my junk box and found the old S&T GPS and wondered if maybe I could make it work. Sure enough:
Terminal Serial Output



I whited out the GPS strings - don't want anyone to have it easy finding my house and stopping by for autographs.

How did I do it? Dirt simple, folks:
  1. Plug in the USB GPS unit
  2. Open a terminal window and type "dmesg"
  3. Look for the serial GPS unit appearing:
    [ 1317.276429] usb 6-1: new full-speed USB device number 2 using uhci_hcd
    [ 1317.435627] usb 6-1: New USB device found, idVendor=067b, idProduct=aaa0
    [ 1317.435641] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 1317.435649] usb 6-1: Product: USB-Serial Controller
    [ 1317.435656] usb 6-1: Manufacturer: Prolific Technology Inc.
    [ 1317.435663] usb 6-1: SerialNumber: 12345678
    [ 1317.475503] usbcore: registered new interface driver usbserial
    [ 1317.475534] usbcore: registered new interface driver usbserial_generic
    [ 1317.475554] usbserial: USB Serial support registered for generic
    [ 1317.480504] usbcore: registered new interface driver pl2303
    [ 1317.480533] usbserial: USB Serial support registered for pl2303
    [ 1317.480578] pl2303 6-1:1.0: pl2303 converter detected
    [ 1317.493517] usb 6-1: pl2303 converter now attached to ttyUSB0
  4. See at the bottom, it says "ttyUSB0"? That's where the device is...
  5. If it's not installed, install minicom:
    sudo apt-get install minicom
  6. Run minicom as sudo in settings mode (sudo minicom -s)
  7. Select "Serial port setup"
  8. Set serial device to /dev/ttyUSB0 (or wherever your device showed up in dmesg)
  9. Set Bps/Par/Bits. This one is a bit obtuse - the lowest screen setting is 9600, which results in garbage streaming in. But if you press B for "<prev>", you can set the speed to 4800.
  10. Set stopbits to "7-E-1"
  11. Exit back to the minicom screen and choose "Save setup as dfl" then choose "Exit"
Bazinga - you should see serial GPS strings scrolling across the terminal window.
By the way: great article here about using the Microsoft Streets & Trips GPS unit on a Raspberry Pi.