18.04에 OpenCPN을 설치했고 Glonass BN-808 USB GPS 수신기를 구입했습니다. 실제로는 무엇을 의미하는지 잘 모르겠지만 UBLOX M8030인 것 같지만 Linux에서 지원될 것으로 예상됩니다. 그러나 동안lsusb버스 001 장치 003(OpenCPN에서 요청한 tty 또는 /dev 형식과 전혀 다름)에서 수신기를 볼 수 있지만 Ubuntu는 해당 수신기에서 데이터를 읽을 수 없습니다. OpenCPN 매뉴얼의 지침을 따랐지만 성공하지 못했습니다. 누구든지 어떤 제안이 있나요? 고마워요 데이브
편집 1: tail -f /var/log/syslog에 대한 출력
나는 tail -f /var/log/syslog를 실행했고 당신이 했던 것보다 훨씬 더 큰 출력을 얻었지만 그 중 아무것도 나에게 이해가 되지 않았습니다.
ublox 수신기가 감지되었지만 거기에서 출력이 읽혔습니다.
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.
이전에 apt-get install gpsd-clients를 실행했지만 올바르게 로드되었는지 확신할 수 없었습니다. "실패"라는 단어를 몇 번 보았습니다.
답변1
감지되었는지 확인하는 가장 좋은 방법은 /var/log/syslog
연결을 확인하는 것입니다.
- GNSS 수신기 연결 해제
- 터미널을 열고
tail -f /var/log/syslog
명령을 실행하세요 - GNSS 수신기를 연결하고 초기화를 기다립니다.
내 u-blox7 GPS/GLONASS의 경우 다음과 같은 출력이 있습니다.
5월 22일 23:50:08 호스트 이름 커널: [99544.380440] usb 3-2: xhci_hcd를 사용하는 새로운 전속 USB 장치 번호 12
5월 22일 23:50:08 호스트 이름 커널: [99544.509111]usb 3-2: 새 USB 장치 발견, idVendor=1546, idProduct=01a7
5월 22일 23:50:08 호스트 이름 커널: [99544.509115] usb 3-2: 새 USB 장치 문자열: Mfr=1, Product=2, SerialNumber=0
5월 22일 23:50:08 호스트 이름 커널: [99544.509117]usb 3-2: 제품: u-blox 7 - GPS/GNSS 수신기
5월 22일 23:50:08 호스트 이름 커널: [99544.509119]USB 3-2: 제조업체: u-blox AG - www.u-blox.com
5월 22일 23:50:08 호스트 이름 커널: [99544.509363] usb 3-2: ep 0x83 - 1024 마이크로프레임으로 반올림 간격, ep desc에 2040 마이크로프레임이라고 표시됨
5월 22일 23:50:08 호스트 이름 mtp-probe: 버스 3 확인, 장치 12 : "/sys/devices/pci0000:00/0000:00:14.0/usb3/3-2"
5월 22일 23:50:08 호스트 이름 mtp-probe: 버스: 3, 장치: 12는 MTP 장치가 아닙니다.
5월 22일 23 :50:08 호스트 이름 커널: [99544.537420]cdc_acm 3-2:1.0: ttyACM0: USB ACM 장치
5월 22일 23:50:08 호스트 이름 커널: [99544.538041] usbcore: 등록된 새 인터페이스 드라이버 cdc_acm
5월 22일 23:50:08 호스트 이름 커널: [99544.538044] cdc_acm: USB 모뎀 및 ISDN 어댑터용 USB 추상 제어 모델 드라이버
위의 굵은 선을 참고하세요. 실제로는 그렇습니다.유블럭스 7직렬 포트로 인식됩니다.ttyACM0(정말 /dev/ttyACM0
).
GNSS 수신기를 테스트하려면 다음을 사용할 수 있습니다 gpsmon
(NMEA를 시간, 위도, 경도 및 기타 데이터로 디코딩함).
gpsmon
다음으로 설치sudo apt-get install gpsd-clients
gpsmon
다음을 사용하여 발견된 직렬 포트를 실행합니다 .sudo gpsmon /dev/ttyACM0
- 위성을 찾고 NMEA 데이터를 얻으려면 GNSS를 기다립니다.
참고: 일반 사용자로 직렬 포트에 액세스하려면 을 사용하여 사용자를 그룹에 추가해야 dialout
합니다 sudo usermod -a -G dialout $USER
.
답변2
커널이 유형을 올바르게 처리하지 않습니다.
파일 만들기: /etc/udev/rules.d/49-ublox.rules 다음 명령을 사용하여 말하세요.
sudo nano /etc/udev/rules.d/49-ublox.rules
그리고 그 안에 다음 텍스트를 넣으세요:
# 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"
그런 다음 다시 시작하거나 다음을 작성하십시오.
sudo udevadm control --reload-rules
그런 다음 장치를 다시 연결하십시오. 장치는 /dev/ttyACM0으로 표시되어야 합니다(번호는 변경될 수 있음). 그런 다음 이전 답변에서 계속할 수 있습니다.