gpsd
を妨げている原因を突き止めようとしています USB経由で外部GPSBU353ドングルに自動的に接続し、データを受信します。 (ハードウェアが異なる)両方のラップトップで同じ問題が発生しているため、これは純粋にソフトウェア構成の問題です。
gpsd
を取得できました 次の手順を使用して手動で作業しますが、マシンの電源を切るたびに、これらの手順を再度実行する必要があります。
-
sudo killall gpsd
-
ソケットをすべて削除します
を残した可能性がありますgpsd
:sudo rm /var/run/gpsd.sock
-
デバイスパスを確認します:
dmesg - which shows PLU353
-
他のプログラムがデバイスを使用していないことを確認してください。リストされているものはありません
lsof -n | grep /dev/ttyUSB0
-
gpsd
を手動で起動します :sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
-
xgps
GPS出力を確認します–これは機能します
私の推測では、gpsd
グループに参加するか、追加の権限を付与する必要があります。あるいは、udev
の問題である必要があります。 構成。しかし、私は暗闇の中で大失敗し、ただ野蛮な推測をしているだけです。
承認された回答:
正解です。これはグループメンバーシップの問題です。まず、デバイスの所有者を確認します:
ls -l /dev/ttyUSB0
私のシステムでは、/dev/ttyUSB0
がありません 、したがって、/dev/ttyS0
を使用します 代わりに
[email protected]:~(0)$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Feb 23 08:19 /dev/ttyS0
[email protected]:~(0)$
ls
の出力 コマンドは、それがroot:dialout
によって所有されていることを示しています 、デバイスへのグループアクセスを許可します。
ユーザーをdialout
に追加します (またはシステムに適したもの)グループ:
sudo adduser $USER dialout
次に、このグループメンバーシップを有効にするには、ログアウト/ログイン、またはnewgrp dialout
そのグループメンバーシップでシェルを開始します。
/usr/bin/id
でグループメンバーシップを確認してください 。