GPSD doesn't recognice Garmin USB GPS until I kill GPSD.

As soon as I boot, if I run gpsmon i receive the following:

if I run “sudo killall gpsd” and then start gpsmon again, it starts working.

lsusb shows the device connected every time.

Bus 001 Device 002: ID 091e:0003 Garmin International GPS (various models)

/dev/ttyUSB0 is always present.

GPS is Garmin 18x USB


I think this issue is a little far from our support scope. Since the app/driver are all from 3rdparty, we should let other forum user to share their experience.

If it turns out there is any problem in nvidia driver, please let me know.

Keep in mind that USB is just a kind of pipe to the actual driver. You could watch “dmesg --follow” and see what happens when it drops out or comes back. Posting the dmesg which occurs during issues might say something.

On the other hand, the serial UART is not the actual GPS, so although UART failures would cause a GPS failure (assuming data transfer must exist), somewhere there is a driver which determines what goes across the UART…if that driver determining what data to communicate has problems there isn’t much we could do about it. If it is the UART or USB having issues, then perhaps we can help. You really need logs with details to be able to say much of anything.

I don’t know enough about GPSD, but I have been modifying the file in /etc/defaults/gpsd to address hot plug issues.

This is just a guess, but perhaps the driver depends on a udev renaming and the ttyUSB0 (default) naming is confusing it. I would have programmed to use the manufacturer and device ID if this would be specific to one GPS, but udev would have been the way to go if the daemon supports multiple GPS.

I will suggest checking with the gpsd software specs to see what it uses for device file naming. It may be as simple as adding ttyUSB0 to a file to name it, or perhaps a symbolic link (a udev rule is a lot more reliable, but other methods are easy to test before using a udev rule). Regardless, you need to know what gpsd wants for file naming before you can do much more.