Я использую GPSd v3.17-5 из репозитория Ubuntu Bionic.
У меня проблема с тем, что GPSd просто отказывается отвечать на новые клиентские подключения.
Ниже приведендамп из lsof
, который показывает, как gpsmon
подключен (вы можете видеть, что gpsd и gpsmon установили соединения), но мое python
соединение установлено только на стороне Python.
root@machine:~# lsof -n -P -i TCP:2947
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root 57u IPv6 39371 0t0 TCP [::1]:2947 (LISTEN)
systemd 1 root 58u IPv4 40365 0t0 TCP 127.0.0.1:2947 (LISTEN)
gpsd 949 gpsd 4u IPv6 39371 0t0 TCP [::1]:2947 (LISTEN)
gpsd 949 gpsd 5u IPv4 40365 0t0 TCP 127.0.0.1:2947 (LISTEN)
gpsd 949 gpsd 7u IPv4 59781 0t0 TCP 127.0.0.1:2947->127.0.0.1:41656 (ESTABLISHED)
gpsmon 3289 root 3u IPv4 60651 0t0 TCP 127.0.0.1:41656->127.0.0.1:2947 (ESTABLISHED)
python 3387 root 5u IPv4 61892 0t0 TCP 127.0.0.1:41662->127.0.0.1:2947 (ESTABLISHED)
ЕслиЯ убиваю gpsmon
, он также не сможет восстановить соединение и просто сидит без дела.
root@machine:~# lsof -n -P -i TCP:2947
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root 57u IPv6 39371 0t0 TCP [::1]:2947 (LISTEN)
systemd 1 root 58u IPv4 40365 0t0 TCP 127.0.0.1:2947 (LISTEN)
gpsd 949 gpsd 4u IPv6 39371 0t0 TCP [::1]:2947 (LISTEN)
gpsd 949 gpsd 5u IPv4 40365 0t0 TCP 127.0.0.1:2947 (LISTEN)
python 3508 root 5u IPv4 64143 0t0 TCP 127.0.0.1:55999->127.0.0.1:2947 (ESTABLISHED)
gpsmon 6157 root 3u IPv4 64311 0t0 TCP 127.0.0.1:41678->127.0.0.1:2947 (ESTABLISHED)
Я пытался отключить gpsd.socket
через systemctl
, но мои результаты после перезагрузки ничем не отличаются. Первое соединение с клиентом выглядит нормально, но после этого это дерьмовый выстрел.
Я понятия не имею, как решить эту проблему. У кого-нибудь есть идеи, с чего начать? Там нет ошибок или каких-либо сообщений, что что-то не так в journalctl -u gpsd
.
Есть ли что-то лучше, чем GPSd? Кажется, это стандарт де-факто, но есть немало недостатков. Мое самое большое требование - я не могу вручную указать устройство GPS, так как это часть службы безголовой связи.
Спасибо за любую помощь / направление / предложения.