Windows Mobile 6.5 Manual GPS COM Port Setup

Configuring GPS manually in Windows Mobile 6.5 required properly establishing both a physical hardware port and a virtual program port using the built-in GPS Intermediate Driver (GPSID). This architecture decoupled the physical GPS receiver from navigation applications, allowing multiple programs to read National Marine Electronics Association (NMEA) satellite data simultaneously without causing COM port conflicts.

The GPS Intermediate Driver Architecture

Windows Mobile 6.5 relies on a two-tier port structure found in the operating system under Start > Settings > System > External GPS (or GPS):

  • GPS Hardware Port: This setting defines the physical COM port assigned directly to the internal GPS chipset or external Bluetooth receiver. The baud rate must match the receiver's specifications, standardly set to 4800 or 9600 bps.
  • GPS Program Port: This setting defines a software-emulated, virtual COM port (commonly set to COM4, COM6, or COM7). Navigation applications connect to this virtual port instead of accessing the physical receiver directly.

Required Configuration Steps

  1. Hardware Tab Configuration:

    • GPS hardware port: Set to the specific COM port mapped to the physical GPS receiver (typically COM1, COM2, or COM9, depending on the device manufacturer like HTC, HP, or Motorola).
    • Baud rate: Set to match the receiver hardware, most commonly 4800 (standard NMEA 0183) or 9600.
  2. Programs Tab Configuration:

    • GPS program port: Choose an unused virtual port, such as COM4 or COM7. This port cannot be the same as the hardware port.
  3. Access Tab Configuration:

    • Check the box labeled Manage GPS automatically (recommended). Enabling this starts the GPS Intermediate Driver multiplexer, which intercepts raw NMEA streams from the Hardware Port and broadcasts them to the Program Port.

Application-Level Configuration

Once the operating system settings are saved, third-party software (such as TomTom Navigator, Garmin Mobile XT, or Google Maps) must be configured to point to the designated GPS Program Port rather than the physical hardware port. Setting the application to the virtual port prevents port-locking errors, allowing the operating system to share location data with background services and active navigation tools at the same time.