Hi,
..reportbug reports our (Devuan) BTS is down, bug report on gpsd: Content-Type : text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Arnt <a...@iaksess.no> To: Devuan Bug Tracking System <sub...@bugs.devuan.org> Subject: gpsd: ..2'nd roll over bug: gpsd clock is 56 years wrong, "1963-07-18T08:57:40.584Z" Message-ID: <155465156363.24771.3526445890355259661.reportbug@sda3> X-Mailer: reportbug 7.1.6+devuan2.1 Date: Sun, 07 Apr 2019 17:39:23 +0200 X-Debbugs-Cc: a...@iaksess.no Package: gpsd Version: 3.16-4 Severity: important ..upstream bug. Dear Maintainer, *** Reporter, please consider answering these questions, where appropriate *** * What led up to the situation? ..according to http://catb.org/gpsd/NMEA.html#_dates_and_times : GPS date and time are subject to a rollover problem in the 10-bit week number counter, which will re-zero every 1024 weeks (roughly every 19.6 years). The last rollover (and the first since GPS went live in 1980) was in Aug-1999; the next will fall in Apr-2019. ..checks out rather well: arnt@sda3:~$ date --date='1024 weeks ago' Sun Aug 22 18:23:04 CEST 1999 arnt@sda3:~$ date --date='2048 weeks ago' Sun Jan 6 17:23:36 CET 1980 arnt@sda3:~$ date --date='TZ=UTC 2048 weeks ago' date: invalid date ‘TZ=UTC 2048 weeks ago’ arnt@sda3:~$ date --date='TZ="UTC" 2048 weeks ago' Sun Jan 6 19:25:50 CET 1980 arnt@sda3:~$ http://www.leapsecond.com/java/gpsclock.htm http://www.leapsecond.com/java/cal.htm ..fix suggestions: hard code third 10bit era and/or move to the new 13bit "CNAV" data format pointed to above. ..this patch hard codes third 10bit era as suggested in gpsd-3.1x's timebase.c: arnt@nb6:~$ diff -u timebase.h-3.16 timebase.h-new --- timebase.h-3.16 2016-01-08 20:30:27.000000000 +0100 +++ timebase.h-new 2019-04-07 20:11:52.903644739 +0200 @@ -1,9 +1,9 @@ /* * Constants used for GPS time detection and rollover correction. * - * Correct for week beginning 2016-01-07T00:00:00 + * Correct for week beginning 2019-04-07T02:00:00 UTC */ #define BUILD_CENTURY 2000 -#define BUILD_WEEK 854 # Assumes 10-bit week counter -#define BUILD_LEAPSECONDS 17 -#define BUILD_ROLLOVERS 1 # Assumes 10-bit week counter +#define BUILD_WEEK 1 # Assumes 10-bit week counter +#define BUILD_LEAPSECONDS 19 +#define BUILD_ROLLOVERS 2 # Assumes 10-bit week counter ..and ditto for gpsd-3.17: arnt@nb6:~$ diff -u timebase.h-3.17 timebase.h-new --- timebase.h-3.17 2017-09-07 13:53:40.000000000 +0200 +++ timebase.h-new 2019-04-07 20:11:52.903644739 +0200 @@ -1,9 +1,9 @@ /* * Constants used for GPS time detection and rollover correction. * - * Correct for week beginning 2017-09-07T00:00:00 + * Correct for week beginning 2019-04-07T02:00:00 UTC */ #define BUILD_CENTURY 2000 -#define BUILD_WEEK 941 # Assumes 10-bit week counter +#define BUILD_WEEK 1 # Assumes 10-bit week counter #define BUILD_LEAPSECONDS 19 -#define BUILD_ROLLOVERS 1 # Assumes 10-bit week counter +#define BUILD_ROLLOVERS 2 # Assumes 10-bit week counter ..this patch hard codes third 10bit era as suggested in gpsd-3.11's timebase.c: arnt@sda3:~$ diff -u timebase.h* --- timebase.h-3.11 2019-04-07 19:19:42.442197516 +0200 +++ timebase.h-ny 2019-04-07 19:18:28.572535352 +0200 @@ -1,8 +1,8 @@ /* * Constants used for GPS time detection and rollover correction. * - * Correct for week beginning 2014-08-21T00:00:00 + * Correct for week beginning 2019-04-07T00:00:00 */ -#define CENTURY_BASE 201400 -#define LEAPSECOND_NOW 16 -#define GPS_WEEK_NOW 1806 +#define CENTURY_BASE 201900 +#define LEAPSECOND_NOW 19 +#define GPS_WEEK_NOW 2049 ..current timebase.h in gpsd-3.11 source: arnt@sda3:~$ cat timebase.h /* * Constants used for GPS time detection and rollover correction. * * Correct for week beginning 2014-08-21T00:00:00 */ #define CENTURY_BASE 201400 #define LEAPSECOND_NOW 16 #define GPS_WEEK_NOW 1806 arnt@sda3:~$ * What exactly did you do (or not do) that was effective (or ineffective)? * What was the outcome of this action? * What outcome did you expect instead? *** End of the template - remove these template lines *** -- System Information: Distributor ID: Devuan Description: Devuan GNU/Linux 2.0 (ascii) Release: 2.0 Codename: ascii Architecture: armv6l Kernel: Linux 4.19.32+ Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=locale: Cannot set LC_ALL to default locale: No such file or directory UTF-8) Shell: /bin/sh linked to /bin/dash Init: sysvinit (via /sbin/init) Versions of packages gpsd depends on: ii adduser 3.115 ii init-system-helpers 1.48+devuan2.0 ii libbluetooth3 5.43-2+deb9u1 ii libc6 2.24-11+deb9u4 ii libdbus-1-3 1.10.22-1+devuan2 ii libgps22 3.16-4 ii libusb-1.0-0 2:1.0.21-1 ii lsb-base 4.1+devuan2 ii netbase 5.4 Versions of packages gpsd recommends: ii python 2.7.13-2 pn udev <none> Versions of packages gpsd suggests: ii dbus 1.10.22-1+devuan2 ii gpsd-clients 3.16-4 -- debconf information: -- ..med vennlig hilsen = with Kind Regards from Arnt Karlsen ...with a number of polar bear hunters in his ancestry... Scenarios always come in sets of three: best case, worst case, and just in case. _______________________________________________ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng