首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GPSD不响应新连接

GPSD不响应新连接
EN

Stack Overflow用户
提问于 2019-10-05 04:23:32
回答 1查看 166关注 0票数 1

我使用的是Ubuntu的仿生库中的GPSd v3.17-5。

我遇到了一个问题,GPSd只是拒绝响应新的客户端连接。

下面是来自lsof的转储文件,它显示了gpsmon是如何连接的(您可以看到gpsd和gpsmon都已经建立了连接),但是我的python连接只在Python端建立。

代码语言:javascript
复制
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,它也不能重新连接,只能坐着不动。

代码语言:javascript
复制
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)

我尝试过通过systemctl禁用gpsd.socket,但重启后的结果没有什么不同。第一个客户端连接看起来很好,但之后就很糟糕了。

我不知道如何解决这个问题。有人知道从哪里开始吗?journalctl -u gpsd中没有错误,也没有任何错误消息。

还有比GPSd更好的东西吗?它似乎是事实上的标准,但也有相当多的缺点。我最大的要求是我不能手动指定GPS设备,因为这是无头服务的一部分。

感谢您的帮助/指导/建议。

EN

回答 1

Stack Overflow用户

发布于 2019-10-05 14:24:13

在监控syslog之后,我注意到当我插入我的GPS设备时,ModemManager发出警告,说它无法为我的设备创建调制解调器。

代码语言:javascript
复制
Oct  4 23:03:47 ubuntu ModemManager[681]: <info>  [device /sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2.2] creating modem with plugin 'u-blox' and '1' ports
Oct  4 23:03:47 ubuntu ModemManager[681]: <warn>  Could not grab port (tty/ttyACM0): 'Cannot add port 'tty/ttyACM0', unhandled serial type'
Oct  4 23:03:47 ubuntu ModemManager[681]: <warn>  Couldn't create modem for device '/sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb2/2-2/2-2.2': Failed to find primary AT port

我猜ModemManager最终将接管设备,而GPSd将失去连接,并永远阻塞等待响应。这都是预感,但是禁用ModemManager解决了我所有的问题!

代码语言:javascript
复制
systemctl disable ModemManager.service
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58242803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档