gpsd is a userland daemon acting as a translator between GPS, GNSS, and AIS receivers and their clients. gpsd listens on port 2947 for clients requesting position/time/velocity information. The receivers are expected to generate position information in a well-known format -- as NMEA-0183 sentences, SiRF binary, Rockwell binary, Garmin binary format, or other vendor binary protocols. gpsd takes this information from the GPS and translates it into something uniform and easier to understand for clients. The distribution includes sample clients, application interface libraries, and test/profiling tools. See README.build for some build options that might be useful. To enable automatic startup of gpsd at boot time, or when a GPS device is connected via USB, you need to do the following four steps: 1. Copy the file /lib/udev/rules.d/25-gpsd.rules to /etc/udev/rules.d/ 2. Edit the file /etc/udev/rules.d/25-gpsd.rules and uncomment the line (or lines) beginning '#ATTRS' that corresponds to your GPS hardware. To avoid confusion with other USB serial devices that you might have, do not uncomment lines that do not correspond to your GPS hardware. But if you do not know which line to uncomment, and you do not have any other serial devices, you can uncomment them all :-) 3. Make the file /etc/rc.d/rc.gpsd executable. chmod +x /etc/rc.d/rc.gpsd 4. Add the following lines to /etc/rc.d/rc.local if [ -x /etc/rc.d/rc.gpsd ]; then /etc/rc.d/rc.gpsd start fi Configuration options may be set in the file /etc/rc.d/rc.gpsd.conf. The defaults will usually be adequate. However, if your GPS is on a real (non-USB) serial port -- for example, /dev/ttyS0 -- you should add /dev/ttyS0 to GPS_DEVICES in /etc/rc.d/rc.gpsd.conf. Optional dependencies: - python3-matplotlib-inline is required for gpsplot - pyserial is an optional dependency for ubxtool and zerk