gpsd-users
[Top][All Lists]
Advanced

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

Re: [gpsd-users] gpsd as gpsd client, error "Unrecognized request"


From: Florian Petry
Subject: Re: [gpsd-users] gpsd as gpsd client, error "Unrecognized request"
Date: Thu, 7 Sep 2017 10:03:08 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

Is it still planned to merge this fix? We are running into the
"Unrecognized request" problem frequently when connecting one gpsd to
another with gpsd://...

Regards

Am 27.06.2017 um 23:53 schrieb Larry Boyd:
I'm running 3.16 on a raspberry pi zero w with adafruit gps hat as a gps
server, and also 3.16 on a laptop running fedora 25 with gpsd as a client
to the rpi's gpsd.

On both I've compiled from source.

On the rpi I'm running with the following;
address@hidden:~/gpsd-3.16 $ ./gpsd -N -n -D 4 -G /dev/ttyAMA0

On fedora, I'm, running with this;
address@hidden gpsd-3.16]$ ./gpsd -N -D 5 gpsd://pizwcam.local

pizwcam.local, of course, resolves to the ip address of the rpi.

When I start gpsmon on the fedora laptop, it gives me this output, MOST of
the time;
//////////////////////////////////
tcp://localhost:2947          JSON slave driver>
(82)
{"class":"VERSION","release":"3.16","rev":"3.16","proto_major":3,"proto_minor":11
}
(119)
{"class":"DEVICES","devices":[{"class":"DEVICE","path":"gpsd://pizwcam.local","a
ctivated":"2017-06-27T21:40:05.560Z"}]}
(122)
{"class":"WATCH","enable":true,"json":false,"nmea":false,"raw":2,"scaled":false,
"timing":false,"split24":false,"pps":true}
(114)
{"class":"VERSION","release":"3.16","rev":"3.16","proto_major":3,"proto_minor":1
1,"remote":"gpsd://pizwcam.local"}
(53) {"class":"ERROR","message":"Unrecognized request ''"}
//////////////////////////////////

At the same time, gpsd ON FEDORA, gives me this;
//////////////////////////////////
gpsd:CLIENT: => client(0):
{"class":"VERSION","release":"3.16","rev":"3.16","proto_major":3,"proto_minor":11}\x0d\x0a
gpsd:PROG: checking client(0)
gpsd:CLIENT: <= client(0): ?WATCH={"raw":2,"pps":true}\x0d\x0a
gpsd:PROG: no /etc/gpsd/device-hook present, skipped running ACTIVATE hook
gpsd:INFO: opening remote gpsd feed at pizwcam.local, port 2947.
gpsd:INFO: gpsd_activate(2): activated GPS (fd 7)
gpsd:IO: => GPS: ?
gpsd:IO: => GPS: WATCH={"raw":2,"pps":true}\x0d\x0a
gpsd:CLIENT: => client(0):
{"class":"DEVICES","devices":[{"class":"DEVICE","path":"gpsd://pizwcam.local","activated":"2017-06-27T21:40:05.560Z"}]}\x0d\x0a{"class":"WATCH","enable":true,"json":false,"nmea":false,"raw":2,"scaled":false,"timing":false,"split24":false,"pps":true}\x0d\x0a
gpsd:PROG: switching to match packet type 18:
{"class":"VERSION","release":"3.16","rev":"3.16","proto_major":3,"proto_minor":11}
gpsd:PROG: switch_driver(JSON slave driver) called...
gpsd:PROG: selecting JSON slave driver driver...
gpsd:INFO: gpsd://pizwcam.local identified as type JSON slave driver, 0 sec
@ 0bps
gpsd:IO: <= GPS:
{"class":"VERSION","release":"3.16","rev":"3.16","proto_major":3,"proto_minor":11}
gpsd:PROG: JSON, passing through
{"class":"VERSION","release":"3.16","rev":"3.16","proto_major":3,"proto_minor":11,"remote":"gpsd://pizwcam.local"}
gpsd:PROG: device 0 (fd=7, path gpsd://pizwcam.local) already active.
gpsd:CLIENT: => client(0):
{"class":"VERSION","release":"3.16","rev":"3.16","proto_major":3,"proto_minor":11,"remote":"gpsd://pizwcam.local"}\x0d\x0a
gpsd:IO: <= GPS: {"class":"ERROR","message":"Unrecognized request ''"}
gpsd:PROG: JSON, passing through {"class":"ERROR","message":"Unrecognized
request ''"}
gpsd:CLIENT: => client(0): {"class":"ERROR","message":"Unrecognized request
''"}\x0d\x0a
//////////////////////////////////

And gpsd on the rpi gives this;
//////////////////////////////////
gpsd:CLIENT: <= client(0): ?\x0a
gpsd:ERROR: ERROR response: {"class":"ERROR","message":"Unrecognized
request ''"}\x0d\x0a
gpsd:CLIENT: => client(0): {"class":"ERROR","message":"Unrecognized request
''"}\x0d\x0a
gpsd:PROG: checking client(0)
gpsd:CLIENT: <= client(0): WATCH={"raw":2,"pps":true}\x0d\x0a
gpsd:CLIENT: => client(0): =
//////////////////////////////////

But very occasionally, if I restart gpsmon several times, then on the rpi,
I will get this instead;
//////////////////////////////////
gpsd:CLIENT: <= client(0): ?WATCH={"raw":2,"pps":true}\x0d\x0a
//////////////////////////////////
... and then, of course, gpsmon will work as expected. Note that there is
nothing different visible on the output from gpsd or gpsmon on the fedora
laptop up to that point, including the '?' and 'WATCH' appearing on
separate lines.

So clearly, somewhere between the gpsd's running on fedora and the rpi,
there is a line break being added after the '?' character. Since I can
consistently run '?WATCH=....' via telnet, it appears to be in the client
code running on the fedora machine.


—

ingenieur
wissenschaften
htw saar

Hochschule für Technik und Wirtschaft des Saarlandes
University of Applied Sciences

Fakultät für Ingenieurwissenschaften
School of Engineering

Florian Petry, M.Sc.
Forschungsgruppe Verkehrstelematik (FGVT)

InnovationsCampus Saar
Altenkesseler Strasse 17/D2
66115 Saarbruecken
Germany

+49 681 5867-648
address@hidden
http://www.htwsaar.de
https://fgvt.htwsaar.de




reply via email to

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