Instalei o OpenCPN em 18.04 e comprei um receptor GPS USB Glonass BN-808. Aparentemente, é UBLOX M8030, embora eu não tenha certeza do que isso realmente significa, mas é suposto ser compatível com Linux. Contudo enquantolsusbpode ver o receptor no barramento 001 dispositivo 003 (que não é nada parecido com o formato tty ou /dev solicitado pelo OpenCPN), o Ubuntu não pode ler nenhum dado do referido receptor. Segui as instruções do manual do OpenCPN, mas sem sucesso. Alguém tem alguma sugestão? Obrigado Dave
EDITAR 1: Saída para tail -f /var/log/syslog
Executei tail -f /var/log/syslog e obtive uma saída muito maior do que a sua, nada disso fazia sentido para mim.
O receptor Ublox foi detectado, mas a partir daí a saída foi:
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.
Executei apt-get install gpsd-clients anteriormente, mas não tenho certeza se ele carregou corretamente, vi a palavra “fail” algumas vezes.
Responder1
A melhor maneira de garantir que ele seja detectado é verificar /var/log/syslog
sua conexão:
- Desconecte o receptor GNSS
- Abra o terminal e execute
tail -f /var/log/syslog
o comando - Conecte o receptor GNSS e aguarde sua inicialização
Para meu GPS/GLONASS u-blox7, tenho a seguinte saída:
22 de maio 23:50:08 kernel do nome do host: [99544.380440] usb 3-2: novo dispositivo USB de velocidade total número 12 usando xhci_hcd
22 de maio 23:50:08 kernel do nome do host: [99544.509111]usb 3-2: Novo dispositivo USB encontrado, idVendor=1546, idProduct=01a7
22 de maio 23:50:08 kernel do nome do host: [99544.509115] usb 3-2: Novas strings de dispositivo USB: Mfr = 1, Produto = 2, SerialNumber = 0
22 de maio 23:50:08 kernel do nome do host: [99544.509117]usb 3-2: Produto: u-blox 7 - Receptor GPS/GNSS
22 de maio 23:50:08 nome do host kernel: [99544.509119]usb 3-2: Fabricante: u-blox AG - www.u-blox.com
22 de maio 23:50:08 nome do host kernel: [99544.509363] usb 3-2: ep 0x83 - intervalo de arredondamento para 1024 microframes, ep desc diz 2040 microframes
22 de maio 23:50:08 nome do host mtp-probe: verificando o barramento 3, dispositivo 12 : "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-2"
22 de maio 23:50:08 nome do host mtp-probe: barramento: 3, dispositivo: 12 não era um dispositivo MTP
22 de maio 23 :50:08 nome do host kernel: [99544.537420]cdc_acm 3-2:1.0: ttyACM0: dispositivo USB ACM
22 de maio 23:50:08 kernel do nome do host: [99544.538041] usbcore: novo driver de interface registrado cdc_acm
22 de maio 23:50:08 kernel do nome do host: [99544.538044] cdc_acm: driver USB Abstract Control Model para modems USB e adaptadores ISDN
Observe as linhas em negrito acima - vemos que é realmenteu-blox 7e que seja reconhecida como porta serial -ttyACM0(realmente /dev/ttyACM0
).
Para testar o receptor GNSS você pode usar gpsmon
(ele decodificará NMEA para hora, latitude, longitude e outros dados):
- Instalar
gpsmon
comsudo apt-get install gpsd-clients
- Inicie
gpsmon
a porta serial encontrada comsudo gpsmon /dev/ttyACM0
- Espere o GNSS encontrar satélites e obter dados NMEA.
Nota: para ter acesso às portas seriais como usuário normal, você precisa adicionar seu usuário ao dialout
grupo com sudo usermod -a -G dialout $USER
.
Responder2
Seu kernel não está manipulando o tipo corretamente.
Crie um arquivo: /etc/udev/rules.d/49-ublox.rules Diga pelo comando:
sudo nano /etc/udev/rules.d/49-ublox.rules
e coloque o seguinte texto nele:
# 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"
Em seguida, reinicie ou escreva:
sudo udevadm control --reload-rules
Depois disso, conecte o dispositivo novamente. O dispositivo deve aparecer como /dev/ttyACM0 (o número pode mudar). Então você pode continuar com as respostas anteriores.