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 23/11/2008, à 14:20

arnaud_d

Detecter montage d'un périphérique USB et son point de montage

Bonjour !

Je voudrais faire quelque chose d'assez courant mais je n'ai rien trouvé à ce propos dans le forum :

J'aimerais que mon programme (python) détecte le branchement d'un périphérique USB (une carte mémoire dans un GPS) et récupère des fichiers dedans :

1) Attente du branchement du périphérique
2) Reconaissance du périphérique par son identifiant "lsusb"
3) Determination du point de montage
4) Récupération des fichiers qui m'interessent

Je ne sais pas sur quelle commande/test boucler pour détecter le périphérique USB
Je ne sais pas comment connaitre le point de montage connaisant l'identifiant "lsusb"
Pour le point 4) c'est facile, je sais faire.

Merci beaucoup pour vos conseils et votre aide.

Arnaud

Hors ligne

#2 Le 24/11/2008, à 21:20

sebk

Re : Detecter montage d'un périphérique USB et son point de montage

Si tu sait récupérer son /dev, tu peux essayer de parser le résultat d'un df.

En espérant que ça fait avancer le smilblique...


Iceberg Project : www.iceberg-linux.net

Hors ligne

#3 Le 24/11/2008, à 22:04

Totor

Re : Detecter montage d'un périphérique USB et son point de montage

Bonsoir,

Regarde du côté de udev (man udev).


-- Lucid Lynx --

Hors ligne

#4 Le 24/11/2008, à 23:19

arnaud_d

Re : Detecter montage d'un périphérique USB et son point de montage

Bonsoir,

Merci beaucoup pour vos réponse, j'en attendais avec impatience smile


sebk a écrit :

Si tu sait récupérer son /dev, tu peux essayer de parser le résultat d'un df.

En espérant que ça fait avancer le smilblique...

Oui merci sebk, j'avais trouvé cette commande, elle est bien utile mais elle fera partie de mon étape 3). Le problème en fait c'est justement de savoir où le périphérique dont je connais l'ID usb (0b20:0420) a été monté.

Pour faire un schéma   0b20:0420 -(2)-> /dev/sdb? -(3)-> /media/???????

df m'aidera pour (3) mais je bloque sur (2).....

Totor a écrit :

Bonsoir,

Regarde du côté de udev (man udev).

Bonsoir Totor, j'ai regardé man udev mais je comprend pas tout, c'est assez compliqué. Et puis j'ai l'impression qu'il faut faire une configuration particulière, or je voudrais que mon prog marche chez n'importe qui sans necessiter la modification d'un fichier de config au préalable.

Je sais toujours pas comment faire...... hmm

Merci pour vos idées

Hors ligne

#5 Le 25/11/2008, à 03:35

frafa

Re : Detecter montage d'un périphérique USB et son point de montage

Salut,
tu m'as donné envie de comprendre un peu udev
j'avait pas eut trop le temps de regarder son foncionnement
je te donne ma solution trouvée pour ma clé usb OCZ turbo
id:0324:bc06

pas le peine mais donne de bonnes info sur le matos remplacer: /dev/disk/by-label/casper-rw, par ton tien...
udevinfo -a -p $(udevinfo -q path -n /dev/disk/by-label/casper-rw)

apres j'ai rajouté a:
sudo gedit /etc/udev/rules.d/90-modprobe.rules
ca:
KERNEL=="sd*[0-9]", SYSFS{idVendor}=="0324", SYSFS{idProduct}=="bc06", SYMLINK+="macleusb", MODE="0666", ENV{ID_TYPE}="disk", ACTION=="add"

tu pourrait rajouter un RUN genre un script qui te monte ou tu veut /dev/macleusb avec:
RUN+="/usr/local/bin/macleusb.sh"

tu relance udev
sudo /etc/init.d/udev restart

et hop /dev/macleusb est dispo et pointe bien ma clé usb smile
find /dev/* -name macleusb
/dev/macleusb

pour que ca marche pour tout le monde suffit que tu cree un fichier genre
/etc/udev/rules.d/90-maregleamoi.rules
vec tes regles udev dedans....

Dernière modification par frafa (Le 25/11/2008, à 03:41)

Hors ligne