私は18.04でOpenCPNをインストールし、Glonass BN-808 USB GPSレシーバーを購入しました。これはUBLOX M8030のようですが、それが実際に何を意味するのかはわかりませんが、Linuxでサポートされているはずです。しかし、lsusb はバス 001 デバイス 003 の受信機は見えますが (これは OpenCPN が要求する tty や /dev 形式とはまったく異なります)、Ubuntu は上記の受信機からデータを読み取ることができません。OpenCPN マニュアルの指示に従いましたが、うまくいきませんでした。何かアドバイスはありますか? Dave さん、ありがとうございます。
編集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 記述は 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
- GNSS が衛星を見つけて NMEA データを取得するまで待機します。
注: 通常のユーザーとしてシリアル ポートにアクセスするには、 でユーザーをグループに追加する必要があり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 として表示されます (番号は変わる場合があります)。その後、前の回答から続行できます。