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 -
xgpsGPS出力を確認します–これは機能します
私の推測では、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でグループメンバーシップを確認してください 。