Sto cercando di capire cosa impedisce gpsd
dal collegamento automatico a un dongle GPS BU 353 esterno tramite USB e dalla ricezione dei dati. Ho lo stesso problema su entrambi i miei laptop (con hardware diverso), quindi si tratta esclusivamente di un problema di configurazione software.
Sono riuscito a ottenere gpsd
lavorando manualmente, utilizzando i seguenti passaggi, ma ogni volta che la mia macchina viene spenta, devo ripetere questi passaggi.
-
sudo killall gpsd
-
Rimuovere eventuali socket
gpsd
potrebbe aver lasciato con :sudo rm /var/run/gpsd.sock
-
Controlla il percorso del dispositivo:
dmesg - which shows PLU353
-
Assicurarsi che nessun altro programma stia utilizzando il dispositivo. Non ce ne sono elencati
lsof -n | grep /dev/ttyUSB0
-
Avvia manualmente
gpsd
:sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
-
xgps
vede l'output GPS, quindi funziona
Le mie migliori ipotesi sono che gpsd
deve entrare a far parte di un gruppo o ricevere autorizzazioni aggiuntive o, in alternativa, che si tratta di un problema con udev
configurazione. Ma sto scherzando nel buio, facendo solo supposizioni selvagge.
Risposta accettata:
Hai ragione:è un problema di appartenenza al gruppo. Per prima cosa, guarda chi possiede il dispositivo:
ls -l /dev/ttyUSB0
Sul MIO sistema, non ho /dev/ttyUSB0
, quindi userò /dev/ttyS0
invece
[email protected]:~(0)$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Feb 23 08:19 /dev/ttyS0
[email protected]:~(0)$
L'output di ls
comando mostra che è di proprietà di root:dialout
e consente l'accesso di gruppo al dispositivo.
Aggiungi il tuo utente al dialout
(o qualunque cosa sia giusta per il tuo sistema) gruppo con:
sudo adduser $USER dialout
Quindi, per rendere effettiva questa appartenenza al gruppo, disconnetti/accedi, OPPURE newgrp dialout
per avviare una shell con quell'appartenenza al gruppo.
Controlla l'appartenenza al tuo gruppo con /usr/bin/id
.