ユーザプログラムのsystemd自動起動時にGPSがとれない


#1

pythonのプログラムをsystemdのサービス登録して、自動起動しているのですが、
自動起動後、/dev/QWS.EC25.NMEAへの出力が出てこない現象が発生しています。

candy ではGNSSを起動時に立ち上げるよう設定していて、
/dev/QWS.EC25.NMEAの出力をgpsdで受けて位置情報を使っています。

pythonプログラムは以下のUNITとして起動しています。
[Unit]
Description=xxxxxxx
[Service]
ExecStart=/opt/xxxxxx.py
Restart=no
Type=forking
PIDFile=/var/run/xxxxx.pid
[Install]
WantedBy=multi-user.target

systemdでプログラムを自動起動後、sshでログインしてcgpsでみても
/dev/QWS.EC25.NEMAからの出力が来ない状態でした。
その状態で
candy gnss locateを実行すると、位置情報は返ってきたので、GNSSモジュールは動いているけれども、NMEAの出力が動いていないようでした。

ちなみに、systemdのサービスとしてプログラムを起動せず、ログイン後コマンドで実行すると問題なくNMEA出力が取れました。
そのため、今のところsystemdを使わず、rc.localに起動シェルをかいて起動しています。

この件の原因は何でしょうか。
またsystemdの自動起動でNMEA出力をとることはできないでしょうか?


#2

candy-pi-liteサービスの設定にて、GNSS/GPS自動起動を設定されているとのことですが、ログ「/var/log/syslog」にて、以下のどちらかが表示されていますでしょうか?

  • [INFO] GNSS started
  • [WARN] Failed to start GNSS

どちらが出力されているか、またどちらもないかお知らせいただけますか?