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
gpsdaurait 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 -
xgpsvoit 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 .