[LinuxPPS] Re: [PATCH 1/1] LinuxPPS: Pulse per Second support for Linux

Rodolfo Giometti giometti at enneenne.com
Wed Mar 14 15:06:23 CET 2007


On Wed, Mar 14, 2007 at 09:19:34AM -0400, Lennart Sorensen wrote:
> 
> I will grab the last couple of commits and try although they didn't
> sound like they really make much difference.

Some fixes up... see the git log for further info.

> I couldn't find any way to do that with setserial (at least not the
> version I have), and I would rather not have to install setserial just
> to do that.  Which version of setserial is needed and what arguments
> does it need to do it?

Unluckely you need a patched version of setserial (see the patch on my
site). On the same site you can find a precompiled version which I use
for my tests, maybe it works for you...

> If it is NOT connected to the same device, then how would you specify
> it?  The ntp configuration is rather sparse when it comes to specifying
> anything and seems to rely in symlinks to hardcoded device names for
> finding everything.  I suppose one could have gps# for the nmea messages
> and pps# for the associated pps device name symlink (which may point
> to something that doesn't even exist if there is an internal source of
> that name with no associated device).  Does that seem reasonable?  I can
> certainly change it to do that.  Certainly refclock_atom already uses
> /dev/pps# as it's device, so using that again may be reasonable.

This is a specific problem of NTPD not of LinuxPPS itself. I wrote
some letters about this problem into NTP list but with no results.

The sysadm shoulkd use setserial to enable a serial port to become a
PPS source and then NTPD should verify if such PPS source exists
(using time_pps_findpath() & Co.).

> I actually find the way it determines the pps device a bit annoying.
> Right now I have to do this:
> 
> cd /dev
> ln -s ttyn0 jsm0
> ln -s jsm0 gps0
> 
> This way gps0 is the symlink the ntp refclock looks for when asked for
> device 0, and readlink turns that into jsm0 (since the internal driver
> name for ttyn0 is jsm, that is what the pps code insists it must be
> named), which then is another symlink to the real device name.  Same for
> ttyS3 <- serial3 <- gps0.  Now it would be nice if the internal driver
> name matched the device name, but apparently that really never seems to
> happen.  Is all this symlink spagheti really necesary?

Did you read this example on the wiki?

   giometti at jeeg:~/linuxpps$ cat /sys/class/pps/01/name
   serial1 
   giometti at jeeg:~/linuxpps$ cat /sys/class/pps/01/path
   /dev/ttyS1 
   giometti at jeeg:~/linuxpps/test$ sudo ln -sf /dev/ttyS1 /dev/gps0
   giometti at jeeg:~/linuxpps/test$ sudo ./ppstest /dev/gps0
   found PPS source #2 "serial1" on "/dev/ttyS1"
   giometti at jeeg:~/linuxpps/test$ sudo ln -sf ktimer /dev/gps0
   giometti at jeeg:~/linuxpps/test$ sudo ./ppstest /dev/gps0
   found PPS source #0 "ktimer" on ""

it doesn't work for you?

> Will do.

Thanks a lot,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail:    giometti at enneenne.com
Linux Device Driver                             giometti at gnudd.com
Embedded Systems                     		giometti at linux.it
UNIX programming                     phone:     +39 349 2432127



More information about the LinuxPPS mailing list