Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Gnomemeeting]Un user ne peut de détecter la Webcam (résolu)
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
Raphux
n00b
n00b


Joined: 11 Sep 2004
Posts: 41
Location: Paris

PostPosted: Mon Sep 27, 2004 6:23 pm    Post subject: [Gnomemeeting]Un user ne peut de détecter la Webcam (résol Reply with quote

Bonjour,

je rencontre un problème avec gnomemeeting. Ce logiciel n'arrive pas à détecter ma webcam quand je le lance avec un user normal. Mais si je lance ce soft avec le compte root, tout se déroule normalement.

Pour les droits,
- les groupes de mon utilisateur:
Code:
$ groups
tty disk wheel audio games users

-les droits sur le périphérique:
Code:
$ ls -la /dev/video*
lrwxrwxrwx  1 root   users      6 sep 27 18:56 /dev/video -> video0
crw-------  1 raphux sys   81,  0 sep 10 00:17 /dev/video0
crw-------  1 raphux sys   81,  1 sep 10 00:17 /dev/video1


Mes droits sont donc à priori bons d'après moi.

Faut-il des droits particuliers pour faire de la détection de périphérique?

Avez-vous une idée sur le pourquoi du comment? :)


Last edited by Raphux on Thu Sep 30, 2004 12:15 pm; edited 1 time in total
Back to top
View user's profile Send private message
Raphux
n00b
n00b


Joined: 11 Sep 2004
Posts: 41
Location: Paris

PostPosted: Tue Sep 28, 2004 11:25 pm    Post subject: On avance.... Reply with quote

Re-bonjour!

N'attendant pas patiemment une réponse, j'ai creusé un peu le problème, et ai trouvé une piste. Seuleument, il me manque encore quelques explications.

Quand je branche ma webcam, un périphérique est crée dans /proc/bus/usb/00x/ avec x = n° du controlleur USB je pense, j'en ai 3, deux usb1 et un usb2:
Code:
0000:00:13.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50)
0000:00:13.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev 50)
0000:00:13.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51)


Seuleument voilà, le périphe qui est créé dans /proc/bus/usb/003 dans mon cas, est créé avec comme user et group "root", et seuleument la lecture pour group et other:
Code:
root@raphux 003 # ls -la
total 0
dr-xr-xr-x  2 root root   0 sep 28 00:42 .
drwxr-xr-x  5 root root   0 sep 28 00:42 ..
-rw-r--r--  1 root root  43 sep 28 21:58 001
-rw-r--r--  1 root root  52 sep 28 21:58 002
-rw-r--r--  1 root root 527 sep 29 01:13 004 <=== la webcam


Une fois que j'ai modifié les droits comme suit, je peux accéder sans problème à la webcam avec gnomemeeting:
Code:
root@raphux 003 # chmod 666 004
root@raphux 003 # ls -la
total 0
dr-xr-xr-x  2 root root   0 sep 28 00:42 .
drwxr-xr-x  5 root root   0 sep 28 00:42 ..
-rw-r--r--  1 root root  43 sep 28 21:58 001
-rw-r--r--  1 root root  52 sep 28 21:58 002
-rw-rw-rw-  1 root root 527 sep 29 01:13 004


Alors voilà, ce que je cherche faire maintenant, c'est d'indiquer à mon système avec quels droits / groupe / user créer le "truc" (je sais pas comment appeller ca.. un fichier?) dans /proc/bus/usb/00x .

Auriez-vous un lien? un manuel? Merci :)
Back to top
View user's profile Send private message
robinhood
Apprentice
Apprentice


Joined: 21 Jun 2004
Posts: 290

PostPosted: Wed Sep 29, 2004 12:54 am    Post subject: Reply with quote

tu utilise udev ou devfs ? Sinon regarde dans le fichier /etc/group, il y a peut etre une entree specifique (je pense au groupe video en particulier)
Back to top
View user's profile Send private message
Raphux
n00b
n00b


Joined: 11 Sep 2004
Posts: 41
Location: Paris

PostPosted: Wed Sep 29, 2004 11:27 am    Post subject: Reply with quote

Bonjour, et merci de cette réponse :). J'utilise UDEV. Mais je ne vois pas le problème avec mon /etc/group, puisque le périph qui est créé dans /dev appartient à mon utilisateur (cf premier post), sinon, mon user n'est en effet pas dans le group vidéo (seul le périphérique Nvidia semble appartenir à ce groupe et non le device correspondant à la webcam).

Ce qu'il me faudrait, c'est modifier les droits / user / group attribués lors de la création de devices dans /dev et /proc.

Auriez-vous une idée?
Back to top
View user's profile Send private message
robinhood
Apprentice
Apprentice


Joined: 21 Jun 2004
Posts: 290

PostPosted: Wed Sep 29, 2004 12:02 pm    Post subject: Reply with quote

avec udev, tu peut fixer les permissions de tes nodes dans /etc/udev/udev.permissions :
Code:
# v4l devices
video*:root:video:0660
radio*:root:video:0660
winradio*:root:video:0660
vtx*:root:video:0660
vbi*:root:video:0660
video/*:root:video:0660 <---------- là
vttuner:root:video:0660
v4l/*:root:video:0660

fait un essai :) mais je suis pas sur :oops:
Back to top
View user's profile Send private message
marvin rouge
Veteran
Veteran


Joined: 01 Aug 2004
Posts: 1422
Location: Villa Lumierrante, Zonelibre

PostPosted: Wed Sep 29, 2004 12:22 pm    Post subject: Reply with quote

tu peux peut etre voir ca: https://forums.gentoo.org/viewtopic.php?p=884976#884976

c'est presque le meme probleme. mais je dois dire que j'ai pas trop réussi a le faire marcher chez moi (j'ai pas encore bien creusé la question)

Ah. il me semble aussi qu'il faut emerger libusb

+

EDIT: voir ici aussi (faut l'adapter a tes besoins, bien sur)
http://khk.net/sane/libusb.html
Back to top
View user's profile Send private message
Talosectos
Guru
Guru


Joined: 31 Aug 2004
Posts: 329
Location: Bugey-Libre

PostPosted: Wed Sep 29, 2004 3:57 pm    Post subject: Reply with quote

Raphux wrote:
Bonjour, et merci de cette réponse :). J'utilise UDEV. Mais je ne vois pas le problème avec mon /etc/group, puisque le périph qui est créé dans /dev appartient à mon utilisateur (cf premier post), sinon, mon user n'est en effet pas dans le group vidéo (seul le périphérique Nvidia semble appartenir à ce groupe et non le device correspondant à la webcam).

Ce qu'il me faudrait, c'est modifier les droits / user / group attribués lors de la création de devices dans /dev et /proc.

Auriez-vous une idée?


tu peux peut être jeter un oeil du coté de console.perms
Code:
vim /etc/security/console.perms

_________________
Comité de lutte contre le language sms et les fautes volontaires
Utilisez la fonction recherche !
Back to top
View user's profile Send private message
marvin rouge
Veteran
Veteran


Joined: 01 Aug 2004
Posts: 1422
Location: Villa Lumierrante, Zonelibre

PostPosted: Wed Sep 29, 2004 4:16 pm    Post subject: Reply with quote

Quote:
tu peux peut être jeter un oeil du coté de console.perms

vim /etc/security/console.perms


si ca marche en passant par console.perms ca m'interresse.

Mais j'y crois pas. Quand tu branches le bidule usb (webcam dans le cas de raphux, scanner dans mon cas) y'a un fichier qui est créé dans /proc/bus/usb/xxx/ avec xxx qui correspond à la prise usb utilisee (si j'ai bien compris). Le fichier c'est un truc genre "002". Tu débranches et tu rebranches ca detruit 002 et ca recree 003. Et c'est sur ce fichier la qu'il faut les droits (utilisateur ou groupe), pas sur un fichier dans /dev (d'ailleurs avec mon scanner j'ai aucun fichier qui se crée dans /dev).

:?
Back to top
View user's profile Send private message
Raphux
n00b
n00b


Joined: 11 Sep 2004
Posts: 41
Location: Paris

PostPosted: Wed Sep 29, 2004 9:45 pm    Post subject: Reply with quote

robinhood wrote:

fait un essai :) mais je suis pas sur :oops:

Ca n'a pas marché. Nan, vraiment, le problème ne se résoud que lorsque je modifie les droits dans /proc/bus/usb/00x . Mon /dev n'a plus besoin d'être modifié après la modif dans /proc. Merci quand même de m'avoir aidé :wink: !!

marvin rouge > Aaah, ca ressemble plus à ca. J'ai un script sur mon system (/etc/hotplug/usb/libusbscanner) qui ai CENCER modifier les droits dans /proc pour mon scanner. Mais je viens de remarquer un truc assez troublant : mon scanner qui marchait bien hier, lors de son installation, ne marche plus aujourd'hui! Je commence un peu à regarder... Même problème!! Les droits dans /proc ne sont pas les bons:
Code:
-rw-r--r--  1 root root 57 Sep 29 23:11 /proc/bus/usb/001/002

je débranche puis rebranche le scanner pour voir, paf! les droits redeviennent bon! :
Code:
-rw-rw----  1 root scanner 57 Sep 29 23:17 004
(increment de 2 , pas compris pourquoi...). Il y a donc bien eu quelque "chose" qui a modifié les droits sur le périphérique dans /proc lors du branchement de mon scanner, "chose" qui ne se fait pas quand je rebranche ma webcam. je pense que cette "chose" est le script cité un peu plus haut, dont voici le contenu:
Code:
# cat /etc/hotplug/usb/libusbscanner
#!/bin/sh

# This file is part of sane-backends.
#
# This script changes the permissions and ownership of a USB device under
# /proc/bus/usb to grant access to this device to users in the scanner group.
#
# Ownership is set to root:scanner, permissions are set to 0660.
#
# Arguments :
# -----------
# ACTION=[add|remove]
# DEVICE=/proc/bus/usb/BBB/DDD
# TYPE=usb


if [ -z "${DEVICE}" ] ; then
        IF=$(echo ${DEVPATH} | sed 's:\(bus/usb/devices/\)\(.*\)-\(.*\):\2:')
        if [ -r /sys/${DEVPATH}/devnum ]; then
             DEV=$(cat /sys/${DEVPATH}/devnum)
        else
             DEV=1 # you'll have to adjust this manually for kernel < 2.6.6
        fi
        DEVICE=$(printf '/proc/bus/usb/%.03d/%.03d' ${IF} ${DEV})
fi

if [ "$ACTION" = "add" -a "$TYPE" = "usb" ]; then
  chown root:scanner "$DEVICE"
  chmod 0660 "$DEVICE"
fi


# That's an insecure but simple alternative
# Everyone has access to the scanner

# if [ "$ACTION" = "add" -a "$TYPE" = "usb" ]; then
#  chmod 0666 "$DEVICE"
# fi

(Le truc qui me taraude, c'est que ce script ne se soit pas executé dès le démarrage de mon system, et que j'ai du débrancher puis rebrancher mon scanner.)

Pour en revenir à la webcam, il suffit donc à mon avis de trouver le script equivalent, qui modifie les droits quand le périphérique est detecté. Mais je ne sais pas comment est appellé ce script. Hotplug?

On avance.. on avance...

PS: marvin rouge > j'ai un scanner epson 1670 que j'ai reussi à faire marcher. Si tu as une question, j'essayerai d'y répondre!
Back to top
View user's profile Send private message
marvin rouge
Veteran
Veteran


Joined: 01 Aug 2004
Posts: 1422
Location: Villa Lumierrante, Zonelibre

PostPosted: Wed Sep 29, 2004 10:14 pm    Post subject: Reply with quote

Quote:
(Le truc qui me taraude, c'est que ce script ne se soit pas executé dès le démarrage de mon system, et que j'ai du débrancher puis rebrancher mon scanner.)


j'ai le meme genre de blague sur les cles usb ou DD externes : au boot les devices sont pas créés correctement, faut les brancher après le boot. A mon avis y'a 2 approches : soit c'est un periph externe qui bouge pas (genre scanner sur une station) et faut trouver une solution (script dans local ? ), soit c'est un periph genre cle usb sur portable qui se branche après le boot et la pas de problème de creation de device avec hotplug.

Quote:
PS: marvin rouge > j'ai un scanner epson 1670 que j'ai reussi à faire marcher. Si tu as une question, j'essayerai d'y répondre!


J'ai un minolta scandual IV (scanner à negatifs). C'est pas reconnu par Sane :( ... donc faudrait que je me paye VueScan.


Bon, pour en revenir aux droits. Si j'ai bien compris, faut brancher, et ensuite
Code:
# cat /proc/bus/usb/device

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  4 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=132b ProdID=000a Rev= 0.01
S:  Manufacturer=KONICA MINOLTA
S:  Product=DiMAGE Scan Dual4
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=00(>ifc ) Sub=00 Prot=00 Driver=(none)
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=82(I) Atr=03(Int.) MxPS=   8 Ivl=125us
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms


De la on en sort Vendor=132b ProdID=000a, qu'il faut mettre en définition dans /etc/hotplug/usb.usermap

Code:
#cat /etc/hotplug/usb.usermap

scandual             0x0003       0x132b    0x000a    0x0000       0x0000  0x00         0x00            0x00            0x00            0x00  0x00               0x00000000

et ensuite creer un script correspondant à la définition:

Code:
#ls -la scandual
-rwxr-xr-x  1 root root 165 sep 20 10:43 scandual

#cat scandual

#!/bin/bash

if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
then
        chown root "${DEVICE}"
        chgrp scanner "${DEVICE}"
        chmod 660 "${DEVICE}"
fi


le probleme c'est que chez moi ca marche pas ...
Code:
#ls -l /proc/bus/usb/001/004
-rw-r--r--  1 root root 57 sep 30 00:06 004


pfff .... :?
Back to top
View user's profile Send private message
Raphux
n00b
n00b


Joined: 11 Sep 2004
Posts: 41
Location: Paris

PostPosted: Thu Sep 30, 2004 1:05 am    Post subject: Reply with quote

Et bien ta méthode marche!!!
Voilà ce que j'ai fait, suivant tes indications:

J'ai modifié le fichier /etc/hotplug/usb.usermap , et ai ajouté la ligne suivante :
Code:
raphux hotplug # cat /etc/hotplug/usb.usermap
# usb module         match_flags idVendor idProduct bcdDevice_lo bcdDevice_hi bDeviceClass bDeviceSubClass bDeviceProtocol bInterfaceClass bInterfaceSubClass bInterfaceProtocol driver_info
quickcam.sh     0x0003  0x046d  0x08b0  0x0000  0x0000  0x0000  0x0000  0x0000  0x000A  0x00FF  0x0000  0x00000000

Déjà là, j'ai rencontré un problème: impossible de trouver comment obtenir le match_flags, bcdDevice_lo, bcdDevice_h et driver_info. J'ai rempli au hazard de réponses google.

Ensuite, j'ai créé le fichier suivant:

Code:
raphux usb # cat /etc/hotplug/usb/quickcam.sh
#!/bin/sh

#Script a lancer dès e l'on connecte une QuickCam"
#Créé par Eric Seigne, le 14/01/2004 pour RyXéo: <eric.seigne at ryxeo.com, modifé par Raphux"

chmod g+w `lsusb | grep QuickCam | cut -d ':' -f1 | awk '{print "/proc/bus/usb/"$2"/"$4}'`
chown :video `lsusb | grep QuickCam | cut -d ':' -f1 | awk '{print "/proc/bus/usb/"$2"/"$4}'`

Comme indiqué dans le fichier, je me suis inspiré d'un script pour un scanner. Le script original est dispo ici: http://www.abul.org/article121.html

J'ai chmod +x ce fichier, et ai redemarré hotplug. Après débranchement puis rebranchement, les droits et group sont bien attribués! Résultat: ca marche!

Reste à voir si au redemarrage de ma machine hotplug executera aussi ce script!
Back to top
View user's profile Send private message
marvin rouge
Veteran
Veteran


Joined: 01 Aug 2004
Posts: 1422
Location: Villa Lumierrante, Zonelibre

PostPosted: Thu Sep 30, 2004 5:56 am    Post subject: Reply with quote

cool !

chez moi ca marche toutjours pas. je vais tester ton script.

+

EDIT : ca marche, meme apres un reboot ...

:)
Back to top
View user's profile Send private message
Raphux
n00b
n00b


Joined: 11 Sep 2004
Posts: 41
Location: Paris

PostPosted: Thu Sep 30, 2004 12:15 pm    Post subject: Reply with quote

De même, tout marche bien chez moi aussi, le problème que j'avais avec le script qui ne s'éxecutait pas au demarrage venait du fait que le daemon hotplug n'était pas lancé, dans aucun runlevel! (j'ai honte :lol:)

J'ai fait un petit coup de rc-update en mettant hotplug dans le runlevel default, et hop!! Tout marche correctement now!

Merci à vous tous!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum