Le problème de la détection d’un GPS par Linux :
Pour ne pas avoir de problème avec son GPS, il faut le déclarer dans la liste des périphériques connus et figer son nom de « device ». Par défaut le GPS est vu comme un port TTY /dev/ttyUSBxxx et suite à une limite de OpenCPN son nom va changer en fonction de son ordre de branchement ou des cycles de mise en sommeil, réveil du PC.
Comment faire ?
Utiliser le mode « super utilisateur »
La manip ci après fonctionne parfaitement quel que soit la distribution Linux choisie avec ou sans GPSd et/ou AIS. La Manip à faire n’est pas compliquée mais impose d’utiliser une console en mode super utilisateur car il n’y a pas d’interface graphique correspondant à ce type d’opération.
Les manips suivantes devraient plus être intégrées dans le tutoriel OpenCPN pour Linux, mais comme je ne sais comment ajouter un chapitre au wiki, voici la suite des opérations à faire pour ne plus avoir de problème avec votre nom de « device » GPS sous Linux.
Séquence :
- 1) repérer le numéro constructeur de votre GPS. Pour cela utiliser la commande « lsusb » la taper deux fois : avec le GPS branché et débranché pour trouver la ligne qui lui correspond. Et noter les deux chiffres derrière « ID » exemple ; 10c4:ea60 de votre GPS.
- 2) créer un fichier de règles qui correspondent à votre GPS dans la liste des périphériques connus. avec une ligne de la forme
SUBSYSTEM==« tty », ATTRSidVendor==« 10c4 », ATTRSidProduct==« ea60 », SYMLINK=« gps-usb »
en replaçant 10c4 et ea60 par les valeurs correspondants à votre GPS le fichier doit avoir un nom comme 70-persistent-usb-gps.rules - 3) placer le fichier dans le répertoire /etc/udev/rules.d/
- 4) relancer le gestionnaire de périphérique pour valider votre fichier de configuration commande : « sudo restart udev » A noter que si « sudo restart UDEV » fonctionnne sur Ubunty/Mint sur OpenSuSE.CentOs, la commande doit etre prefixée par « systemctl » il faut donc taper « sudo systemctl restart udev »
- 5) débrancher et rebrancher votre GPS (qui est maintenant connus) A chaque fois que vous le branché Linux va créer le périphérique /dev/gps-usb avec toujours le même nom.
- 5.5 [Autoriser l’accès aux périphériques RS232]. Depuis 2013 l’installation par défaut de tous les Linux bloque l’acces direct au périphériques USB et donc en standard interdit à OpenCPN d’utiliser les GPS/USB. Pour autoriser cet acces vous devez valider la commande suivante : « sudo usermod -a -G dialout $LOGNAME » Attention : cette commande n’est prise en compte qu’après une déconnexion/reconnexion ou un reboot de la machine.
- 6) Aller dans open CPN et entrer /dev/gps-usb comme périphérique. Attention il faut taper le nom à la main car il n’apparaît pas dans la liste de périphériques par défaut.
- 7) Vous pouvez maintenant, éteindre et rallumer votre PC sans problème, Opencpn retrouvera toujours votre GPS (il doit toutefois être branché avant le lancement du programme). La manip fonctionne aussi pour un AIS et avec GPSd.
Nota :
- Vous pouvez télécharger un exemple de fichier de règles sur http://www.fridu.org/images/opencpn... il suffit de remplacer les valeurs par celle correspondant à votre GPS ou AIS.
Voir cette vidéo explicite et bien détaillée : installation GPS/USB Linux