Я пытаюсь выяснить, что предотвращает gpsd
от автоматического соединения до внешнего аппаратного ключа GPS BU 353 через USB и получение данных. У меня есть та же проблема об обоих из моих ноутбуков (с другими аппаратными средствами), таким образом, это - просто проблема конфигурации программного обеспечения.
Мне удалось добраться gpsd
работая вручную, с помощью следующих шагов, но каждый раз, когда моя машина выключается, я должен пройти эти шаги снова.
sudo killall gpsd
Удалите любые сокеты gpsd
возможно, оставил позади с:
комната sudo/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
вместо этого
walt@bat:~(0)$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Feb 23 08:19 /dev/ttyS0
walt@bat:~(0)$
Вывод ls
управляйте показывает, что это принадлежит root:dialout
, и позволяет групповой доступ к устройству.
Добавьте своего пользователя к dialout
(или независимо от того, что является правильным для Вашей системы), группа с:
sudo adduser $USER dialout
Затем, чтобы заставить этот состав группы вступить в силу, выйдите из системы/войдите, ИЛИ newgrp dialout
запустить оболочку с того состава группы.
Проверьте свой состав группы с /usr/bin/id
.
terminal
... sudo adduser $USER dialout
# добавьте пользователя для группировки dialoutsudo -H gedit /etc/default/gpsd
# отредактируйте gpsd файл настроекDEVICES=""
кому: DEVICES="/dev/ttyUSB0"
# Ваше имя/dev может отличатьсяsudo systemctl restart gpsd
# перезапуск gpsdgpsmon, cgps, и xgps будут теперь работать правильно.