Am 26.10.2015 um 17:13 schrieb Philippe Clérié:
On 10/25/2015 01:52 PM, Michael Biebl wrote:
Am 25.10.2015 um 12:59 schrieb Philippe Clérié:
On 10/23/2015 05:33 PM, Philippe Clérié wrote:
I'm running raspbian jessy on a rpi2 with an Adafruit GPS board. Gpsd
refuses to load on boot, but works just fine on manual start.
I am not yet familiar with systemd. Even if I've had to dig a bit to
try
to understand how it works I'm still stumped at the moment, so I don't
know if there's a bug or I am doing something wrong.
There are 3 systemd units related to gpsd in /lib/systemd/system.
gpsd.service
gpsd.socket
gpsdctl@.service
My (weak) understanding is that systemd will start .socket which in
turn
will launch .service. That does not seem to be happening.
Well, was there actually a request over the socket /var/run/gpsd.sock
which would trigger the start of the service?
If there is no such request from a client, the service will not be
started. The maintainer of gpsd apparently has setup gpsd so it is
started on-demand and apparently there is no demand from a client.
Looks like he did half the job then. I'm pretty sure my ntp daemon works
over /run/gpsd.sock. I'm also pretty sure nothing queries gpsd over the
local tcp socket on port 2947.
/var/run should be a symlink to /run. Please check that, if not, then
something is wrong.
How das ntp + gpsd work? Does your ntp daemon accesses actually access
/run/gpsd.sock? If so it should trigger the start of gpsd.service.
Also, whenever udev finds GPS hardware, it should trigger
gpsdctl@.service. See /lib/udev/rules.d/60-gpsd.rules.
Do you have such a gpsdctl@<device>.service instance running?
The gpsdctl@.service instance in turn will run
gpsdctl add /dev/<device>. gpsdctl talks to gpsd over
/var/run/gpsd.socket, so will trigger the start of gpsd.service
If not, maybe the udev rules file does not list your hardware and that's
the root cause for this issue