$ file /var/run/chrony.ttyACM0.sock
/var/run/chrony.ttyACM0.sock: socket

cat /etc/init.d/gpsd

$ cat /etc/init.d/gpsd
#!/bin/sh
### BEGIN INIT INFO
# Provides:          gpsd
# Required-Start:    $remote_fs $syslog $network
# Should-Start:      bluetooth dbus udev
# Required-Stop:     $remote_fs $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Start-Before:    ntp
# Short-Description: GPS (Global Positioning System) daemon
# Description:       The gpsd service daemon is able to monitor one or
#                    more GPS devices connected to a host computer, making
#                    all data on the location and movements of the sensors
#                    available to be queried on TCP port 2947.
### END INIT INFO

# Author: Bernd Zeimetz <b...@debian.org>
#
# Please remove the "Author" lines above and replace them
# with your own name if you copy and modify this script.

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
RUNDIR=/run/gpsd
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="GPS (Global Positioning System) daemon"
NAME=gpsd
DAEMON=/usr/sbin/$NAME
PIDFILE=$RUNDIR/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

if [ -z "$GPSD_SOCKET" ] && [ -z "$DEVICES" ]; then
GPSD_SOCKET=/var/run/gpsd.sock
fi

if [ -n "$GPSD_SOCKET" ]; then
        GPSD_OPTIONS="$GPSD_OPTIONS -F $GPSD_SOCKET"
fi

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start()
{
# Return
#   0 if daemon has been started
#   1 if daemon was already running
#   2 if daemon could not be started

        mkdir -p $RUNDIR || return 2

start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test
> /dev/null \
|| return 1
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
$GPSD_OPTIONS -P $PIDFILE $DEVICES \
|| return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
# Return
#   0 if daemon has been stopped
#   1 if daemon was already stopped
#   2 if daemon could not be stopped
#   other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE
--name $NAME
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME
return 0
}

case "$1" in
  start)
        if [ "$START_DAEMON" = "true" ]; then
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
else
[ "$VERBOSE" != no ] && \
log_daemon_msg "Not starting $DESC" "$NAME" && \
log_end_msg 0
fi
;;
  stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
do_stop
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
  status)
       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
       ;;
  reload|force-reload)
log_daemon_msg "Reloading $DESC" "$NAME"
do_reload
log_end_msg $?
;;
  restart)
#
# If the "reload" option is implemented then remove the
# 'force-reload' alias
#
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
 0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
 *)
# Failed to stop
log_end_msg 1
;;
esac
;;
  *)
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
exit 3
;;
esac

:



On Sat, Aug 6, 2016 at 11:08 PM, Steve Horton <stevejhor...@gmail.com>
wrote:

> Sorry..i meant your start script. So do you start gpsd after chrony is
> allready running and the sock created? Does it get built correctly? Can you
> do a file on it?
>
> On Aug 6, 2016 10:29 PM, "Chris Greenman" <chris.m.green...@gmail.com>
> wrote:
>
>> No gpsd.conf.  /etc/default/gpsd is :
>>
>> # Default settings for the gpsd init script and the hotplug wrapper.
>>
>> # Start the gpsd daemon automatically at boot time
>> START_DAEMON="true"
>>
>> # Use USB hotplugging to add new USB devices automatically to the daemon
>> USBAUTO="true"
>>
>> # Devices gpsd should collect to at boot time.
>> # They need to be read/writeable, either by user gpsd or the group
>> dialout.
>> DEVICES="/dev/ttyACM0"
>>
>> # Other options you want to pass to gpsd
>> GPSD_OPTIONS="-F /var/run/chrony.ttyACM0.sock"
>>
>>
>>
>> $ ps -ef |grep gpsd |grep -v grep
>> gpsd     31426     1  0 13:36 ?        00:00:00 /usr/sbin/gpsd -N -F
>> /var/run/chrony.ttyACM0.sock /dev/ttyACM0
>>
>> cgps shows 3d fix
>>
>> On Sat, Aug 6, 2016 at 2:11 PM, Steve Horton <stevejhor...@gmail.com>
>> wrote:
>>
>>> Ok..can I see your gpsd conf?
>>>
>>> On Aug 6, 2016 1:39 PM, "Chris Greenman" <chris.m.green...@gmail.com>
>>> wrote:
>>>
>>>> I only included the relevant lines.  When the socket didn't work either
>>>> I commented it out and went back to shm
>>>>
>>>> Here is my full chrony.conf.  Note, I commented out the ntp servers so
>>>> that I can just concentrate on troubleshooting the GPS clock and
>>>> uncommented the SOCK line
>>>>
>>>>
>>>> #server 0.us.pool.ntp.org
>>>> #server 1.us.pool.ntp.org
>>>> #server 2.us.pool.ntp.org
>>>> #server 3.us.pool.ntp.org
>>>>
>>>> driftfile /var/lib/chrony/drift
>>>>
>>>> allow
>>>>
>>>> # set larger delay to allow the NMEA source to overlap with
>>>> # the other sources and avoid the falseticker status
>>>> refclock SHM 0 refid GPS precision 1e-1 offset 0.9999 delay 0.2
>>>> #refclock SHM 1 refid PPS precision 1e-9
>>>> refclock SOCK /var/run/chrony.ttyACM0.sock refid GPSS
>>>>
>>>> makestep 1 -1
>>>>
>>>>
>>>>
>>>>
>>>> On Sat, Aug 6, 2016 at 10:41 AM, Steve Horton <stevejhor...@gmail.com>
>>>> wrote:
>>>>
>>>>> Not really Chris. I don't see a sock option in your configuration
>>>>> file. Gpsd should write time out to a device file some where and chrony 
>>>>> can
>>>>> read the time from that device file via a Unix domain socket. Like I
>>>>> said..look into the sock option  and how it relates to gpsd.
>>>>>
>>>>> On Aug 6, 2016 10:10 AM, "Chris Greenman" <chris.m.green...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Same thing.  Already tried it.
>>>>>>
>>>>>> On Aug 6, 2016 6:35 AM, "Steve Horton" <stevejhor...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> I'd look closer at the SOCK option under the refclock section.
>>>>>>> https://chrony.tuxfamily.org/manual.html#refclock-directive
>>>>>>>
>>>>>>> On Aug 6, 2016 12:00 AM, "Chris Greenman" <
>>>>>>> chris.m.green...@gmail.com> wrote:
>>>>>>> >
>>>>>>> > Hello,
>>>>>>> >     I'm having an issue with getting time from gpsd.
>>>>>>> >
>>>>>>> > My setup is:
>>>>>>> > Raspberry Pi 3 running Jessie Lite
>>>>>>> > USB U-Blox gps
>>>>>>> >
>>>>>>> > gpsd is receiving NMEA from the GPS, cgps also shows time and
>>>>>>> position properly.
>>>>>>> >
>>>>>>> > My chrony.conf is:
>>>>>>> >>
>>>>>>> >> server 0.us.pool.ntp.org
>>>>>>> >> server 1.us.pool.ntp.org
>>>>>>> >> server 2.us.pool.ntp.org
>>>>>>> >> server 3.us.pool.ntp.org
>>>>>>> >> driftfile /var/lib/chrony/drift
>>>>>>> >> allow
>>>>>>> >> refclock SHM 0 refid GPS precision 1e-1 offset 0.9999 delay 0.2
>>>>>>> >> makestep 1 -1
>>>>>>> >>
>>>>>>> > Chronyc sources shows this:
>>>>>>> >>
>>>>>>> >> $ chronyc sources
>>>>>>> >> 210 Number of sources = 5
>>>>>>> >> MS Name/IP address         Stratum Poll Reach LastRx Last sample
>>>>>>> >> ============================================================
>>>>>>> ===================
>>>>>>> >> #? GPS                           0   4     0   10y     +0ns[
>>>>>>> +0ns] +/-    0ns
>>>>>>> >> ^+ time-c.nist.gov               1   9   375   110    -23ms[
>>>>>>>  -22ms] +/-   47ms
>>>>>>> >> ^* pool-96-248-122-64.cmdnnj     1  10   377    56  +9749us[
>>>>>>>  +11ms] +/-   18ms
>>>>>>> >> ^- 104.156.99.226                2   9   377   367    +15ms[
>>>>>>>  +17ms] +/-  107ms
>>>>>>> >> ^- 4.53.160.75
>>>>>>> >>
>>>>>>> > This system is going to be used on a boat and might not have
>>>>>>> internet.  I can tell that both programs are accessing the shared memory
>>>>>>> using ipcs -m:
>>>>>>> >
>>>>>>> >> ------ Shared Memory Segments --------
>>>>>>> >> key        shmid      owner      perms      bytes      nattch
>>>>>>> status
>>>>>>> >> 0x4e545030 0          root       600        80         2
>>>>>>>
>>>>>>> >> 0x4e545031 32769      root       600        80         1
>>>>>>> >>
>>>>>>> > Any idea why chrony isn't getting time from the GPS?
>>>>>>> >
>>>>>>> > Thanks
>>>>>>>
>>>>>>
>>>>
>>

Reply via email to