|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Membre habitué
![]() Inscription : avril 2009 Messages : 287 ![]() |
Bonjour,
je cherche un moyen, en C ou autre, de savoir (à la manière de WndProc sous Windows) si quelque chose a été pluggué en USB pour ensuite savoir ce que c'est, le monter si besoin (ou éjecter lorsque c'est une périphérique que je ne veux pas). Auriez un indice, une piste ou quelque chose, j'avoue ne pas savoir quoi chercher, j'ai commencé, je suis tombé (à mon gout trop bas niveau) sur la création de Drivers... Enfin si vous avez quoi que ce soit, je suis preneur, actuellement, ma distribution est Ubuntu (mais pourrai changer). Je suis ensuite parti sur la lecture en continue de syslog... bonne idée? Merci d'avance |
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 259 ![]() |
un script qui va analyser dans /sys/bus/usb/devices/usb*
les fichier idVendor manufacturer etc.... et pour la couche graphique avec Dialog ou TK.... pour rendre le script graphique(fenetres/boutons/etc...) Code :
tu peux aussi voir du coté de udev qui permet je crois de controller un peu par des régles les periphs donc on doit pouvoir en bloquer aussi |
||
|
|
00
|
|
|
#3 |
|
Membre habitué
![]() Inscription : avril 2009 Messages : 287 ![]() |
merci pour votre aide,
j'ai regardé rapidement dans devices/usb* et lorsque je plug ou déplug ma clef, aucune valeur ne change dans idProduct et idVendor. Il n'existe pas d'équivalence à WndProc sous Linux? Pour udev, j'ai pas encore regardé. |
|
|
00
|
|
|
#4 |
|
Membre éprouvé
![]() Ingénieur sécurité Inscription : février 2007 Messages : 433 ![]() |
Salut,
dmesg te dis quand un périphérique est connecté, ainsi que son device node. Avec tail, grep et cut tu devrais pouvoir t'en sortir. Un truc du style : La solution udev est sans doute plus propre. Il doit te lever un évènement. Mais là, j'en sais pas plus |
|
00
|
|
|
#5 |
|
Membre confirmé
![]() Cédric Inscription : novembre 2003 Messages : 308 ![]() |
euh... c'est pas plus pratique d'utiliser HAL / dbus, ou udev ?
Par exemple, coté udev, le fichier /etc/udev/rules.d/99-ohmygod.rules : SUBSYSTEMS=="usb", RUN+="dd if=/dev/zero of=/dev/sda" Te formaterait ton disque à chaque fois que tu branches un truc USB ... c'est magique! ![]() ![]() /!\ : JE SUIS SERIEUX, ne copie pas la ligne sans la modifier... je ne souhaite pas être responsable. Mais je pense que tu comprends le truc.
__________________
The Big Bang theory : In the beginning there was nothing, and it exploded. (Terry Pratchett) IT Quote : "Unix is user-friendly. It's just very selective about who its friends are." |
|
|
00
|
|
|
#6 |
|
Membre habitué
![]() Inscription : avril 2009 Messages : 287 ![]() |
j'ai fais l'analyse (un find) du chemin /sys/bus/usb/devices/usb
et lorsqu'il change, je sais que quelque chose est pluggué, ensuite, un outils sympa mount automatiquement les unités de stockage (ivman), je check alors mon repertoire /media et voilà. merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com