La plupart des clés USB fonctionnent sur mon système : branchez-en une et udev
créera un fichier de dispositif pour l'ensemble de la clé (par ex. /dev/uba
), ainsi qu'un fichier de périphérique pour la partition (par ex. /dev/uba1
).
J'ai une clé USB spécifique (une Sandisk Cruzer Micro 2Gb) qui udev
se comporte mal avec. Le fichier de périphérique de la clé est créé, mais pas celui de la partition.
Si je compare les dmesg
entre une clé de travail et ma clé de problème, elle est identique à l'exception d'une ligne qui est manquante lors de l'utilisation de la clé de problème : uba: uba1
. Il en ressort que mknod
ne crée jamais de nœud pour la partition du disque.
Ce qui est bizarre, c'est que je peux faire...
sudo sfdisk -R /dev/uba
...pour forcer les partitions du disque à être réexaminées et soudainement la partition sera reconnue, mknod
va créer un fichier de périphérique et je peux accéder à la clé comme si de rien n'était. Un problème de timing ?
EDITAR:
Règles USB Automount :
ACTION=="add", KERNEL=="ub[a-z]*[1-9]*", PROGRAM="/sbin/blkid -o values -s TYPE %N", RESULT=="vfat", RUN+="/home/ubuntu/.mount_usb %k %n"
ACTION=="remove", KERNEL=="ub[a-z]*", RUN+="/home/ubuntu/.unmount_usb"
En outre : La clé qui pose problème passe par défaut à FAT16 lorsqu'elle est reformatée. Le fait de la forcer à passer en FAT32 entraîne udevadm monitor --property
qui recrache exactement les mêmes propriétés pour le périphérique et la partition que pour une clé fonctionnelle, mais le problème persiste. Cela m'amène à penser qu'il s'agit moins d'un problème lié aux règles de détection des périphériques que d'un problème lié au périphérique lui-même. Cette conclusion est-elle logique ?