Instalé OpenCPN en 18.04 y compré un receptor GPS USB Glonass BN-808. Aparentemente es UBLOX M8030, aunque no estoy seguro de lo que eso significa realmente, pero se supone que es compatible con Linux. Sin embargo, mientraslsusbPuede ver el receptor en el bus 001, dispositivo 003 (que no se parece en nada al formato tty o /dev solicitado por OpenCPN), Ubuntu no puede leer ningún dato de dicho receptor. He seguido las instrucciones del manual de OpenCPN pero sin éxito. ¿Alguien tiene alguna sugerencia? gracias dave
EDITAR 1: Salida para tail -f /var/log/syslog
Ejecuté tail -f /var/log/syslog y obtuve un resultado mucho mayor que el tuyo, nada de lo cual tenía sentido para mí.
Se detectó el receptor ublox pero desde allí la salida decía:
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.
Ejecuté apt-get install gpsd-clients anteriormente pero no estoy seguro de si se cargó correctamente; vi la palabra "fallar" varias veces.
Respuesta1
La mejor manera de asegurarse de que sea detectado es verificar /var/log/syslog
su conexión:
- Desconectar el receptor GNSS
- Abra la terminal y ejecute
tail -f /var/log/syslog
el comando - Conecte el receptor GNSS y espere su inicialización.
Para mi u-blox7 GPS/GLONASS tengo el siguiente resultado:
22 de mayo 23:50:08 nombre de host kernel: [99544.380440] usb 3-2: nuevo dispositivo USB de velocidad completa número 12 usando xhci_hcd
22 de mayo 23:50:08 nombre de host kernel: [99544.509111]usb 3-2: Se encontró un nuevo dispositivo USB, idVendor=1546, idProduct=01a7
22 de mayo 23:50:08 nombre de host kernel: [99544.509115] usb 3-2: Nuevas cadenas de dispositivos USB: Mfr=1, Producto=2, SerialNumber=0
22 de mayo 23:50:08 nombre de host kernel: [99544.509117]usb 3-2: Producto: u-blox 7 - Receptor GPS/GNSS
22 de mayo 23:50:08 nombre de host kernel: [99544.509119]usb 3-2: Fabricante: u-blox AG - www.u-blox.com
22 de mayo 23:50:08 nombre de host kernel: [99544.509363] usb 3-2: ep 0x83 - intervalo de redondeo a 1024 microframes, ep desc dice 2040 microframes
22 de mayo 23:50:08 nombre de host mtp-probe: comprobando bus 3, dispositivo 12 : "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-2"
22 de mayo 23:50:08 nombre de host mtp-probe: bus: 3, dispositivo: 12 no era un dispositivo MTP
22 de mayo 23 :50:08 nombre de host kernel: [99544.537420]cdc_acm 3-2:1.0: ttyACM0: dispositivo USB ACM
22 de mayo 23:50:08 kernel de nombre de host: [99544.538041] usbcore: nuevo controlador de interfaz registrado cdc_acm
22 de mayo 23:50:08 kernel de nombre de host: [99544.538044] cdc_acm: controlador de modelo de control abstracto USB para módems USB y adaptadores RDSI
Tenga en cuenta las líneas en negrita de arriba: vemos que es realmenteu-blox 7y que sea reconocido como puerto serie -ttyACM0(en realidad /dev/ttyACM0
).
Para probar el receptor GNSS, puede utilizar gpsmon
(decodificará NMEA en hora, latitud, longitud y otros datos):
- Instalar
gpsmon
consudo apt-get install gpsd-clients
- Inicie
gpsmon
el puerto serie encontrado consudo gpsmon /dev/ttyACM0
- Espere GNSS para encontrar satélites y obtener datos NMEA.
Nota: para tener acceso a los puertos serie como usuario normal, debe agregar su usuario al dialout
grupo con sudo usermod -a -G dialout $USER
.
Respuesta2
Su kernel no maneja el tipo correctamente.
Cree un archivo: /etc/udev/rules.d/49-ublox.rules Diga con el comando:
sudo nano /etc/udev/rules.d/49-ublox.rules
y ponga el siguiente texto en él:
# 1546:01a8 - uBlox Receiver
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a8", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a8", ENV{MTP_NO_PROBE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a8", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a8", MODE:="0666"
Luego reinicie o escriba:
sudo udevadm control --reload-rules
Luego vuelva a enchufar el dispositivo. El dispositivo debería aparecer como /dev/ttyACM0 (el número puede cambiar). Luego puedes continuar con las respuestas anteriores.