J'ai eu un problème de périphériques de stockage de masse USB, dont les symptômes sont courants, mais dont la cause et la résolution l'ont été moins.

En fait le problème devait être présent dès le dernier changement de la carte mère, mais je n'avais pas utilisé de clé USB ou autre périphérique de stackage de masse USB depuis. Et l'autre jour, quand j'ai branché une clé USB, je me suis trouvé devant le problème classique du volume non monté...

Le problème du volume non monté pour une clé USB est souvent dû soit à un échec d'installation des drivers de la clé USB, soit au fait que la lettre de lecteur suivant immédiatement le dernier lecteur physique est occupé par un montage réseau.

Dans le premier cas, il suffit de désinstaller la clé dans le Gestionnaire de périphériques et de la reconnecter pour qu'elle soit correctement reconnue et réinstallée. Dans le deuxième cas, il faut démonter le lecteur réseau, reconnecter la clé et réattribuer une autre lettre soit au lecteur réseau, soit à la clé USB.

Problème, mon cas ne s'inscrivait ni à l'un, ni à l'autre. La clé était correctement reconnue, les drivers étaient propres, mais le volume n'apparaissait pas dans l'Explorateur, et le contenu de la clé était donc inaccessible...

Après quelques recherches, je me suis aperçu que tout marchait, sauf l'attribution de lettre de lecteur. Si je mettais une lettre de lecteur manuellement par Gestion de l'ordinateur, le volume était accessible (pas pas visible dans l'Explorateur). Chose encore plus curieuse, si j'accèdais par l'Explorateur au volume fantôme, je pouvais voir ce qu'il y a dedans, lire et écrire, mais Windows me disait que c'était un volume qui ne supporte pas les noms longs, alors qu'il y en avait déjà dessus... Mais si j'y accèdais par Internet Explorer, j'avais accès complet, noms longs, et la clé se voyait dans l'arborescence avec une icone de stockage amovible générique...

J'ai fait plusieurs recherches qui m'ont toutes donné comme résultat le truc classique de réattribuer une lettre de lecteur. Mais ça ne résolvait pas mon problème de non attribution de lettre de lecteur... Du coup j'étais presque résigné à vivre avec le fait que je devais, pour utiliser une clé USB, connecter la clé, ouvrir la Gestion de l'ordinateur, aller dans Gestionnaire de disques, attribuer une lettre de lecteur à la clé, ouvrir IE, accéder à la clé par IE, une fois fini, enlever la lettre attribué, et déconnecter... 😕

Et hier soir, alors que j'allais m'endormir, j'ai soudain pensé à une chose que j'oublie toujours dans le diagnostic, et qui est pourtant d'une aide précieuse : l'Observateur d'événements !

Ni une ni deux, je me relève (je suis en vacances, faut en profiter), et je regarde dedans. Pas d'erreurs à priori, sauf que je remarque ceci 

Type de l'événement :	Erreur
Source de l'événement :	sptd
Catégorie de l'événement :	Aucun
ID de l'événement :	4
Date :		13/09/2006
Heure :		01:08:31
Utilisateur :	N/A
Ordinateur :	WENDY
Description :
Le pilote a détecté une erreur interne dans ses structures de données pour .

Pour plus d'informations, consultez le centre Aide et support à l'adresse http://go.microsoft.com/fwlink/events.asp.
Données :
0000: 00 00 00 00 01 00 52 00   ......R.
0008: 00 00 00 00 04 00 04 c0   .......À
0010: ae 00 00 00 00 00 00 00   ®.......
0018: 00 00 00 00 00 00 00 00   ........
0020: 00 00 00 00 00 00 00 00   ........

Et si on cherche ce que ce sptd est, on trouve qu'il est lié au fichier sptd.sys, et que c'est un driver mode noyau appartenant à Deamon tools ! Il fait partie de l'émulateur de disque...

Et de là, tout devient logique : Deamon tools est aussi capable d'émuler des disques protégés, et masque donc certaines propriétés aux programmes. Mais en ayant apporté un certain nombre de modifications à ma machine, le driver d'émulation a dû déraper et s'appliquer à tous les média amovibles, et perturber le système de gestion de disques...

En désinstallant Deamon tools et le service sptp avec HHD SrvAdmin (utilitaire remarquable de gestion de services - qui semble malheureusement abandonné), je me suis débarassé de toute trace de Deamon tools, et mes clés USB montent correctement. 🙂

Et danbs mes pérégrinations, je suis aussi tombé sur un utilitaire de remappage automatique de volumes amovibles, USBDLM. Cet utilitaire permet de spécifier une lettre de lecteur pour les périphériques de stockabe amovible, qui sera réattribuée automatiquement à la connexion. Il permet aussi de spécifier une lettre particulière pour chaque port USB, etc. Ça peut être utile. 😉

A propos de HHD SrvAdmin, il semble qu'HHD l'aie abandonné du fait qu'il existe des utilitaires similaires dans les Ressource Kits de chez Microsoft... Ce qui est vraiment dommage, parce qu'il est vraiment très bien. On peut encore le trouver chez Softpedia, mais il est probable qu'il devienne incompatible assez rapidement à l'avenir... 🙁