diff --git a/www/troubleshooting.html b/www/troubleshooting.html index ff3dff078..b41fe9395 100644 --- a/www/troubleshooting.html +++ b/www/troubleshooting.html @@ -479,7 +479,7 @@ udev end of the configuration is working.

gpsd must be installed. We want gpsd itself and, for testing, the gpsd clients, at least cgps and possibly xgps.

-

gpsd must running and reading from the GPS receiver. For general gpsd debugging, it is helpful to know that gpsd is running, and that the GPS receiver device file is present. For a u-blox receiver:

+

For general gpsd debugging, it is helpful to know that gpsd is running, and that the GPS receiver device file is present. For a u-blox receiver:

root@orca:~# ps aux | grep -i gpsd | grep -v grep ; ls /dev/ttyA*
 gpsd     14547  0.5  0.0  18092  3504 ?        S<sl 15:44   0:00 /usr/sbin/gpsd
@@ -496,10 +496,10 @@ root@orca:~#

Your problem lies elsewhere.

Systemd is present but but does not manage gpsd.

-

You can use systemd's tools to check. systemctl status gpsd should tell you what systemd thinks gpsd's status is.

+

You can use systemd's tools to check. systemctl status gpsd should tell you what systemd thinks gpsd's status is.

-root@orca:~# systemctl status gpsd
+root@orca:~# systemctl status gpsd
 ● gpsd.service - GPS (Global Positioning System) Daemon
    Loaded: loaded (/lib/systemd/system/gpsd.service; enabled; vendor preset: enabled)
    Active: active (running) since Thu 2019-10-03 15:07:01 MDT; 1 weeks 2 days ago
@@ -530,7 +530,7 @@ root@orca:~#
 
 

If you want to shut gpsd down, you have to shut down both units. Shutting down gpsd.service alone is not sufficient because gpsd.socket could fire it up again.

-
systemctl stop gpsd.socket gpsd.service
+
systemctl stop gpsd.socket gpsd.service

Note: issuing the stop command may not actually stop the service. On a Debian system out of the box, systemd starts gpsd up again.

@@ -554,12 +554,12 @@ GPSD_OPTIONS="-Gn"

We can stop gpsd. Systemd will restart it for us, this time with the options in place. We then verify that the options are there:

-
root@orca:~# systemctl stop gpsd.socket gpsd.service
+
root@orca:~# systemctl stop gpsd.socket gpsd.service
 root@orca:~# ps aux | grep -i gpsd | grep -v grep
 gpsd     14547  0.5  0.0  18092  3504 ?        S<sl 15:44   0:00 /usr/sbin/gpsd -Gn
 root@orca:~#
-

But we aren't there yet. gpsd may be listening on all interfaces, but systemd's hold on the socket means gpsd can't hear anything on interfaces other than the loopback. We have to tell systemd to allow gpsd to hear other interfaces. We run systemctl edit --full gpsd.socket. Then we can edit it. After editing, the [Socket] stanza looks like so:

+

But we aren't there yet. gpsd may be listening on all interfaces, but systemd's hold on the socket means gpsd can't hear anything on interfaces other than the loopback. We have to tell systemd to allow gpsd to hear other interfaces. We run systemctl edit --full gpsd.socket. Then we can edit it. After editing, the [Socket] stanza looks like so:

 [Socket]
@@ -574,7 +574,7 @@ SocketMode=0600
 
 

We now restart both gpsd units like so:

-
systemctl restart gpsd.socket gpsd.service
+
systemctl restart gpsd.socket gpsd.service

Now check with a local client, and a client on the remote computer: