On 15/08/2015 16:46, Christian Weisgerber wrote:> The ntp code is not very transparent, but I think the root cause > are the ntp/config.h changes that came with the 4.2.8p3 update. A > number of previously disabled obscure clock drivers were enabled, > but crucially CLOCK_RAWDCF was disabled, and this is the PARSE > subdriver needed to use the popular DCF77 serial receivers. > > Frankly, it looks like we used to have a carefully considered > selection of clock drivers which has been blindly splattered with > the upstream defaults in the last update.Hmmm.... I suggest raising a PR with patches to revert the changes in the set of enabled clock drivers (or merge with the current list). It's not going to get you a working DCF77 receiver in a -RELEASE version any time soon, I'm afraid, as you'll have to wait until the next release for the changes to percolate down, but having a sensible list of enabled clock drivers in base is definitely a good move. For a more timely solution[*], it looks like the ports is your best option. By default the net/ntp port disables all of the clock drivers, but allows you to configure the port to enable whatever drivers you want. If you built your own package it would be simple to get the right support compiled in. However, that won't help if you're determined to use pre-built packages only, in which case there would need to be a slave port with enabled clock drivers. That's something you could certainly argue for; This is a symptom of the current state of the ports tree -- we've switched over to pkg(8), but we're still working through a lot of changes to fully enable pkg capabilities. A lot of the functionality still only really works if you build your own ports. There are changes planned, like sub-packages and package flavours which should help, but in the case of net/ntp where clock drivers are compiled into the main binary unfortunately those won't apply. If NTP clock drivers were implemented as loadable modules it would be a lot easier... Cheers, Matthew [*] Pun unintentional. -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 971 bytes Desc: OpenPGP digital signature URL: <http://lists.freebsd.org/pipermail/freebsd-stable/attachments/20150816/a8556ac2/attachment.bin>
Am 16. August 2015 09:10:41 MESZ, schrieb Matthew Seaman <matthew at FreeBSD.org>:>On 15/08/2015 16:46, Christian Weisgerber wrote: >> The ntp code is not very transparent, but I think the root cause >> are the ntp/config.h changes that came with the 4.2.8p3 update. A >> number of previously disabled obscure clock drivers were enabled, >> but crucially CLOCK_RAWDCF was disabled, and this is the PARSE >> subdriver needed to use the popular DCF77 serial receivers. >> [?] > >[?] >For a more timely solution[*], it looks like the ports is your best >option. By default the net/ntp port disables all of the clock drivers, >but allows you to configure the port to enable whatever drivers you >want. >[?]You could also check the PCBSD/TrueOS pkg repos. I Kris Moore mentioned on BSDnow he'll happily enable/change build options when people need them. When ntpd is the only pkg you'll install anyway this might be the most hassle free option. Regards, Florian
On Sun, 2015-08-16 at 08:10 +0100, Matthew Seaman wrote:> On 15/08/2015 16:46, Christian Weisgerber wrote: > > The ntp code is not very transparent, but I think the root cause > > are the ntp/config.h changes that came with the 4.2.8p3 update. A > > number of previously disabled obscure clock drivers were enabled, > > but crucially CLOCK_RAWDCF was disabled, and this is the PARSE > > subdriver needed to use the popular DCF77 serial receivers. > > > > Frankly, it looks like we used to have a carefully considered > > selection of clock drivers which has been blindly splattered with > > the upstream defaults in the last update. > > Hmmm.... I suggest raising a PR with patches to revert the changes in > the set of enabled clock drivers (or merge with the current list). It's > not going to get you a working DCF77 receiver in a -RELEASE version any > time soon, I'm afraid, as you'll have to wait until the next release for > the changes to percolate down, but having a sensible list of enabled > clock drivers in base is definitely a good move. >I wonder: is there a reason to not enable all (or most of) the refclocks in base and in ports? Well, at least all the ones that build on freebsd... a disturbing number of them fail to compile because they include linux-specific header files. Hmm, I just noticed that we actually compile most of the refclocks, but we don't enable them in the config. It looks like the cost of enabling all the refclocks that compile properly is pretty small... doing so increased the size of ntpd from 745K to 801K for me. I'll attach the diff just to save someone else the trouble of iteratively figuring out which ones won't build, but I think there may be a more-proper way to generate this config by tweaking the autotools stuff. -- Ian
On 2015-08-16, Matthew Seaman <matthew at FreeBSD.org> wrote:> Hmmm.... I suggest raising a PR with patches to revert the changes in > the set of enabled clock drivers (or merge with the current list). It'sYes. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=202362> not going to get you a working DCF77 receiver in a -RELEASE version any > time soon, I'm afraid, as you'll have to wait until the next release for > the changes to percolate down,I finally had an occasion to try "freebsd-update rollback" and went back to 10.1. -- Christian "naddy" Weisgerber naddy at mips.inka.de