Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

petit problème USB

17 réponses
Avatar
Emmanuel Florac
Quand je branche mon appareil photo sur mon PC, je dois soit utiliser
gphoto2 en tant que root, soit faire un chmod a+w sur

/proc/bus/usb/001/<le numéro du device>

Comme le numéro du device change à chaque reconnexion de l'appareil, ça
n'est pas très pratique... Quoi configurer et comment pour changer les
droits par défaut?

--
Dix grammes d'abstraction valent des tonnes de bricolage.
Loi de Booker.

10 réponses

1 2
Avatar
Michel Tatoute


Quand je branche mon appareil photo sur mon PC, je dois soit utiliser
gphoto2 en tant que root, soit faire un chmod a+w sur

/proc/bus/usb/001/<le numéro du device>



met toi dans le groupe de /proc/bus/usb/001/<le numéro du device>

comme ca plus de pb.

Michel.

Avatar
Emmanuel Florac
Le Mon, 14 Jun 2004 09:54:09 +0200, Michel Tatoute a écrit :


met toi dans le groupe de /proc/bus/usb/001/<le numéro du device>


C'est root. Et le groupe n'a pas les droits d'écriture de toute façon,
le masque par défaut est 644, or gphoto2 exige l'accès en écriture.

--
Sutor ne ultra Crepidam.

Avatar
Michel Tatoute

Le Mon, 14 Jun 2004 09:54:09 +0200, Michel Tatoute a écrit :


met toi dans le groupe de /proc/bus/usb/001/<le numéro du device>


C'est root. Et le groupe n'a pas les droits d'écriture de toute façon,
le masque par défaut est 644, or gphoto2 exige l'accès en écriture.


chez moi le groupe c'est usb et les droits sont rw-rw----

Bon, je ne connais pas les arcanes mais je pense que la 1ere question
est: tu utilises devfs? Quelle version du noyau? Quelle distrib?

Michel.


Avatar
TiChou
Dans le message <news:,
*Emmanuel Florac* tapota sur f.c.o.l.configuration :


Quand je branche mon appareil photo sur mon PC, je dois soit utiliser
gphoto2 en tant que root, soit faire un chmod a+w sur

/proc/bus/usb/001/<le numéro du device>

Comme le numéro du device change à chaque reconnexion de l'appareil, ça
n'est pas très pratique... Quoi configurer et comment pour changer les
droits par défaut?


Il faut que le système de fichier usbfs du bus USB soit monté avec les
bonnes options. Malheureusement la plupart des distributions Linux montent
ce système de fichier sans options particulières et de ce fait le
comportement par défaut est que seul root peut contrôler les périphériques
attachés au bus USB.
Donc selon la distribution, il faut modifier le script qui initialise l'USB
ou ajouter une ligne dans le fichier /etc/fstab en mettant les options
devmode et devgid.

Par exemple sur une Gentoo, dans le fichier /etc/init.d/localmount on
remplace les lignes suivantes :

ebegin "Mounting USB device filesystem (${usbfs})"
mount -t ${usbfs} none /proc/bus/usb &>/dev/null

par :

ebegin "Mounting USB device filesystem (${usbfs})"
mount -t ${usbfs} -o devmode64,devgid…
none /proc/bus/usb &>/dev/null

Ou 85 est le gid numérique du groupe usb :

$ grep :85: /etc/group
usb::85:

Sur une Debian, il faut modifier les scripts /etc/init.d/mountvirtfs et
/etc/init.d/mountkernfs et penser à ajouter le groupe usb au système.
Sur d'autres distributions, comme la Slackware, il faut modifier le script
hotplug /etc/hotplug/usb.rc.

Ou bien dans le fichier /etc/fstab :

none /proc/bus/usb usbfs remount,devmode64,devgid… 0 0

L'option remount est là dans le cas où le système de fichier usbfs aurait
déjà été monté par un script d'initialisation ou par les scripts hotplug.

Ensuite, de la même manière que pour l'accès aux périphériques audio et le
groupe audio, les utilisateurs qui devront utiliser les périphériques USB,
devront être membre du groupe usb.
Il y a d'autres options de montage pour le système de fichier usbfs, non
documentées, mais que je vais expliquer brièvement :

devmode, devuid et devgid pour définir les permissions sur les devices
/proc/bus/usb/XXX/YYY.
busmode, busuid et busgid pour définir les permissions sur le répertoire
/proc/bus/usb.
listmode, listuid et listgid pour définir les permissions sur les fichiers
/proc/bus/usb/{devices,drivers}.

Une autre possibilité que de monter usbfs avec des options particulières,
est aussi de créer un script que l'on placera le répertoire dans
/etc/hotplug/usb et qui changera les permissions du device (variable $
DEVICE) dès que l'appareil photo identifié sera branché.
Mais cette solution me parait hasardeuse car il faut bien identifier le
couple idVendor et idProduct des appareils photos que l'on branchera.
L'avantage c'est que seul les appareils photos seront accessibles par les
logiciels lancés par l'utilisateur.

--
TiChou

Avatar
Emmanuel Florac
Le Mon, 14 Jun 2004 13:04:59 +0200, Michel Tatoute a écrit :


Bon, je ne connais pas les arcanes mais je pense que la 1ere question
est: tu utilises devfs? Quelle version du noyau? Quelle distrib?


J'ai un point de montage usbdevfs, donc je suppose que j'utilise devfs...
C'est une slackware current, noyau 2.4.26.

--
on passe la moitié de son temps à refaire ce que l'on n'a pas eu le
temps de faire correctement.
Loi de Myers.

Avatar
Emmanuel Florac
Le Mon, 14 Jun 2004 15:27:04 +0200, TiChou a écrit :


Il faut que le système de fichier usbfs du bus USB soit monté avec les
bonnes options.


Aaaah, merci, je pense que là ça va me dépanner :)

--
Le commissaire : Comment vous appelez-vous?
Garance : Moi je ne m'appelle jamais, je suis toujours là. J'ai pas
besoin de m'appeler. Mais les autres m'appellent Garance, si ça peut
vous intéresser.
Prévert,"les enfants du Paradis".

Avatar
Emmanuel Florac
Le Mon, 14 Jun 2004 15:27:04 +0200, TiChou a écrit :


Ou bien dans le fichier /etc/fstab :

none /proc/bus/usb usbfs remount,devmode64,devgid… 0 0

L'option remount est là dans le cas où le système de fichier usbfs aurait
déjà été monté par un script d'initialisation ou par les scripts
hotplug.


Sur la Slack l'option remount ne fonctionne pas... Et j'ai cnagé le gid,
rien à faire, toujours root.root comme user et 644 comme mode! Si je
change à la main en direct, ça ne marche pas non plus (chgrp usb
/proc/bus/usb n'a aucun effet!)

--
Toutes les organisations ont leur règles, et les Femmes Algériennes
doivent avoir aussi leurs règles.
Kaid Ahmed.

Avatar
TiChou
Dans le message <news:,
*Emmanuel Florac* tapota sur f.c.o.l.configuration :

Ou bien dans le fichier /etc/fstab :

none /proc/bus/usb usbfs remount,devmode64,devgid… 0 0

L'option remount est là dans le cas où le système de fichier usbfs aurait
déjà été monté par un script d'initialisation ou par les scripts
hotplug.


Sur la Slack l'option remount ne fonctionne pas...


Non, c'est moi qui est certainement fait une erreur. En y réfléchissant je
doute que l'option remount soit prise en compte quand elle est placée dans
le fichier /etc/fstab.

Et j'ai cnagé le gid, rien à faire, toujours root.root comme user et 644
comme mode!


Tu as procédé comment ?

Si je change à la main en direct, ça ne marche pas non plus (chgrp
usb /proc/bus/usb n'a aucun effet!)


Est-ce que la commande suivante fait bien effet :

mount -o remount,devmode64,devgid˜ /proc/bus/usb

En principe tu devrais avoir les permissions sur tes devices
/proc/bus/usb/XXX/YYY à -rw-rw-r-- et root.nobody.

Si c'est bien le cas, sur ta Slackware, la ligne suivante dans ton
/etc/fstab devrait suffir pour que usbfs soit correctement monté au
démarrage :

none /proc/bus/usb usbfs devmode64,devgid=XX 0 0

où XX est à remplacer par le gid numérique du groupe usb que tu auras créé
vu qu'il n'existe pas par défaut sous Slackware.

--
TiChou


Avatar
no_spam
On Mon, 14 Jun 2004 21:42:54 +0200, Emmanuel Florac wrote:

Le Mon, 14 Jun 2004 13:04:59 +0200, Michel Tatoute a écrit :


Bon, je ne connais pas les arcanes mais je pense que la 1ere question
est: tu utilises devfs? Quelle version du noyau? Quelle distrib?


J'ai un point de montage usbdevfs, donc je suppose que j'utilise devfs...


Petite précision: usbdevfs est un filesystem propre à la couche USB et
n'a aucun rapport avec devfs. Ils sont parfaitement indépendants l'un
de l'autre.


Avatar
Emmanuel Florac
Le Tue, 15 Jun 2004 00:12:40 +0200, no_spam a écrit :


Petite précision: usbdevfs est un filesystem propre à la couche USB et
n'a aucun rapport avec devfs. Ils sont parfaitement indépendants l'un
de l'autre.


Ah d'accord. Quoi qu'il en soit j'ai changé les options dans fstab, j'ai
essayé de démonter, remoonter etc, rien n'y fait : toujours
root.root/644, grrrrr.

--
Le travail est la malédiction des classes qui boivent.
O. Wilde.

1 2