logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 29-01-2022 13:34:58

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

[Résolu] Règle udev matchant un lien de /dev/input/by-path

Hello,

Je cherche à créer une règle udev matchant un lien (ou plusieurs) de /dev/input/by-path.
Cela afin de modifier le groupe et les droits des fichiers pointés par ces liens.

J'ai donc essayé, sans succès :

KERNEL=="*event-mouse", SUBSYSTEM=="input/by-path", GROUP="mouse_event", MODE="0660"


J'ai aussi tenté avec DEVPATH=="/dev/input/by-path", DEVPATH="input/by-path" etc
De même avec la clé SUBSYSTEM.

Pour être plus clair sur ce que je veux faire/obtenir :
   - je cherche à "matcher" tous les liens de /dev/input/by-path contenant dans leur noms "event-mouse"
   - pour modifier le groupe et les droits d'accès des fichiers pointés par ces liens (dans /dev/input/) : nouveau groupe = mouse_event, nouveaux droits = 0660
Je me dis qu'en modifiant le groupe et les droits des liens, je modifie aussi les fichiers pointés.

Est-ce possible avec une règle udev ?
Si oui, comment ? je patauge ! tongue
Si non, j'ai déjà un contournement par un service systemd wink

Merci de vos conseils, idées et critiques.

Dernière modification par Tawal (30-01-2022 12:51:26)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#2 29-01-2022 15:01:50

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : [Résolu] Règle udev matchant un lien de /dev/input/by-path

Hello
il faut te servir de udevadm pour soutirer des infos

man udevadm


udevadm info /dev/input/by-path/pci-0000:00:02.0-usb-0:3:1.0-event-mouse


P: /devices/pci0000:00/0000:00:02.0/usb2/2-3/2-3:1.0/0003:0458:0186.0003/input/input8/event5
N: input/event5
L: 0
S: input/by-id/usb-KYE_SYSTEMS_CORP._Wired_Mouse-event-mouse
S: input/by-path/pci-0000:00:02.0-usb-0:3:1.0-event-mouse
E: DEVPATH=/devices/pci0000:00/0000:00:02.0/usb2/2-3/2-3:1.0/0003:0458:0186.0003/input/input8/event5
E: DEVNAME=/dev/input/event5
E: MAJOR=13
E: MINOR=69
E: SUBSYSTEM=input
E: USEC_INITIALIZED=21050307
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_VENDOR=KYE_SYSTEMS_CORP.
E: ID_VENDOR_ENC=KYE\x20SYSTEMS\x20CORP.
E: ID_VENDOR_ID=0458
E: ID_MODEL=Wired_Mouse
E: ID_MODEL_ENC=Wired\x20Mouse
E: ID_MODEL_ID=0186
E: ID_REVISION=2458
E: ID_SERIAL=KYE_SYSTEMS_CORP._Wired_Mouse
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:02.0-usb-0:3:1.0
E: ID_PATH_TAG=pci-0000_00_02_0-usb-0_3_1_0
E: LIBINPUT_DEVICE_GROUP=3/458/186:usb-0000:00:02.0-3
E: DEVLINKS=/dev/input/by-id/usb-KYE_SYSTEMS_CORP._Wired_Mouse-event-mouse /dev/input/by-path/pci-0000:00:02.0-usb-0:3:1.0-event-mouse
 



https://www.linuxembedded.fr/2015/05/un … ion-a-udev

Dernière modification par Croutons (29-01-2022 15:08:28)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#3 29-01-2022 15:45:02

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [Résolu] Règle udev matchant un lien de /dev/input/by-path

C'est ce que je fais, et comme je veux une généralité, je cherche les points communs :

udevadm info /dev/input/by-path/*event-mouse


P: /devices/pci0000:00/0000:00:12.0/usb3/3-2/3-2:1.1/0003:046D:C52F.0004/0003:046D:4019.0005/input/input25/event9
N: input/event9
L: 0
S: input/by-path/pci-0000:00:12.0-usb-0:2:1.1-event-mouse
S: input/by-id/usb-Logitech_USB_Receiver-if01-event-mouse
E: DEVPATH=/devices/pci0000:00/0000:00:12.0/usb3/3-2/3-2:1.1/0003:046D:C52F.0004/0003:046D:4019.0005/input/input25/event9
E: DEVNAME=/dev/input/event9
E: MAJOR=13
E: MINOR=73
E: SUBSYSTEM=input
E: USEC_INITIALIZED=26460003
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_INPUT_KEY=1
E: ID_VENDOR=Logitech
E: ID_VENDOR_ENC=Logitech
E: ID_VENDOR_ID=046d
E: ID_MODEL=USB_Receiver
E: ID_MODEL_ENC=USB\x20Receiver
E: ID_MODEL_ID=c52f
E: ID_REVISION=2201
E: ID_SERIAL=Logitech_USB_Receiver
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:030000:
E: ID_USB_INTERFACE_NUM=01
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:12.0-usb-0:2:1.1
E: ID_PATH_TAG=pci-0000_00_12_0-usb-0_2_1_1
E: XKBMODEL=pc105
E: XKBLAYOUT=fr
E: XKBVARIANT=azerty
E: XKBOPTIONS=compose:lwin,terminate:ctrl_alt_bksp
E: BACKSPACE=guess
E: LIBINPUT_DEVICE_GROUP=3/46d/4019:usb-0000:00:12.0-2
E: DEVLINKS=/dev/input/by-path/pci-0000:00:12.0-usb-0:2:1.1-event-mouse /dev/input/by-id/usb-Logitech_USB_Receiver-if01-event-mouse
E: TAGS=:power-switch:
E: CURRENT_TAGS=:power-switch:

P: /devices/platform/i8042/serio4/input/input13/event8
N: input/event8
L: 0
S: input/by-path/platform-i8042-serio-4-event-mouse
E: DEVPATH=/devices/platform/i8042/serio4/input/input13/event8
E: DEVNAME=/dev/input/event8
E: MAJOR=13
E: MINOR=72
E: SUBSYSTEM=input
E: USEC_INITIALIZED=21196696
E: ID_INPUT=1
E: ID_INPUT_TOUCHPAD=1
E: ID_INPUT_WIDTH_MM=52
E: ID_INPUT_HEIGHT_MM=51
E: ID_BUS=i8042
E: ID_SERIAL=noserial
E: ID_PATH=platform-i8042-serio-4
E: ID_PATH_TAG=platform-i8042-serio-4
E: ID_INPUT_TOUCHPAD_INTEGRATION=internal
E: LIBINPUT_DEVICE_GROUP=11/2/7:isa0060/serio4
E: DEVLINKS=/dev/input/by-path/platform-i8042-serio-4-event-mouse


J'en tire ces points communs (les * remplacent les parties non-communes) :

N: input/event*
L: 0
S: input/by-path/*event-mouse
E: DEVNAME=/dev/input/event*
E: MAJOR=13
E: SUBSYSTEM=input
E: DEVLINKS=/dev/input/by-path/*event-mouse


Il faudrait donc que je tente une règle du genre :

SUBSYSTEM=="input", SYMLINK=="input/by-path/*event-mouse", GROUP:"mouse_event", MODE:="0660"


Déjà testé avec SYMLINK=="/dev/input/by-path/*event-mouse", ne fonctionne pas.

merci.gif

Edit:
Ne fonctionne pas non plus, toujours pas trouvé la bonne règle sad

Dernière modification par Tawal (29-01-2022 18:16:01)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#4 30-01-2022 11:02:57

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : [Résolu] Règle udev matchant un lien de /dev/input/by-path

ba justement je trouvais qu'il y avait pas trop de point commun , et qu'il faudrait plus d'une ligne dans ta règle udev pour que ça match pour tous

udevadm info -a /dev/input/by-path/pci-0000:00:02.0-usb-0:3:1.0-event-mouse


http://dpaste.com//784KJYWKU


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#5 30-01-2022 11:48:30

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Règle udev matchant un lien de /dev/input/by-path

Tawal a écrit :

SUBSYSTEM=="input", SYMLINK=="input/by-path/*event-mouse", GROUP:"mouse_event", MODE:="0660"


Erreur de l'opérateur pour l'affectation de GROUP.


Il vaut mieux montrer que raconter.

Hors ligne

#6 30-01-2022 12:00:50

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [Résolu] Règle udev matchant un lien de /dev/input/by-path

Oui, j'avais vu en regardant les logs, cette erreur m'a été signalée.
Je l'ai corrigée chez moi mais pas ici sad
Toujours est-il que cela ne fonctionne pas.

Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#7 30-01-2022 12:13:22

Croutons
Membre
Distrib. : Debian12
Noyau : Linux 6.1.0-13-amd64
(G)UI : Fluxbox(NakeDeb)
Inscription : 16-12-2016

Re : [Résolu] Règle udev matchant un lien de /dev/input/by-path

udevadm trigger


Pour prise en compte immédiate

Dernière modification par Croutons (30-01-2022 13:22:45)


-->les cahiers du debutant<--      WikiDF-->Découvrir les principales commandes Linux<-- 
L' expérience, c'est le nom que chacun donne à ses erreurs. Oscar Wilde

Hors ligne

#8 30-01-2022 12:21:36

raleur
Membre
Inscription : 03-10-2014

Re : [Résolu] Règle udev matchant un lien de /dev/input/by-path

Tu as nommé le fichier de règle pour qu'il soit exécuté après la création des symlinks ?
Tu as rechargé les règles avec udevadm control --reload ?

Dernière modification par raleur (30-01-2022 12:23:32)


Il vaut mieux montrer que raconter.

Hors ligne

#9 30-01-2022 12:33:32

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [Résolu] Règle udev matchant un lien de /dev/input/by-path

Il me semble bien avoir testé avec un 01 et un 99 en préfixe du nom de fichier de règle (extension .rules).
Mieux que de recharger les règles avec udevadm, j'arrête et redémarre le service complètement :

sudo systemctl stop udev.service systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service
sudo systemctl start udev.service systemd-udevd-control.socket systemd-udevd-kernel.socket systemd-udevd.service


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#10 30-01-2022 12:48:50

Tawal
Membre
Distrib. : Debian Stable à jour
Noyau : amd64
(G)UI : Xfce
Inscription : 25-02-2021

Re : [Résolu] Règle udev matchant un lien de /dev/input/by-path

raleur, tu es pertinent ! Et cela ne m'étonne pas smile
En effet cette règle fonctionne : /etc/udev/rules.d/99-MesMouses.rules

SUBSYSTEM=="input", SYMLINK=="input/by-path/*event-mouse", GROUP="mouse_event", MODE="0660"



Par contre, ni udevadm control --reload , ni le redémarrage du service ne mettait en place la règle.
La commande qui allait bien (sans reboot) est bel et bien sudo udevadm trigger, qui m'a valu une déconnexion de ma session, mais la règle a été appliquée.

Merci à vous, c'est donc résolu smile

Edit: En fait en utilisant udevadm control --reload ou en redémarrant le service udev, la règle ne s'applique qu'aux nouveaux évennements.
C'est à dire qu'en débranchant et rebranchant ma souris USB, la règle s'applique.
Ce qui veut aussi dire qu'elle sera active au prochain démarrage.

Dernière modification par Tawal (30-01-2022 13:06:22)


Comme la science n'est pas infuse, elle se diffuse.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

Pied de page des forums