Bonjour je ne parviens pas a connecter mon GPS Garmin Etrex par USB.
J'ai suivi le tuto https://doc.ubuntu-fr.org/gps#garmin mais je ne parviens pas à créer le fichier .rules en mode administrateur.
Merci pour votre aide.
Salut,

La commande suivante devrait créer le fichier /etc/udev/rules.d/51-garmin.rules avec le bon contenu, tel que dans la page de doc que tu cites.
(Attention: j'ai mis xxxx et yyyy que tu dois remplacer par les bonnes valeurs obtenues pour ton appareil en passant la commande lsusb avec l'appareil branché sur un port USB) :
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", ATTR{idProduct}=="yyyy", MODE="0666"' | sudo tee /etc/udev/rules.d/51-garmin.rules
Si ce fichier existe déjà, la commande en écrasera le contenu.

Pour recharger les règles udev une fois le fichier créé (avec les bonnes valeurs pour idVendor et idProduct...), faire:
sudo udevadm control --reload-rules && sudo udevadm trigger
...ou simplement redémarrer.

Je ne saurais dire si cette manip sera efficace au niveau de l'accès à l'appareil, par contre.
Pour annuler la manip, si désiré, simplement effacer le fichier:
sudo rm /etc/udev/rules.d/51-garmin.rules
A+
Merci mais lorsque je tape cette commande voila ce qu'il se passe petit copier coller... que Faire?
/etc/udev/rules.d/51-garmin.rules
bash: /etc/udev/rules.d/51-garmin.rules: Aucun fichier ou dossier de ce type
Salut,

Premièrement, as-tu vérifié à l'aide de la commande lsusb la valeur pour idVendor et idProduct de ton appareil, réfère-toi à la doc que tu cites au commentaire #1.

Ensuite, la commande à passer pour créer le fichier de règle udev est:
.....@......:~$ echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="xxxx", ATTR{idProduct}=="yyyy", MODE="0666"'| sudo tee /etc/udev/rules.d/51-garmin.rules
...en ayant pris soin de remplacer xxxx et yyyy par les valeurs obtenues pour ton appareil avec la commande lsusb.

Ce que tu as fait au commentaire #3 représente simplement le chemin absolu vers le fichier 51-garmin.rules, pas une commande exécutable par «bash».

A+
Merci, le fichier est créé. Je suis un novice sur ubuntu ...
Je vais maintenant tenter la suite de la procédure pour y accéder via le logiciel.
MERCI encore. Bonne soirée
apparement c'est un echec...
copier-coller de l'appli :
gpsbabel -w -r -t -i garmin -f usb: -o gdb -F /home/poloetclem/Documents/gps/test.gdb
Claim interfaced failed: could not claim interface 0: Opération non permise

Error running gpsbabel: Process exited unsucessfully with code 1
si tu as une idée de ce que je dois modifier?
Bonsoir,

Tant mieux pour la création du fichier; pourrais-tu en poster le contenu?
Cette commande devrait le faire:
cat /etc/udev/rules.d/51-garmin.rules
Utilise le retour utilisable de commande pour poster les retours de commandes, c'est beaucoup plus facile à déchiffrer ainsi.

Je ne connais pas gpsbabel, désolé. As-tu consulté cette page de la doc: https://doc.ubuntu-fr.org/gpsbabel ?

A+
Bonjour,

Pour ajouter toi-même les balises code à tes précédents messages #3 et #6 : Merci 😉
  • Cliquer sur le lien « Modifier » en bas à droite du message
  • Sélectionner le texte
  • Cliquer sur le <> de l'éditeur de message


comme indiqué dans le : Retour utilisable de commande

_ _ _

Donne le retour de :
lsusb
@xubu1957:

Bonsoir,

Ça expliquerait ce retour:
PoloHelle, au commentaire #6 a écritClaim interfaced failed: could not claim interface 0: Opération non permise
Ce genre de retour indique en général qu'il faudrait lancer la commande en «root».

A+
ylag a écritBonsoir,

Tant mieux pour la création du fichier; pourrais-tu en poster le contenu?
Cette commande devrait le faire:
cat /etc/udev/rules.d/51-garmin.rules
Utilise le retour utilisable de commande pour poster les retours de commandes, c'est beaucoup plus facile à déchiffrer ainsi.

Je ne connais pas gpsbabel, désolé. As-tu consulté cette page de la doc: https://doc.ubuntu-fr.org/gpsbabel ?

A+
voici le resultat
cat /etc/udev/rules.d/51-garmin.rules
SUBSYSTEM==usb, ATTR{idVendor}==091e, ATTR{idProduct}==0003, MODE=0666
xubu1957 a écritBonjour,

Pour ajouter toi-même les balises code à tes précédents messages #3 et #6 :
  • Cliquer sur le lien « Modifier » en bas à droite du message
  • Sélectionner le texte
  • Cliquer sur le <> de l'éditeur de message
http://pix.tdct.org/upload/img/1530289742.png

comme indiqué dans le : Retour utilisable de commande

_ _ _

Donne le retour de :
lsusb
voici le retour
 lsusb
Bus 009 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 002: ID 2109:3431 VIA Labs, Inc. Hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 004: ID 04b8:0899 Seiko Epson Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 004: ID 1a2c:2124 China Resource Semico Co., Ltd 
Bus 004 Device 002: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0480:a00e Toshiba America Inc 
Bus 001 Device 002: ID 058f:6364 Alcor Micro Corp. AU6477 Card Reader Controller
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 091e:0003 Garmin International GPS (various models)
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Par contre je ne comprends pas trop comment résoudre le bug via le lien cité...
Bonjour,

Nota

Tu n'est pas obligé de citer in extenso le message précédent, pour faciliter la lecture de la discussion.
Règles du forum a écritPolitesse
(...)
3. Utilisez la citation avec modération : il ne sert à rien de citer l'intégralité du post précédent.
(...)
règles du forum

Il faut attendre ylag ou des aidants spécialistes pour Garmin.

_ _ _

Il y a eu cette très ancienne réponse > [Résolu] Garmin Forunner 205
Bonjour,

Je ne connais pas ce type d'appareil, désolé. Je n'ai que suggéré la façon de créer la règle udev recommandée dans la doc citée au commentaire #1.
Tu pourrais peut-être tenter la commande du commentaire #6 en mode «root»:
sudo gpsbabel -w -r -t -i garmin -f usb: -o gdb -F /home/poloetclem/Documents/gps/test.gdb
Si le fichier test.gdb se crée correctement et que le propriétaire en est «root», il faudrait alors passer la commande:
sudo chown $USER:$USER /home/poloetclem/Documents/gps/test.gdb
...pour remettre le bon propriétaire sur ce fichier. (Où $USER représente ton nom d'utilisateur normal, qui serait poloetclem je crois.)

Il faudrait peut-être faire une demande sur un forum spécialisé dans les appareils Garmin, tel celui cité par @xubu1957 au commentaire #13:
gpspassion.com

A+
Salut,

Le lien cité par @xubu1957 au commentaire #15 semble très prometteur, certainement à étudier de près 🙂

A+
Bonsoir,

Si on utilise la procédure du lien de @xubu1957 au commentaire #15, voici une série d'étapes qui s'appliqueraient dans ton cas:

Débuter en vérifiant que le module garmin_gps est bien «blacklisté» et ne peut se charger au démarrage (je crois que c'est le cas par défaut depuis plusieurs versions d'Ubuntu).
La commande suivante: grep garmin_gps /etc/modprobe.d/* vérifie que ce module est spécifié dans la liste des modules «blacklistés»:
yvan@yvan-maison:~$ grep garmin_gps /etc/modprobe.d/*
/etc/modprobe.d/blacklist.conf:blacklist garmin_gps
yvan@yvan-maison:~$
...c'est tout bon sur ma 18.04, il y a une déjà une ligne «blacklist» concernant ce module dans le fichier /etc/modprobe.d/blacklist.conf.

Si et seulement si chez-toi la commande précédente ne retourne rien, on ajouterait alors une ligne blacklist garmin_gps dans /etc/modprobe.d/blacklist.conf de cette façon:
echo blacklist garmin_gps | sudo tee -a /etc/modprobe.d/blacklist.conf
Par acquis de conscience, on vérifie avec lsmod | grep garmin_gps si le module n'est pas chargé actuellement. Cette commande ne doit donner aucun retour:
yvan@yvan-maison:~$ lsmod | grep garmin_gps
yvan@yvan-maison:~$
...c'est bon pour moi de ce côté.


On s'occupe ensuite des permissions d'accès à l'appareil pour l'utilisateur en modifiant la règle udev de cette façon:
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="091e", ATTR{idProduct}=="0003", MODE="0666", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/51-garmin.rules 
...la commande va remplacer le contenu de 51-garmin.rules en y ajoutant à la fin: GROUP="plugdev". Si le fichier avait été effacé, il sera recréé.

Vérifier ensuite que ton utilisateur poloetclem fasse bien partie du groupe plugdev en passant la commande:
groups poloetclem
...qui devrait inclure plugdev dans le retour.

Sinon, pour ajouter l'utilisateur à ce groupe:
sudo adduser poloetclem plugdev
Recharge ensuite les règles udev pour prendre en compte la modification:
sudo udevadm control --reload-rules && sudo udevadm trigger
...ou carrément redémarrer la machine.

À ce stade, si tout est conforme, la commande ls -l /dev/bus/usb/003/002 (si les valeurs pour Bus=003 et Device=002 n'ont pas changées entre-temps -> toujours vérifier avec un lsusb) devrait retourner quelque chose de semblable à:
crw-rw-rw- 1 root plugdev 189, 28 Jul 10 20:36 /dev/bus/usb/003/002
Resterait alors à voir si ces manips te permettent d'accéder à l'appareil?

Si pas déjà fait, je te conseillerais aussi d'installer l'interface graphique de gpsbabel par le paquet gpsbabel-gui:
sudo apt install gpsbabel-gui
...pour voir si son interface ne te serait pas plus conviviale que la ligne de commande pour communiquer avec l'appareil ?

En espérant que le tout ne te semble pas trop confus et puisse t'être utile.

A+
bonjour,
Merci pour ces détails.

Tout va bien jusqu'à la dernière étapes...
~$ ls -l /dev/bus/usb/003/002
crw-rw-r-- 1 root root 189, 257 oct.   3 15:58 /dev/bus/usb/003/002
pourquoi root root et non root plugdev ?

Et lorsque je tente un import fichier ca ne fonctionne pas...

je désespère un peu...
Je suis également en root root sur mon etrex legend hcx et ça fonctionne.
Le problème ne semble pas venir des droits
Salut,

Es-tu certain que l'appareil était sur le Bus=003 Device=002 ?

Je crois aussi qu'il est possible que la règle udev suggérée au commentaire #17 soit mal formée par ma faute (désolé...). (Je modifie mes commentaires #2, #4 et #17 en conséquence).
J'aurais dû le voir au retour de ton commentaire #11 🙁

Essaie plutôt cette commande, qui ajoute « ' » au début et à la fin de la ligne à mettre dans le fichier par la commande echo:
echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="091e", ATTR{idProduct}=="0003", MODE="0666", GROUP="plugdev"' | sudo tee /etc/udev/rules.d/51-garmin.rules
Pour que tout soit bon, le retour de: cat /etc/udev/rules.d/51-garmin.rules devrait donner:
SUBSYSTEM=="usb", ATTR{idVendor}=="091e", ATTR{idProduct}=="0003", MODE="0666", GROUP="plugdev"
...avec des guillemets.
Redémarre ensuite ?

Si tu es sur un ordi portable et que tu utilises tlp ou laptop-mode-tools pour la gestion de l'énergie, il y aurait une manip supplémentaire à effectuer; réfère-toi dans ce cas au lien cité par @xubu1957 au commentaire #15 à la section: "Blacklist the Garmin GPS in the power settings file" pour voir ce qu'il faudrait faire en plus.
Voir aussi dans cette discussion au sujet de la gestion de l'énergie:
[SOLVED] Garmin Etrex and gpsbabel: connection fails

A+