gpsd-users
[Top][All Lists]
Advanced

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

[gpsd-users] Product Report: ublox USB dongle on Debian 9.5


From: Charles Curley
Subject: [gpsd-users] Product Report: ublox USB dongle on Debian 9.5
Date: Fri, 26 Oct 2018 14:56:37 -0600

My GlobalSat BU 353 having died on me, I ordered a ublox based dongle
from Amazon.
https://www.amazon.com/gp/product/B071XY4R26/ref=3Doh_aui_detailpage_o00_s00?ie=3DUTF8&psc=3D1
That page identifies it as having a ublox 8 engine.

Once I got it working, it seems to be rock solid. I have it on the
north side of a house with metal siding and a metal roof, just outside
a window. It reports seeing approximately 22 satellites, and using
about 16 in the fix. That compares very favorably with the BU 353. It
is well worth the $20 (plus shipping, if any, and tax).

The ublox u-center 8.26 Windows software installs and runs fine on
Windows 7, and the dongle runs, and delivers correct fixes, etc.
u-center reports that it sees the dongle at com4, 9600 baud. Start,
stop and checksum aspects of the connection are not reported. The
device delivers both NMEA and UBX sentences. It seems to be picking up
both GPS and GLONASS satellites.

Something on u-center indicates that the dongle may be a "ublox
M8/8". Googling on that turned up a product spec, revision R15, which
is dated 6 March 2018.
https://www.u-blox.com/sites/default/files/products/documents/u-blox8-M8_ReceiverDescrProtSpec_%28UBX-13003221%29_Public.pdf

u-center reports, in part:

--------------------------------------------------
19:30:00  $GNTXT,01,01,02,ANTSTATUS=3DOK*25
19:30:00  $GNTXT,01,01,02,u-blox AG - www.u-blox.com*4E
19:30:00  $GNTXT,01,01,02,HW UBX-M8030 00080000*60
19:30:00  $GNTXT,01,01,02,ROM CORE 3.01 (107888)*2B
19:30:00  $GNTXT,01,01,02,FWVER=3DSPG 3.01*46
19:30:00  $GNTXT,01,01,02,PROTVER=3D18.00*11
19:30:00  $GNTXT,01,01,02,GPS;GLO;GAL;BDS*77
19:30:00  $GNTXT,01,01,02,SBAS;IMES;QZSS*49
19:30:00  $GNTXT,01,01,02,GNSS OTP=3DGPS;GLO*37
19:30:00  $GNTXT,01,01,02,LLC=3DFFFFFFFF-FFFFFFED-FFFFFFFF-FFFFFFFF-FFFFFFF=D*2E
19:30:00  $GNTXT,01,01,02,ANTSUPERV=3DAC SD PDoS SR*3E
19:30:00  $GNTXT,01,01,02,ANTSTATUS=3DOK*25
19:30:00  $GNTXT,01,01,02,PF=3D3FF*4B
--------------------------------------------------

The device appears to self-identify as a UBX-M8030 00080000. The
product sheet is at https://www.u-blox.com/en/product/ubx-m8030-series

On Debian 9.5, stretch, udev appears to do its thing correctly. lsusb
identifies the device as:

Bus 002 Device 009: ID 1546:01a8 U-Blox AG

udev correctly identifies the thing, and correctly installs the
cdc_acm module. I see the device file:

crw-rw---- 1 root dialout 166, 0 Oct 24 12:42 /dev/ttyACM0

So far so good. Now, how does one tell gpsd where to find the thing?

I installed my own copy of /etc/systemd/gpsd.service, modified it to
read:

--------------------------------------------------
# If you change this, run "systemctl daemon-reload".

[Unit]
Description=GPS (Global Positioning System) Daemon
Requires=gpsd.socket
# Needed with chrony SOCK refclock
After=chronyd.service

[Service]
Type=forking
# PIDfile=/var/run/gpsd.pid
# EnvironmentFile=-/etc/default/gpsd

# -n: "don't wait for client connects to poll GPS". Per email from
# Gary Miller, Subject: Re: [gpsd-users] Is a GPS devices present?
# Date: Thu, 21 Sep 2017 11:37:31 -0700

# -b: Do not attempt to autobaud.

# For built from git.

# globalsat bu 353:
# ExecStart=/usr/local/sbin/gpsd -nG /dev/ttyUSB0
# ublox:
ExecStart=/usr/local/sbin/gpsd -nGb /dev/ttyACM0

# For debian package
# ExecStart=/usr/sbin/gpsd -G /dev/ttyUSB0


[Install]
WantedBy=multi-user.target
Also=gpsd.socket
--------------------------------------------------

N.b.: I am not sure the -b option to gpsd is necessary. I have not
experimented with it.

Using the line from the current gpsd version of gpsd.service:

ExecStart=/usr/local/sbin/gpsd $GPSD_OPTIONS $OPTIONS $DEVICES

does not work.

--------------------------------------------------
address@hidden:~# systemctl status gpsd.service
● gpsd.service - GPS (Global Positioning System) Daemon
   Loaded: loaded (/etc/systemd/system/gpsd.service; disabled; vendor preset: 
enabled)
   Active: active (running) since Fri 2018-10-26 13:50:36 MDT; 37s ago
  Process: 9583 ExecStart=/usr/local/sbin/gpsd $GPSD_OPTIONS $OPTIONS $DEVICES 
(code=exited, status=0/SUCCESS)
 Main PID: 9584 (gpsd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/gpsd.service
           └─9584 /usr/local/sbin/gpsd

Oct 26 13:50:36 hawk systemd[1]: Starting GPS (Global Positioning System) 
Daemon...
Oct 26 13:50:36 hawk systemd[1]: Started GPS (Global Positioning System) Daemon.
address@hidden:~# ps aux | grep -i gpsd ; ll /dev/ttyUSB* /dev/ttyA*
nobody    9584  0.0  0.0  43820  3112 ?        S<s  13:50   0:00 
/usr/local/sbin/gpsd
root      9594  0.0  0.0  12784  1020 pts/1    S+   13:51   0:00 grep 
--colour=auto -i gpsd
ls: cannot access '/dev/ttyUSB*': No such file or directory
crw-rw---- 1 root dialout 166, 0 Oct 24 21:03 /dev/ttyACM0
address@hidden:~# 
--------------------------------------------------

Something for further research: can we get udev to report the device
name to systemd so systemd can feed it to gpsd.service? Something like
what I think the current gpsd version of gpsd.service is supposed to
do, but apparently doesn't.



-- 
"When we talk of civilization, we are too apt to limit the meaning of
the word to its mere embellishments, such as arts and sciences; but
the true distinction between it and barbarism is, that the one
presents a state of society under the protection of just and
well-administered law, and the other is left to the chance government
of brute force."
- The Rev. James White, Eighteen Christian Centuries, 1889
Key fingerprint = CE5C 6645 A45A 64E4 94C0  809C FFF6 4C48 4ECD DFDB
https://charlescurley.com



reply via email to

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