Address: 127.127.46.u
Reference ID: GPSD
Driver ID: GPSD_JSON
Serial Port: /dev/gpsu as symlink to the true
device (not used directly; see below)
Features:
This driver is a client driver to the GPSD daemon, which over the time became increasingly popular for UN*Xish platforms. GPSD can manage several devices in parallel, aggregate information, and acts as a data hub for client applications. GPSD can also auto-detect and handle PPS hardware signals on serial ports. Have a look at the GPSD project page.
It is imortant to understand that this driver needs a GPS device with PPS support to operate.
The GPSD-NG protocol is text based, using JSON notation to transfer records in form of JSON objects. The driver uses a TCP/IP connection to localhost:gpsd to connect to the daemon and then requests the GPS device /dev/gpsu to be watched. (Different clock units use different devices, and GPSD is able to give only the relevant information to a clock instance.)
This driver does not expect GPSD running or the clock device to be present a priori; it will try to re-establish a lost or hitherto unsuccessful connection. There is a 10 seconds delay between a connection loss or failed attempt and the next reconnect attempt; this makes sure that there is no thrashing on the network layer.
The overall accuracy depends on the receiver used. The driver uses the error estimations (95% probability limits) provided by GPSD to set the clock precision dynamically according to these readings.
The driver needs the VERSION, TPV and PPS objects of the GPSD protocol. (Others are quietly ignored.)
The GPSD driver uses the same name as the NMEA driver, namely /dev/gpsu. There is a simple reason for that: While the NMEA driver and the GPSD driver can be active at the same time for different devices, they cannot access the same device at a time. Having the same name helps on that. It also eases migration from using NMEA directly to using GPSD, as no new links etc need to be created. GPSD is normally started with the device name to access; it can also be instructed by hotplug scripts to add or remove devices from its device pool. Luckily, the symlinks used by the NMEA driver are happily accepted and used by GPSD; this makes it possible to use the symlink names as device identification.
Until now, GPSD has no mode bits.
Additional Information