Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/02/2007, à 13:04

Alain128

webcam + carte tv et /dev/video

Salut,
je suis sous edgy j'ai une webcam creative et une carte tv qui marche impec. Le seul problème c'est quand je démarre mon PC l'un se met en /dev/video0 et l'autre en /dev/video1 de façon aléatoire donc mes commandes du type xdtv /dev/video0 me lance soit la tv soit la webcam... C'est pas le top. Y a-t-il moyen de fixer la webcam à video0 et la carte tv à video1? ou l'inverse;)
Merci d'avance.

Hors ligne

#2 Le 21/02/2007, à 13:13

ValVolt

Re : webcam + carte tv et /dev/video

Tu trouveras ton bonheur ici

Udev a ete cree pour ce probleme. Citation de la doc:

Assume you own two USB storage devices: a digital camera and a USB flash disk. These devices are typically assigned device nodes /dev/sda and /dev/sdb but the exact assignment depends on the order which they were originally connected. This may cause problems to some users, who would benefit greatly if each device could be named persistently every time, e.g. /dev/camera and /dev/flashdisk.

Amuse toi bien smile

Hors ligne

#3 Le 21/02/2007, à 16:31

Alain128

Re : webcam + carte tv et /dev/video

Merci mais je vois bien que c'est par là mais j'y comprends rien. Peux-t-on m'aider s'il vous plait?

Hors ligne

#4 Le 21/02/2007, à 17:06

ValVolt

Re : webcam + carte tv et /dev/video

Essaie en lisant calmement wink
Tiré de la doc:

Rule writing
Rule files and semantics

When deciding how to name a device and which additional actions to perform, udev reads a series of rules files. These files are kept in the /etc/udev/rules.d directory, and they all must have the .rules suffix.

Default udev rules are stored in /etc/udev/rules.d/50-udev.rules. You may find it interesting to look over this file - it includes a few examples

Et:

Examples
USB Printer

I power on my printer, and it is assigned device node /dev/lp0. Not satisfied with such a bland name, I decide to use udevinfo to aid me in writing a rule which will provide an alternative name:

    # udevinfo -a -p $(udevinfo -q path -n /dev/lp0)
    looking at the device chain at '/sys/devices/pci0000:00/0000:00:02.1/usb3/3-3':
    BUS=="usb"
    SYSFS{manufacturer}=="EPSON"
    SYSFS{product}=="USB Printer"
    SYSFS{serial}=="L72010011070626380"

My rule becomes:

    BUS=="usb", SYSFS{serial}=="L72010011070626380", SYMLINK+="epson_680"

En gros: regarde les exemples, applique les a ta webcam et a ta carte TV, cree les fichiers adequat en te basant sur les exemples et en les mettant dans /etc/udev/rules.d, et profites en pour devenir un pro des flux /dev wink

Dernière modification par ValVolt (Le 21/02/2007, à 17:07)

Hors ligne

#5 Le 21/02/2007, à 23:29

Alain128

Re : webcam + carte tv et /dev/video

j'ai 23 fichiers dans ce répertoire plus un readme. J'y comprends rien. Et si il faut assigner manuellement (ce que je pense être ce qu'il faut faire) je ne sais pas quoi associer à video0: ma webcam c'est quoi et ma carte télé pour le noyau?
Faut m'aider s'il vous plait.

Hors ligne

#6 Le 22/02/2007, à 09:41

ValVolt

Re : webcam + carte tv et /dev/video

...

Le prends pas mal, mais j'ai l'impression que tu ne cherches pas beaucoup par toi-meme. Faut pas croire, y'a trois jours je ne savais pas ce que c'etait, un demon udev !

Bon. En copiant collant l'exemple et en le reprenant pour toi:
Tape:

udevinfo -a -p $(udevinfo -q path -n /dev/video0)

Ca va te donner diverses infos sur ce qui est connecté en ce moment à /dev/video0, dont des trucs qui ressemblent a:

    BUS=="usb"
    SYSFS{manufacturer}=="Creative"
    SYSFS{product}=="Webcam"
    SYSFS{serial}=="L72010011070626380"

Ta webcam sera probablement sur le bus USB et ta carte tele sur le bus PCI, verifie par toi-meme ou colle ici le resultat des commandes

udevinfo -a -p $(udevinfo -q path -n /dev/video0)

et

udevinfo -a -p $(udevinfo -q path -n /dev/video1)

Une fois que tu as ces infos, tu crees un nouveau fichier dans /etc/udev/rules.d/ (appelle le, je sais pas, webcam_et_tunerTV) dans lequel tu ecris deux regles, une pour ta cam et une pour le tuner:

BUS=="<monBus>", SYSFS{serial}=="<leSerial>", SYMLINK+="<monFlux>"

Remplace <monBus> par le bus detecte par udevinfo (probablement USB pour la cam et PCI pour le tuner), remplace <leSerial> par le numero "serial" donné par udevinfo, et <monFlux> par le flux de sortie auquel tu veux associer ton peripherique. Si tu appelles le flux webcam, alors ce peripherique sera toujours associe au lien /dev/webcam.

Au final, si mes assomptions sont justes, ca te donnera un truc du genre:

BUS=="USB", SYSFS{serial}=="<leSerialDeLaCam>", SYMLINK+="webcam"
BUS=="PCI", SYSFS{serial}=="<leSerialDuTuner>", SYMLINK+="tunerTV"

Sauves ce fichier, redemmare le demon udev (un reboot fera l'affaire). Tu devrais desormais avoir deux fichiers: /dev/webcam et /dev/tunerTV
Maintenant, /dev/webcam sera toujours associe a ta cam, et /dev/tunerTV au tuner.

Cette solution ne fait pas exactement ce que tu demandais au depart, mais c'est une solution elegante, tu ne trouves pas ? C'est toujours plus parlant que de vilains /dev/video234234 completement anonymes !

Dernière modification par ValVolt (Le 22/02/2007, à 09:43)

Hors ligne

#7 Le 22/02/2007, à 11:43

Alain128

Re : webcam + carte tv et /dev/video

Je te remercie pour ton aide, je vais m'y employer. Mais au vu de ce que tu m'as écris, je reste persuader que je n'aurais jamais trouver tout ça. Donc encore merci et au boulot pour moi.

Hors ligne

#8 Le 22/02/2007, à 11:50

ValVolt

Re : webcam + carte tv et /dev/video

Pas de soucis, ca m'aura oblige a faire une redaction correcte wink
Reviens nous donner le resultat de tes decouvertes !

Hors ligne

#9 Le 22/02/2007, à 12:11

Alain128

Re : webcam + carte tv et /dev/video

Je n'ai pas le serial de mes périphériques, il me renvoit pour la cam:

  looking at device '/class/video4linux/video1':
    KERNEL=="video1"
    SUBSYSTEM=="video4linux"
    SYSFS{name}=="Creative Labs Webcam 5"
    SYSFS{dev}=="81:1"

Et rien d'autre...

Hors ligne

#10 Le 22/02/2007, à 13:58

ValVolt

Re : webcam + carte tv et /dev/video

intéressant... et si tu testais en créant le lien non pas avec le serial, mais avec le name ? Un truc genre:

BUS=="USB", SYSFS{name}=="Creative Labs Webcam 5", SYMLINK+="webcam"

Y'a pas de raison que ca ne fonctionne pas smile

Hors ligne

#11 Le 22/02/2007, à 14:16

Alain128

Re : webcam + carte tv et /dev/video

Ben ca fonctionne pas...?
Il me laisse un video0 et un video1 et pas de tuner ou webcam...

Hors ligne

#12 Le 22/02/2007, à 14:30

ValVolt

Re : webcam + carte tv et /dev/video

tu as reboote la machine ?
Peux-tu copier-coller ici le contenu du fichier dans lequel tu as ecrit tes regles ?

Essaie de lancer ces commandes:

udevcontrol reload_rules
udevtrigger

et de regarder si ca te cree tes /dev/webcam et /dev/tunerTV ?

Dernière modification par ValVolt (Le 22/02/2007, à 14:32)

Hors ligne

#13 Le 22/02/2007, à 15:51

Alain128

Re : webcam + carte tv et /dev/video

oui j'ai rebooté
j'ai créé un fichier contenant:
BUS=="USB", SYSFS{name}=="Creative Labs Webcam 5", SYMLINK+="webcam"
BUS=="PCI", SYSFS{name}=="BT878 video _Hauppauge _bt878__", SYMLINK+="tunerTV"

tes deux lignes de commande ne créent pas les dev/...

Hors ligne

#14 Le 22/02/2007, à 16:36

ValVolt

Re : webcam + carte tv et /dev/video

Bon, on va debugger wink
Que te donne la commande suivante ?

cat /log/messages | grep udev

Hors ligne

#15 Le 22/02/2007, à 17:25

Alain128

Re : webcam + carte tv et /dev/video

aucun fichier de ce type...
je signale que j'ai pas de répertoire log...

Hors ligne

#16 Le 22/02/2007, à 17:40

ValVolt

Re : webcam + carte tv et /dev/video

cat /var/log/messages | grep udev

Hors ligne

#17 Le 24/02/2007, à 09:37

Alain128

Re : webcam + carte tv et /dev/video

cat /var/log/messages | grep udev

ne me renvoie rien...?

Hors ligne

#18 Le 26/02/2007, à 11:10

ValVolt

Re : webcam + carte tv et /dev/video

Salut, non non je ne t'ai pas oublie wink
Bon, alors piste suivante: peux-tu copier/coller le contenu du fichier que tu as cree avec les regles, ainsi que son nom ?

En gros:

cat /etc/udev/rules.d/<mon-fichier>

Il y a peut etre des erreurs de syntaxe, d'espaces, d'accents...

Dernière modification par ValVolt (Le 26/02/2007, à 11:11)

Hors ligne

#19 Le 26/02/2007, à 11:24

Alain128

Re : webcam + carte tv et /dev/video

voila:

alain@alain-desktop:~$ cat /etc/udev/rules.d/webcam_et_tunerTV
BUS=="USB", SYSFS{name}=="Creative Labs Webcam 5", SYMLINK+="webcam"
BUS=="PCI", SYSFS{name}=="BT878 video _Hauppauge _bt878__", SYMLINK+="tunerTV"
alain@alain-desktop:~$

C'est tout ce que j'ai fait. Par contre comment linux sait-il qu'il doit utiliser ce fichier? le seul fait qu'il existe dans ce répertoire?
Et j'en profite pour te remercier de ton aide.

Hors ligne

#20 Le 26/02/2007, à 13:32

ValVolt

Re : webcam + carte tv et /dev/video

Pas de soucis wink

Alors alors... dans le repertoire /etc/udev/rules.d, tous les fichiers ont le format suivant:

NN-nom.rules

A mon avis, NN correspond a l'ordre dans lequel les regles sont chargées (00 pour les premieres, 99 pour les dernieres). Aussi je pense que dans notre cas et a vue de nez, 86 fera l'affaire (on cherche un gros numero pour pas mettre en l'air les initialisations precedentes, et pas trop petit parce que les fichiers qui se chargent en 99 ont sans doute une bonne raison de se lancer en dernier).

A mon avis toujours, si le fichier ne se termine pas par .rules, il sera ignoré par udev.

Donc, je te propose de renommer ton fichier:

cd /etc/udev/rules.d
sudo mv webcam_et_tunerTV 86-webcam_et_tunerTV.rules

Maintenant, voici un exemple de ce que tu trouves dans 60-symlinks.rules:

# Create /dev/pilot symlink for Palm Pilots
KERNEL=="ttyUSB*", SYSFS{product}=="Palm Handheld*", \
					SYMLINK+="pilot"

Je compare a ce que tu as mis dans ton fichier:

BUS=="USB", SYSFS{name}=="Creative Labs Webcam 5", SYMLINK+="webcam"

A vue de nez ca a n'a pas l'air incompatible. Donc essaie de relancer udev apres avoir renomme ton fichier et tiens moi au courant !

Bonne chance

Hors ligne

#21 Le 27/02/2007, à 03:13

Acp

Re : webcam + carte tv et /dev/video

Bonjour à vous !

Dans le même état d'esprit il y a aussi ça : http://ubuntufr.free.fr/?p=27
Pour trouver le vendor et le device à partir de l'adresse 00000: ..., cherchez le dans le repertoire sys si vous ne le trouvez pas dans /devices (pour moi j'ai trouvé ma carte tuner dans bttv)

Après vous pourrez faire un joli lien du type tvtime --device=/dev/tv sur votre bureau tongue

Bon courage à vous !

Voyez ici aussi s'il faut : http://forum.ubuntu-fr.org/viewtopic.php?id=44521 et marquez le message en résolu wink

Dernière modification par Acp (Le 27/02/2007, à 03:34)


Pas de signature, trop pauvre pour m'en acheter une p^^q

[[utilisateurs:Acp]] <- même pas un lien correct :D (Y a plus de jeunesse)
http://doc.ubuntu-fr.org/utilisateurs/acp

Hors ligne

#22 Le 28/02/2007, à 18:03

Alain128

Re : webcam + carte tv et /dev/video

Ca ne marche toujours pas. Ni en suivant les autres liens, je désespère...

Hors ligne

#23 Le 05/03/2007, à 17:28

Acp

Re : webcam + carte tv et /dev/video

Merf sinon j'ai essayé une mini feinte :

Je me suis dit que si je fixais en video1 la webcam alors le video0 serait forcement libre.

Donc j'ai ajouté dans le fichier .rules situé dans /etc/udev/rules.d :

KERNEL=="video?", BUS=="usb", SYSFS{model}=="Logitech QuickCam Communicate S", SYMLINK+="video1"

Bien sûr c'est pour ma config, pour toi ça devrait donner :

KERNEL=="video?" BUS=="USB", SYSFS{name}=="Creative Labs Webcam 5", SYMLINK+="video1"

Sachant que je ne branche rien d'autre, c'est un peu bourrin mais la méthode fonctionne.
En effet, j'avais un problème et le tuner refusait de se mettre en video0 et rien ne fonctionnait, maintenant,
ça roule big_smile

Tu peux aussi essayer la méthode dans l'autre sens, forcer le tuner en video0 au cas où.

Dernière modification par Acp (Le 05/03/2007, à 17:31)


Pas de signature, trop pauvre pour m'en acheter une p^^q

[[utilisateurs:Acp]] <- même pas un lien correct :D (Y a plus de jeunesse)
http://doc.ubuntu-fr.org/utilisateurs/acp

Hors ligne

#24 Le 05/03/2007, à 19:52

Alain128

Re : webcam + carte tv et /dev/video

merci pour ton aide mais ça ne marche pas

Hors ligne

#25 Le 05/03/2007, à 21:33

ValVolt

Re : webcam + carte tv et /dev/video

Alain,

Alors renomme encore une fois ton fichier:

cd /etc/udev/rules.d
sudo mv 86-webcam_et_tunerTV 50-webcam_et_tunerTV.rules

Et si ca ne marche toujours pas, ben je seche. Regarde s'il n'y a pas une faute de frappe quelque part...

Hors ligne