J'essaie de comprendre ce qui empêche gpsd
de se connecter automatiquement à un dongle GPS BU 353 externe via USB et de recevoir des données. J'ai le même problème sur mes deux ordinateurs portables (avec un matériel différent), il s'agit donc uniquement d'un problème de configuration logicielle.
J'ai réussi à obtenir gpsd
travaillant manuellement, en suivant les étapes suivantes, mais chaque fois que ma machine est éteinte, je dois recommencer ces étapes.
-
sudo killall gpsd
-
Supprimez toutes les sockets
gpsd
aurait pu laisser derrière lui avec :sudo rm /var/run/gpsd.sock
-
Vérifiez le chemin de l'appareil :
dmesg - which shows PLU353
-
Assurez-vous qu'aucun autre programme n'utilise l'appareil. Il n'y en a pas dans la liste
lsof -n | grep /dev/ttyUSB0
-
Lancer manuellement
gpsd
:sudo gpsd /dev/ttyUSB0 -F /var/run/gpsd.sock
-
xgps
voit la sortie GPS - donc cela fonctionne
Mes meilleures suppositions sont que gpsd
doit rejoindre un groupe ou recevoir des autorisations supplémentaires, ou alternativement, qu'il s'agit d'un problème avec udev
configuration. Mais je gaffe dans le noir, je fais juste des suppositions folles.
Réponse acceptée :
Vous avez raison - c'est un problème d'appartenance à un groupe. Commencez par déterminer à qui appartient l'appareil :
ls -l /dev/ttyUSB0
Sur MON système, je n'ai pas /dev/ttyUSB0
, donc je vais utiliser /dev/ttyS0
à la place
[email protected]:~(0)$ ls -l /dev/ttyS0
crw-rw---- 1 root dialout 4, 64 Feb 23 08:19 /dev/ttyS0
[email protected]:~(0)$
La sortie de ls
La commande indique qu'elle appartient à root:dialout
, et autorise l'accès de groupe à l'appareil.
Ajoutez votre utilisateur au dialout
(ou tout ce qui convient à votre système) groupez avec :
sudo adduser $USER dialout
Ensuite, pour que l'appartenance à ce groupe prenne effet, déconnectez-vous/connectez-vous, OU newgrp dialout
pour démarrer un shell avec cette appartenance au groupe.
Vérifiez votre appartenance au groupe avec /usr/bin/id
.