Topics

Direwolf with GPSD #gpsd #direwolf


William McKeehan (KI4HDU)
 

Is anyone using Direwolf with GPSD with the DRAWS board?

I've compiled Direwolf from source, then updated the config to have "GPSD localhost" and some TBEACON commands, when I restart Direwolf, I see the following in my log file:

ki4hdu-draws direwolf[12332]: Includes optional support for:  gpsd hamlib
...
ki4hdu-draws direwolf[12332]: Latitude is less than -90.  Changing to -90.nLongitude is less than -180.  Changing to -180.nLatitude is less than -90.  Changing to -90.nLongitude is less than -180.  Changing to -180.nLatitude is less than -90.  Changing to -90.nLongitude is less than -180.  Changing to -180.n[0L] KI4HDU-4>APDW15,WIDE1-1,WIDE2-1:!9000.00SS18000.00W#PHG3140

gpsmon shows that the GPS has a valid position. I'm just wondering if there's something that I'm missing in my config somewhere.

William
KI4HDU


 

From the Direwolf User Guide:

Dire Wolf reads NMEA sentences ( $GPRMC and $GPGGA ) from the receiver and parses them to extract position information.

Whereas the SkyTraq model we have apparently does not support either sentence. Please confirm this, I am rushing between teaching classes and I could be mistaken. I just quickly looked to see if it could be the same problem as with Xaster.  http://www.skytraq.com.tw/datasheet/S1216V8_v0.9.pdf


Basil Gunn
 

David,

Ways to read GPS sentences to verify:

gpsmon
cgps
gpspipe -r
gpspipe -R
gpspipe -w

# or kill gpsd
systemctl stop gpsd

# and
cat -v /dev/ttySC0

See answers embedded.

David Lowry <huskyrunnr@msn.com> writes:

From the Direwolf User Guide: Dire Wolf reads NMEA sentences ( $GPRMC
and $GPGGA ) from the receiver and parses them to extract position
information.

Whereas the SkyTraq model we have apparently does not support either
sentence. Please confirm this,
More than likely this is the case because the issue FIXED in Xastir was
this:
Unable to get GPS data from DRAWS hat [because Xastir does not support
GNGGA or GNRMC sentences] #53

I am rushing between teaching classes and I could be mistaken.
Nope you are not mistaken.

I just quickly looked to see if it could be the same problem as with
Xaster.http://www.skytraq.com.tw/datasheet/S1216V8_v0.9.pdf
What exactly do you want to do that you are trying to configure Direwolf
to do? Perhaps I can suggest another way.

/Basil


Brian Badger
 

Direwolf uses the GPSD wire interface (which is JSON based) not NMEA.


Brian N0KZ

On Apr 22, 2019, at 2:29 PM, Basil Gunn <basil@pacabunga.com> wrote:


David,

Ways to read GPS sentences to verify:

gpsmon
cgps
gpspipe -r
gpspipe -R
gpspipe -w

# or kill gpsd
systemctl stop gpsd

# and
cat -v /dev/ttySC0

See answers embedded.

David Lowry <huskyrunnr@msn.com> writes:

From the Direwolf User Guide: Dire Wolf reads NMEA sentences ( $GPRMC
and $GPGGA ) from the receiver and parses them to extract position
information.

Whereas the SkyTraq model we have apparently does not support either
sentence. Please confirm this,
More than likely this is the case because the issue FIXED in Xastir was
this:
Unable to get GPS data from DRAWS hat [because Xastir does not support
GNGGA or GNRMC sentences] #53

I am rushing between teaching classes and I could be mistaken.
Nope you are not mistaken.

I just quickly looked to see if it could be the same problem as with
Xaster.http://www.skytraq.com.tw/datasheet/S1216V8_v0.9.pdf
What exactly do you want to do that you are trying to configure Direwolf
to do? Perhaps I can suggest another way.

/Basil



 

Thanks Basil, I'm good. If I want to beacon, I'll do it the way you suggested with beacmin or btest and crontab. I was taking a stab at OP's problem with TBEACON in Dire Wolf, thinking it is similar to the Xaster issue. I was initially interested in TBEACON because this fellow (VK3IL) uses TBEACON and gpsd, switching direwolf function on the fly by overwriting the direwolf.config file on the fly according to a BCD switch. I don't think I'm going this route any longer so beaconing your way is fine.

https://vk3il.net/projects/raspberry-pi-based-aprs-trackerdigipeaterigate/


Basil Gunn
 

Regardless of the format (string, json, xml) all the GPS information
comes in sentences. If you look at the sentences in what ever format you
will find that the SkyTraq Venus 8 GPS module used on the DRAWS board
outputs NMEA-0183 V3.01 sentences. The way Tom Russo fixed Xastir he
parsed GN sentences as well as the old style GP sentences ie. GNGGA as
well as the older GPGGA sentences. Direwolf needs to do the same or you
can solve your problem in some other way.
/Basil


Brian Badger <brian@badgerfamily.com> writes:

Direwolf uses the GPSD wire interface (which is JSON based) not NMEA.


Brian N0KZ
On Apr 22, 2019, at 2:29 PM, Basil Gunn <basil@pacabunga.com> wrote:


David,

Ways to read GPS sentences to verify:

gpsmon
cgps
gpspipe -r
gpspipe -R
gpspipe -w

# or kill gpsd
systemctl stop gpsd

# and
cat -v /dev/ttySC0

See answers embedded.

David Lowry <huskyrunnr@msn.com> writes:

From the Direwolf User Guide: Dire Wolf reads NMEA sentences ( $GPRMC
and $GPGGA ) from the receiver and parses them to extract position
information.

Whereas the SkyTraq model we have apparently does not support either
sentence. Please confirm this,
More than likely this is the case because the issue FIXED in Xastir was
this:
Unable to get GPS data from DRAWS hat [because Xastir does not support
GNGGA or GNRMC sentences] #53

I am rushing between teaching classes and I could be mistaken.
Nope you are not mistaken.

I just quickly looked to see if it could be the same problem as with
Xaster.http://www.skytraq.com.tw/datasheet/S1216V8_v0.9.pdf
What exactly do you want to do that you are trying to configure Direwolf
to do? Perhaps I can suggest another way.

/Basil



 

A response from John Langner WB2OSZ:

There are two distinct cases here.

 

 

GPS Data

 

The GPS receiver is usually connected to a serial port or USB which ends up looking like a serial port.  One way is for the applications to connect directly to the GPS receiver.  In the Dire Wolf configuration, use something like one of these:

 

GPSNMEA  COM22

GPSNMEA  /dev/ttyACM0

GPS is not the only game in town anymore.  Other countries are in various stages of deploying their own similar systems.  Many newer receivers can decode multiple types of signals for redundancy and greater accuracy.  In this case the NMEA sentences begin with $GN rather than $GP.  Dire Wolf version 1.6 (currently the dev branch) recognizes this additional prefix.

 

 

 

The problem with this approach is that only a single application can access the GPS receiver.  A better approach is available on Linux.  GPSD talks directly to the GPS receiver.   Other applications talk to GPSD at the same time.  This can even be used to set the real-time clock with NTP or Chrony.

In this case, the Dire Wolf configuration file only needs a like this to obtain location from GPS:

 

GPSD

 

In this case, GPSD is responsible for parsing the NMEA sentences and boiling it all down go a common form.  The applications don’t know or care if the NMEA sentences started with $GP, $GN, or some other talker identifier.

 

 

 



John D. Hays
Edmonds, WA
K7VE

   


Brian Badger
 

Basil,

This is not how gpsd works at all.  Direwolf works with gpsd regardless of the underlying NMEA sentence format.  This is what a gpsd position looks like:

{"class":"TPV","device":"/dev/pts/1", "time":"2005-06-08T10:34:48.283Z","ept":0.005, "lat":46.498293369,"lon":7.567411672,"alt":1343.127, "eph":36.000,"epv":32.321, "track":10.3788,"speed":0.091,"climb":-0.085,"mode":3}
There is no GNGGA, there is no GPGGA.  No change is required.  Direwolf just works.
Brian N0KZ


On Apr 22, 2019, at 3:27 PM, Basil Gunn <basil@...> wrote:


Regardless of the format (string, json, xml) all the GPS information
comes in sentences. If you look at the sentences in what ever format you
will find that the SkyTraq Venus 8 GPS module used on the DRAWS board
outputs NMEA-0183 V3.01 sentences. The way Tom Russo fixed Xastir he
parsed GN sentences as well as the old style GP sentences ie. GNGGA as
well as the older GPGGA sentences. Direwolf needs to do the same or you
can solve your problem in some other way.
/Basil


Brian Badger <brian@...> writes:

Direwolf uses the GPSD wire interface (which is JSON based) not NMEA.


Brian N0KZ
On Apr 22, 2019, at 2:29 PM, Basil Gunn <basil@...> wrote:


David,

Ways to read GPS sentences to verify:

gpsmon
cgps
gpspipe -r
gpspipe -R
gpspipe -w

# or kill gpsd
systemctl stop gpsd

# and
cat -v /dev/ttySC0

See answers embedded.

David Lowry <huskyrunnr@...> writes:

From the Direwolf User Guide: Dire Wolf reads NMEA sentences ( $GPRMC
and $GPGGA ) from the receiver and parses them to extract position
information.

Whereas the SkyTraq model we have apparently does not support either
sentence. Please confirm this,

More than likely this is the case because the issue FIXED in Xastir was
this:
Unable to get GPS data from DRAWS hat [because Xastir does not support
GNGGA or GNRMC sentences] #53

I am rushing between teaching classes and I could be mistaken.

Nope you are not mistaken.

I just quickly looked to see if it could be the same problem as with
Xaster.http://www.skytraq.com.tw/datasheet/S1216V8_v0.9.pdf

What exactly do you want to do that you are trying to configure Direwolf
to do? Perhaps I can suggest another way.

/Basil









Basil Gunn
 

The recent DRAWS BETA images have this version of Direwolf:
Dire Wolf DEVELOPMENT version 1.6 B (Feb 27 2019)

In this case the NMEA sentences begin with $GN rather than $GP. Dire
Wolf version 1.6 (currently the dev branch) recognizes this additional
prefix.


Basil Gunn
 

Brian Badger <brian@badgerfamily.com> writes:

This is not how gpsd works at all. Direwolf works with gpsd
regardless of the underlying NMEA sentence format. This is what a
gpsd position looks like:
I get that the GPSD wire protocol is a json encapsulation. What you
don't get is that besides the json encap you can pull NEMA sentences,
gps binary and native gpsd sentences out of gpsd as well.

I am not using gpsd with direwolf. I only use direwolf as a sound
modem. I do use gpsd with other APRS apps or in my my beacon scripts
btest.sh beacmin.sh. If you have problems using GPSD with direwolf
please let John Langner WB2OSZ know about it.

The discussion I'm more interested in is the problem I have not seen
before that Jeff N0GQ & Josh KB6FJ described about GPS timeouts.

/Basil


William McKeehan (KI4HDU)
 

I have confirmed that building Direwolf from the dev branch (enabling
GPSD support) does result in Direwolf working with the DRAWS GPS.

Apr 23 07:23:36 ki4hdu-draws direwolf[2195]: Dire Wolf DEVELOPMENT
version 1.6 B (Apr 23 2019)
Apr 23 07:23:36 ki4hdu-draws direwolf[2195]: Includes optional support
for: gpsd hamlib

On Tue, Apr 23, 2019 at 1:09 AM Basil Gunn <basil@pacabunga.com> wrote:


The recent DRAWS BETA images have this version of Direwolf:
Dire Wolf DEVELOPMENT version 1.6 B (Feb 27 2019)

In this case the NMEA sentences begin with $GN rather than $GP. Dire
Wolf version 1.6 (currently the dev branch) recognizes this additional
prefix.

--
William
KI4HDU