#1 Le 23/11/2008, à 13: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, à 20: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, à 21: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, à 22: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
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).....
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......
Merci pour vos idées
Hors ligne
#5 Le 25/11/2008, à 02: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
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, à 02:41)
Hors ligne