Aller au contenu

ttyUSB0 ttyUSB1 et udev


cadkey

Messages recommandés

J'utilise depuis plusieurs année un module USB cartelectronic pour relever les données de mon linky pour ma domotique. Depuis quelques jours, j'ai installé une clé USB Conbee III sur mon 920+ avec deCONZ en docker. Tout fonctionne parfaitement sauf un point lié aux ports USB.

Le NAS attribue les ports au démarrage et à la découverte d'un branchement. Les bauderate de ces deux clés sont différents. Si le système assigne les deux clés sur le même port, ttyUSB0 par exemple, ça ne fonctionne pas. J'ai essayé de modifier ou de créer un fichier de regles .rules avec udev mais les solutions que j'ai trouvé dans mes recherches sur le net passent toutes par SYMLINK qui ne changent pas mon problème. J'ai besoin qu'une clé soit assignée sur ttyUSB0 et l'autre sur ttyUSB1 ou ttyUSB2, peut importe,  mais jamais les deux clés sur le même ttyUSBx.

La solution est probablement dans une regle udev mais je n'arrive pas à la définir.

Lien vers le commentaire
Partager sur d’autres sites

La solution se trouve bien dans les regles c'est à dire dans \lib\udev\rules.d
Dans ce dossier se trouve toutes les regles d'attributions des ports, dont ceux de USB

en tapant:
udevadm info --name=/dev/ttyUSB0 --attribute-walk
puis
udevadm info --name=/dev/ttyUSB1 --attribute-walk
je trouve tous mes devices USB connectés, avec des parametres qui me permettent de les identifier.
Avec ces identifiats propres à chaques devices, j'ai ajouté au fichier 99-systemd.rules les deux lignes suivantes:
KERNEL=="ttyUSB*", ATTRS{serial}=="DA6AVDUK", ATTRS{product}=="Interface USB 1 TIC", ATTRS{manufacturer}=="Cartelectronic", SYMLINK+="ttyUSB5"
KERNEL=="ttyUSB*", ATTRS{serial}=="DE03217673", ATTRS{product}=="ConBee III", ATTRS{manufacturer}=="dresden elektronik", SYMLINK+="ttyUSB6"
juste devant la ligne ci-dessous
SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*|3270/tty[0-9]*", TAG+="systemd"

Dans une règle la ',' (virgule) correpond à ET. Si toutes les conditions de la ligne sont remplies, le lien ttyUSB5 est crée, idem pour le ttyUSB6.
Ainsi les deux devices ne sont jamais sur le meme port tty.
dans mes php docker, je n'adresse plus les ports ttyUSB0 ou ttyUSB1 qui sont attribués suivant l'ordre des devices detectés, mais les ports ttyUSB5 et ttyUSB6.
 

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.