[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [gpsd-dev] GPSd on FreeBSD
From: |
Greg Troxel |
Subject: |
Re: [gpsd-dev] GPSd on FreeBSD |
Date: |
Mon, 09 Sep 2019 17:39:09 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (berkeley-unix) |
"Gary E. Miller" <address@hidden> writes:
>> I get..
> [...]
>> gpsd:WARN: PPS:/dev/pps0 die: no TIOMCIWAIT, nor RFC2783 CANWAIT
>> gpsd:PROG: PPS:/dev/pps0 gpsd_ppsmonitor exited.
>
> Your system PPS is not correctly configured. I'm not familiar enough
> with BSD to say where...
I am unsure what's different now between freebsd and netbsd, but my
impression is that one does pps on serial by doing pps ioctls on a
serial port, rather than a specific /dev entity just for pps edges
derived from another /dev entity.
>> It seems it isn't actually opening /dev/pps0 (based on the -2 for FD)
>
> No, re-read the message. It just says it can not use TIOMCIWAIT. It
> should use KPPS instead, which is better, but that also failed. I'm
> not afmiliar enough with *BSD to know why, but it does work for others.
AIUI, TIOMCIWAIT is an extension to the standards-defined PPS, and is
present in Linux and OpenBSD, but not in NetBSD.
>> The PPS API does work on this device:
>> [gps 7:35] ~/gpsd
>> >/usr/obj/arm-src/arm.armv7/tools/test/ppsapi/ppsapitest /dev/pps0
>
> I'm unfamiliar with ppsapitest. What does "ppscheck /dev/pps0" show?
ppsapitest probably tests to the spec. I'm assuming ppscheck is from
gpsd, and would test to what gpsd uses - of course quite relevant here.
>> Examining the code shows a big chunk is Linux specific so I guess I
>> will have to modify it but if someone has advice on what the "right
>> way" to do is that would be great :)
>
> When you compiled gpsd it auto-detects your system. It will autodetect
> many flavors of *BSD and work just fine.
The PPS code assumes there is some ioctl to "wait until a pps edge", not
found in RFC? that defined the original PPS interface, and there was no
path to it working well without that - a fairly minor (probably 4 hours
to code and debug) reorg is needed to make it work without, without
impairing performance on systems that have the ioctl.
I was thinking about this years ago, and have never gotten around to it.
The ntpd that's part of NetBSD base understands PPS and works with PPS
devices (without gpsd). I would expect that FreeBSD base system ntpd,
or FreeBSD ports ntpd would also do that.
(The ioctl makes a lot of sense - I don't mean to knock it. It's just
that it's not in the PPS RFC, and thus can't be assumed to be present.)
- [gpsd-dev] GPSd on FreeBSD, O'Connor, Daniel, 2019/09/09
- Re: [gpsd-dev] GPSd on FreeBSD, Gary E. Miller, 2019/09/09
- Re: [gpsd-dev] GPSd on FreeBSD,
Greg Troxel <=
- Re: [gpsd-dev] GPSd on FreeBSD, Gary E. Miller, 2019/09/09
- Re: [gpsd-dev] GPSd on FreeBSD, O'Connor, Daniel, 2019/09/10
- Re: [gpsd-dev] GPSd on FreeBSD, Gary E. Miller, 2019/09/10
- Re: [gpsd-dev] GPSd on FreeBSD, O'Connor, Daniel, 2019/09/10
- Re: [gpsd-dev] GPSd on FreeBSD, O'Connor, Daniel, 2019/09/10
- Re: [gpsd-dev] GPSd on FreeBSD, Gary E. Miller, 2019/09/10
- Re: [gpsd-dev] GPSd on FreeBSD, Hal Murray, 2019/09/10
- Re: [gpsd-dev] GPSd on FreeBSD, O'Connor, Daniel, 2019/09/10
- Re: [gpsd-dev] GPSd on FreeBSD, Dustin Marquess, 2019/09/11
- Re: [gpsd-dev] GPSd on FreeBSD, Hal Murray, 2019/09/11