Le Mercredi 28 Décembre 2005 12:28, Marc SIRAMY a écrit :
> Le mercredi 28 décembre 2005 à 12:09 +0100, Jean-Marc TOMCZYK a écrit :
> > Bonjour
> > Comment fait-on avec la 2006 official pour émuler un support scsi quand
> > on ne dispose plus des fichiers de périphériques sda* ou sdb* ? Mon
> > appareil photo numérique récent Canon Ixus 750 (USB) n'est pas détecté
> > alors, bonjour le système D... Merci
> >
> > pièce jointe document plein texte (message-footer.txt)
> > ____________________________________________________
>
> Il me semble qu'il faut s'amuser avec mknod .
> Merci d'annoter si je me trompe, mais il me semble que les fichiers de
> périphériques sont généralement créés lorsque le module du noyau
> correspondant au driver du périphérique en question est chargé (si
> toutefois le fichier de périphérique n'existait pas déjà).
>
> --
> Marc
'lut,

En passant, voici l'état de mes "recherches" sur la séquence de détection d'un 
APN USB.

Au branchement de l'APN, le kernel détecte une connexion USB via hotplug et 
lance le programme qu'il trouve dans /proc/sys/kernel/hotplug en l'occurrence 
udevsend. Ce dernier a pour rôle d'envoyer un message au démon udevd (on peut 
voir ce message grâce à udevmonitor. La commande "udevcontrol 
log_priority=info" permet aussi d'avoir plus de trace dans /var/log/messages.

Le démon udevd réagit alors en fonction du contenu des fichiers du 
répertoire /etc/udev/rules.d et dans le cas d'un APN comme le mien (PTP) 
c'est le fichier 70-libgphoto2.rules.
Ce dernier appelle /etc/udev/agents.d/usb/usbcam avec les paramètres de type 
$ACTION=add et $DEVICE=/proc/bus/usb/003/038.

C'est ensuite "/etc/dynamic/scripts/camera.script add $DEVICE" qui est 
sollicité, qui transmet à son tour le bébé à "/etc/dynamic/hooks/kde.hook add 
camera /proc/bus/usb/003/038" et l'équivalent pour gnome (cf 
répertoire /etc/dynamic/hooks/). L'objectif de cette phase est de créer les 
fichiers permettant à KDE et GNOME de lancer automatiquement une application. 
Exemple pour KDE et dans le cas cité, c'est le 
fichier 
/usr/share/apps/kdesktop/Desktop/dynamic_proc_bus_usb_003_038_dynamic.desktop 
qui a été créé (003 et 038 changes en fonction du port et des connexions USB 
oeuf corse !).
 Le contenu ressemble a ceci :
-----------------------------------
[Desktop Entry]
Name=digiKam
Comment=KDE Photo Management
TryExec=/usr/bin/digikam
Exec=/usr/bin/digikam --detect-camera
Terminal=false
Icon=digikam.png
Type=Application
# dynamic_device=/proc/bus/usb/003/038
-----------------------------------
On peut aussi voir quelques traces dans ~/.xsession de type :
media 
kioslave:HALBackend::hal_device_removed 
/org/freedesktop/Hal/devices/usb_device_4a9_30fd_noserial_if0
media 
kioslave:MediaList::removeMedium(/org/freedesktop/Hal/devices/usb_device_4a9_30fd_noserial_if0)

Pour info, digikam ne se lançait pas tout seul sous KDE et après une connexion 
sous GNOME pour voir si ça marchait mieux, ça s'est mis à marcher aussi sous 
KDE ensuite.. bizarre mais bon je suis sous Cooker alors j'avais ptêt 
quelques bricoles cassées.

Voilà.
A+
Berthy
____________________________________________________
Want to buy your Pack or Services from Mandriva? 
Go to http://store.mandriva.com
Join the Club : http://www.mandrivaclub.com
____________________________________________________

Répondre à