I have a GPS receiver BU-353 with USB interface and I'm trying to get it working under Ubuntu.
I ran gpsd -n -N -D 2 /dev/ttyUSB0
, and got this output:
gpsd: launching (Version 2.94)
gpsd: listening on port gpsd
gpsd: running with effective group ID 1000
gpsd: running with effective user ID 1000
gpsd: opening GPS data source type 3 at '/dev/ttyUSB0'
gpsd: speed 38400, 8N1
gpsd: Garmin: garmin_gps Linux USB module not active.
gpsd: speed 9600, 8O1
gpsd: speed 38400, 8N1
gpsd: gpsd_activate(): opened GPS (fd 6)
gpsd: speed 4800, 8N1
gpsd: NTPD ntpd_link_activate: 0
gpsd: /dev/ttyUSB0 identified as type SiRF binary (2.687608 sec @ 4800bps)
gpsd: detaching 127.0.0.1 (sub 1, fd 8) in detach_client
gpsd: detaching 127.0.0.1 (sub 1, fd 8) in detach_client
After this I started tangoGPS, which said no GPS and no GPSD found.
BU-353 is known to work with gpsd.
Try the
-b
flag (for example,gpsd -b /dev/ttyUSB0
)Open a separate terminal window and run
gpsmon
(included in the 'gpsd-clients' package) to check gpsd output. Restart gpsmon each time you restart gpsd.Could tango be starting too soon? The dongle requires a few seconds to sort out the signals, identify satellites, and calculate a fix; udev requires a few seconds to start gpsd, which in turn requires a few seconds to probe the dongle (which may not be ready yet) and begin broadcasting useful information when the data stream finally begins.
gpsmon
can help diagnose that problem, too.If there's no gpsd output, then do a more detailed check. Do the following steps in order to test the dongle, the kernel module, the mount, the device node, and gpsd:
sudo pkill gpsd
). Wait 10 seconds for/dev/ttyUSB0
to be freed.dmesg | tail -n 5
to verify the dongle was really mounted to/dev/ttyUSB0
. If it doesn't mount, then you're missing a kernel module (from your description, that's unlikely). Sometimes it gets mounted to/dev/ttyUSB1
if0
isn't free!ps -e | grep gpsd
). If not, then you have a udev rules issue, and you must start gpsd manually withgpsd /dev/ttyUSB0
Once gpsd is running, check for dongle output (dongle output = gpsd input). Try
cat /dev/ttyUSB0
(stop it with CTRL+c). If that fails, then try resetting the baud rate to 4800:gpsmon
orcgps
to test gpsd output.I was having a similar problem. I did everything here and still couldn't get it to work in openCPN. I stumbled on to another forum that said to try changing the default settings for gpsd at
/etc/default/gpsd
to this.to my surprise it worked.