I have installed OpenCPN in 18.04 and I bought a Glonass BN-808 USB GPS Receiver. It is apparently UBLOX M8030 although I'm not sure what that actually means, but it is supposed to be supported in Linux. However while lsusb can see the receiver at bus 001 device 003 ( which is nothing like the tty or /dev format requested by OpenCPN ), Ubuntu cannot read any data from said receiver. I have followed the instructions in the OpenCPN manual but with no success. Anyone have any suggestions? Thanks Dave
EDIT 1: Output for tail -f /var/log/syslog
I ran tail -f /var/log/syslog and got a much larger output than you did, none of which made any sense to me.
The ublox receiver was detectedbut from there the output read:
May 23 15:34:19 dave-Aspire-ES1-523 kernel: [ 1018.870051] usb 1-1.1: New USB device found, idVendor=1546, idProduct=01a8
May 23 15:34:19 dave-Aspire-ES1-523 kernel: [ 1018.870060] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
May 23 15:34:19 dave-Aspire-ES1-523 kernel: [ 1018.870064] usb 1-1.1: Product: u-blox GNSS receiver
May 23 15:34:19 dave-Aspire-ES1-523 kernel: [ 1018.870068] usb 1-1.1: Manufacturer: u-blox AG - www.u-blox.com
May 23 15:34:20 dave-Aspire-ES1-523 mtp-probe: checking bus 1, device 5: "/sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1"
May 23 15:34:20 dave-Aspire-ES1-523 mtp-probe: bus: 1, device: 5 was not an MTP device
May 23 15:34:20 dave-Aspire-ES1-523 kernel: [ 1019.001058] cdc_acm 1-1.1:1.0: ttyACM0: USB ACM device
May 23 15:34:20 dave-Aspire-ES1-523 kernel: [ 1019.001512] usbcore: registered new interface driver cdc_acm
May 23 15:34:20 dave-Aspire-ES1-523 kernel: [ 1019.001513] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
May 23 15:34:20 dave-Aspire-ES1-523 upowerd[1059]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1
May 23 15:34:20 dave-Aspire-ES1-523 upowerd[1059]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1:1.1
May 23 15:34:20 dave-Aspire-ES1-523 upowerd[1059]: unhandled action 'bind' on /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1/1-1.1:1.0
May 23 15:34:31 dave-Aspire-ES1-523 ModemManager[831]: [device /sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1] creating modem with plugin 'u-blox' and '1' ports
May 23 15:34:31 dave-Aspire-ES1-523 ModemManager[831]: Could not grab port (tty/ttyACM0): 'Cannot add port 'tty/ttyACM0', unhandled serial type'
May 23 15:34:31 dave-Aspire-ES1-523 ModemManager[831]: Couldn't create modem for device '/sys/devices/pci0000:00/0000:00:12.0/usb1/1-1/1-1.1': Failed to find primary AT port
May 23 15:42:58 dave-Aspire-ES1-523 systemd-resolved[770]: Grace period over, resuming full feature set (UDP+EDNS0) for DNS server fe80::8e0d:76ff:fe57:2816%3.
May 23 15:48:17 dave-Aspire-ES1-523 systemd-resolved[770]: Grace period over, resuming full feature set (UDP+EDNS0) for DNS server 192.168.1.1.
May 23 15:48:19 dave-Aspire-ES1-523 systemd-resolved[770]: Using degraded feature set (UDP) for DNS server fe80::8e0d:76ff:fe57:2816%3.
May 23 15:50:31 dave-Aspire-ES1-523 systemd-resolved[770]: Using degraded feature set (UDP) for DNS server 192.168.1.1.
I ran apt-get install gpsd-clients earlier but I’m not sure if it loaded correctly, I did see the word “fail” a few times.
The best way to ensure that it is detected is to check
/var/log/syslog
on its connection:tail -f /var/log/syslog
commandFor my u-blox7 GPS/GLONASS I have the following output:
Note the bold lines above - we see that it is really u-blox 7 and that it is recognized as serial port - ttyACM0 (really
/dev/ttyACM0
).To test the GNSS receiver you can use
gpsmon
(it will decode NMEA to time, latitude, longitude and other data):gpsmon
withsudo apt-get install gpsd-clients
gpsmon
for the found serial port withsudo gpsmon /dev/ttyACM0
Note: to have access to serial ports as normal user, you need to add your user to the
dialout
group withsudo usermod -a -G dialout $USER
.Your kernel is not handling the type correctly.
Create a file: /etc/udev/rules.d/49-ublox.rules
Then either restart or do:
After which plug the device again. The device should show up as /dev/ttyACM0 (the number might change). Then you can continue from the previous answers.