gpsd-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [gpsd-dev] PPS not showing in gpsmon/gpsd on RPi 3


From: Gary E. Miller
Subject: Re: [gpsd-dev] PPS not showing in gpsmon/gpsd on RPi 3
Date: Sat, 23 Apr 2016 15:26:41 -0700

Yo Eric!

On Sat, 23 Apr 2016 11:43:47 -0400
"Eric S. Raymond" <address@hidden> wrote:

> Gary E. Miller <address@hidden>:
> > > For damn *sure* it could be clearer.  See my longer email about
> > > the error log from the Pi 3.  
> > 
> > Suggested wording welcome.  
> 
> I can't suggest anything yet.  I don't undersand the code's failure
> modes well enough.

I'm thinking to just dum it down, like:
        PPS failure on /dev/pps0

Then at a higher logging level mention the exact reason.

> > > A related question is why KPPS isn't working.  
> > 
> > They both come down to the same thing, there is no conrtol input for
> > PPS or KPPS to use.  PPS needs the input and TIOCMWAIT, and KPPS
> > needs the input and the KPPS driver.  
> 
> This is another of your explanations-that-leave-me-more-confused.

Welcome to the club.  :-)

Except I thought you had grokked by now that the /dev/ttyS0 has only
TX and RX, but no RTS/CTS, DTR/DCD or RI pins.  TIOMCIWAIT is
tied to those pins.  Since those pins do not exist the kernel knows that
TIOCMICWAIT is pointless.

> If that's so, why is the startup code referencing a
> nonexistent /dev/pps1 and throwing permission errors (of all things)
> on /dev/pps0?

The KPPS error is telling you that is failed to create the /dev/pps1 and
attach it to /dev/ttyS0.  And that is beccasue there are no RTS/CTS, DTR/DCD
or RI on /dev/tty1 to create the /dev/pps1 to monitor.

/dev/pps0 is the device that YOU created for the GPIO pin.  Except
either the permissions are wrong, or gpsd is not openeing it properly before 
dropping root.

> It's obvious why the TIOCMIWAIT isn't working.  What's unobvious is
> why KPPS isn't.

Because they both depend on the same thing, having RTS/CTS, DTR/DCD or
RI on /dev/ttyS0.  You can't monitor signals that do not exist and the
kernel is smart enough to tell you no when you try. gppsd does not know
it can not monitor those pins until it tries.

>  The ppstest result seems to tell us that the RFC2783
> interface is up.  My conclusion is that the GPSD code is failing to
> use it correctly because of something specific to Pi3/Jessie.

Well, see, you keep confusing the failure of /dev/pps0 and the failure
of /dev/pps1. /dev/pps1 will never work becuase there are no control
pins on /dev/ttyS0 to monitor to signal on /dev/pps1.

So /dev/pps1 is working exactly the only waY it can: try, fail, give up.

This is the first you said that your /dev/pps0 was failing.  Your
/dev/pps0 problem is either you have the wrong kernel module paramters to 
tell the kernel what pin to monitor, or the permissions are wrong on 
/dev/pps0, or gpsd is dropping root too soon to open /dev/pps0.

RGDS
GARY
---------------------------------------------------------------------------
Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703
        address@hidden  Tel:+1 541 382 8588

Attachment: pgpSrNxtVJ7QZ.pgp
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]