Je découvre depuis avant-hier des dizaines et des dizaines de remontées suite à une simple recherche sur les mots clés CRP DISABLD. Il semble que cela soit un mal qui affecte un nombre incalculable de périphériques PC au format USB : souris, claviers, casques et même webcam, écrans ou vidéo projecteurs. Et cela depuis plus de 10 ans.
De nombreuses marques sont touchées, Asus, Razer, NZXT, LG, Corsair… Avec à chaque fois le même scénario. Un périphérique qui fonctionnait jusque-là parfaitement n’est soudainement plus reconnu par le système. C’est généralement visible après le redémarrage d’une machine ou un changement de port USB. Le système ne réagit plus lorsque vous manipulez le périphérique et il affiche alors soit directement, soit par l’entremise de votre pilote, le message « CRP DISABLD ».

Ce message est accompagné d’un comportement surprenant. Votre souris, votre casque, votre webcam ou votre clavier USB sont vu comme… une clé USB. De fait, vous pouvez découvrir en le branchant qu’il se comporte comme un nouveau stockage dans votre gestionnaire de fichiers. Pas une très bonne affaire car il ne peut contenir que quelques mégaoctets au mieux. Ce stockage qui ne contient en général qu’un seul et unique fichier. Quasiment toujours le même, appelé firmware.bin. Ce fichier est accessible en lecture, il peut être ouvert et le fichier lu. Il est plus rarement possible d’y écrire pour modifier des données ou les remplacer.

10 mois d’attente sans réponse du SAV.
Pas de réponse de nombreux SAV
J’ai pu retrouver des traces de ce CRP DISABLD sur des forums et des SAV de différents fabricants depuis… 2014. À chaque fois, le même scénario est décrit par les utilisateurs. Leur périphérique ne donne soudainement plus aucun signe de vie. Leur système leur explique même qu’il faut d’abord éjecter les périphériques de stockage avant de les déconnecter alors qu’ils viennent de débrancher leur souris pour « tenter un autre port ».

Un an, zéro réponse
Et, très souvent, les questions posées par les internautes aux différents supports sont « sans réponse »1. Les sujets restent ouverts pendant des semaines sans que l’utilisateur ne trouve d’aide. D’autres fois, des internautes tentent d’aider mais « tapent à côté ».
Tout simplement parce qu’il n’y a pas vraiment de réponse possible. La plupart des souris, webcams et autres appareils touchés par le bug ne peuvent pas être réparés. Les internautes posent des questions, s’énervent et abandonnent. Souvent les modérateurs des forums jouent la montre. Au pire, ils font le mort ou ferment les demandes de support sans raison. Au mieux, ils invitent à contacter un service après-vente par téléphone ou via un chat.

Personne ne sait vraiment d’où vient le bug CRP DISABLD
Je n’ai pas encore poussé mon analyse au maximum mais j’ai fait le tour des différents bugs et j’en suis arrivé à une conclusion assez simple. Le problème naît tout bêtement d’une erreur de « firmware » du périphérique. Pour une raison ou une autre, le fichier qui explique à l’ordinateur comment il doit piloter l’appareil n’est plus fonctionnel. Il n’est plus lu comme un « guide de procédure » par la souris ou le clavier mais comme un fichier tout à fait banal par l’ordinateur, sans filtre.
Lorsqu’un périphérique est alimenté par le port USB d’un PC, il est alors piloté par une puce, un microcontrôleur, qui va instantanément lire le firmware embarqué. Celui-ci recense toutes les actions possibles et tout le catalogue des équipements embarqués. Les clics, le défilement de la molette et les déplacements pour une souris. Les touches pour un clavier, la manière de piloter la caméra et le micro pour une webcam. Si ce firmware est absent, illisible ou non pris en compte, le système d’exploitation de votre ordinateur ne peut pas exploiter ces éléments pourtant toujours fonctionnels. Il ne voit que la connexion USB qui mène à la mémoire de l’appareil. Rien d’autre.
Or, il semble assez courant que ce firmware devienne illisible, ce qui mène au bug CPR DISABLD. La raison de cette altération peut être très variable. On pense évidemment à une erreur de mise à jour du périphérique ou à un débranchement de celui-ci pendant cette mise à jour. Il semble évident que les fichiers puissent se corrompre avec le temps ou que différents bugs techniques finissent par les altérer.
Pour avoir lu plus d’une trentaine de descriptions de ce problème chez différentes marques, le scénario évoque toujours la même chose : un matin, ce qui fonctionnait très bien la veille, ne fonctionne plus. Et personne ne sait vraiment pourquoi.

Sur un écran LG, la facture matérielle est salée, alors des tutos existent
Un bug qui n’a pas toujours de solution… économique
Ce qui embête le plus les différents SAV, c’est qu’il n’existe pas de solution. Enfin, pas vraiment de solution économique au problème. Certains appareils peuvent être réparés très facilement. C’est le cas le plus souvent des produits les plus haut de gamme. D’autres ne peuvent tout simplement pas être dépannés. Enfin, façon de parler. Parce qu’en réalité, mécaniquement parlant, les appareils sont parfaitement fonctionnels. Simplement, de nombreux constructeurs ne prévoient pas d’option pour pouvoir reflasher leurs périphériques si le firmware n’est plus reconnu.
La majorité de ces appareils disposent d’une fonction de flashage de mémoire permettant de les actualiser. Mais, malheureusement, pour que la procédure fonctionne, il faut que l’appareil en difficulté signale sa présence au logiciel de mise à jour installé sur votre PC. Or une souris qui n’a plus de firmware ne communique plus correctement avec le reste du système, elle ne dit plus qui elle est. Le logiciel de la marque ne la voit pas et il est alors impossible de forcer une mise à jour.

Certains constructeurs ont une parade. C’est le cas de NZXT par exemple. Qui propose une solution toute bête : l’utilisateur peut simplement remplacer le fichier firmware.bin défectueux avec un simple copié-collé. Lorsque le bug CRP DISABLD touche un de leurs claviers et qu’il apparait comme une clé USB. Un remplacement de firmware suffit. On débranche ensuite son clavier, on attend un peu pour être certain que la maigre mémoire embarquée soit désalimentée et se vide. Puis on rebranche pour retrouver un clavier fonctionnel. Valve avait proposé la même procédure pour son Steam Controller en 2015.
Pratique mais, au dire de certains, dangereux. Un système aussi libre d’accès serait la porte ouverte à l’envoi discret d’un firmware pouvant contenir un keylogger. Un petit bout de programme permettant d’enregistrer et de transmettre toutes les frappes d’un clavier, par exemple. Ce scénario parait un peu tiré par les cheveux car il supposerait une infection du matériel et du logiciel sur votre machine. D’une part, les protocoles qui pilotent ce type de périphérique sont très limités. Mais surtout, à partir du moment où vous avez un programme sur votre PC dont la tâche serait d’infecter votre périphérique, il n’est pas utile d’aller plus loin. Ce programme peut déjà infecter le système. Tout peut déjà être intercepté. On imagine mal une solution qui rendrait la tâche plus compliquée et moins fiable pour un pirate en doublant l’infection logicielle tout en la rendant sensible à un changement de matériel.

Pour d’autres appareils et d’autres marques, il faut recourir à l’appui sur un bouton ou à une manipulation de touches spécifiques. Manipulations qui vont ouvrir les droits en écriture sur cette mémoire qui n’est que lisible par défaut. Si vous avez déjà travaillé avec un microcontrôleur, c’est l’équivalent du bouton BOOT ou ISP présent sur beaucoup de montages, bouton qui ouvre les droits en écriture pour programmer un appareil.

Sur un forum Asus le modérateur explique une procédure à effectuer sur une souris pour entrer en mode « flashage »
Problème, la majorité de ces périphériques ne proposent pas ce bouton. Pour des raisons économiques et peut-être pour des raisons de sécurité, les constructeurs ne les proposent plus. Il existe parfois deux points de contact sur le circuit imprimé de l’appareil qui permettent de remplacer ce bouton, mais ils ne sont pas accessibles sans désosser totalement l’appareil.

Une folie écologique
Résultat, de nombreux services après-vente n’ont pas d’autre choix que d’assumer la reprise d’une souris, d’un clavier ou d’un casque pourtant parfaitement fonctionnels. Il faut rapatrier l’objet, l’ouvrir, faire le point de contact et forcer le firmware avec un outil spécifique. Puis renvoyer le périphérique vers le client. Un processus coûteux, trop coûteux, surtout pour des objets dont le prix en sortie d’usine ne dépasse rarement que quelques dollars.

Pour un câble sans fil, il faut couper tous les câbles livrés
La « solution » alternative trouvée est donc de forcer le client à jeter sa souris, son clavier ou sa webcam à la poubelle avant de lui renvoyer un autre produit. Et cela malgré le fait que cette erreur CRP DISABLD n’affecte en rien le fonctionnement matériel du produit. Comment forcer un client à jeter une souris à la poubelle à distance ? Rien de plus simple. Vous lui demandez de prendre en photo l’objet avec l’ensemble de ses câbles coupés. Chez Razer, il y a un guide qui décrit comment couper le cordon de sa souris, son enceinte et de bien d’autres appareils.

Il faut le faire en suivant un certain protocole : exposer le numéro de série du périphérique défaillant sur la photo, inscrire son numéro de dossier sur un papier et montrer de manière explicite le cordon de l’appareil coupé. Une fois le cliché pris, on l’envoie au SAV de la marque qui valide ensuite l’envoi d’un nouveau périphérique.
On comprend que la procédure est là pour éviter que les internautes ne demandent un nouveau produit en disant que le leur n’est pas fonctionnel, ce qui serait évidemment impossible à assumer pour les marques. En forçant la destruction du produit, le SAV est certain que la procédure ne sera pas utilisée frauduleusement. Mais il y aurait des alternatives en proposant simplement de pouvoir remonter un fichier firmware.bin aussi simplement que le fait NZXT.

Que faire donc si vous rencontrez ce problème de CRP DISABLD ?
Pas grand-chose d’autre que de contacter le fabricant si vous êtes sous garantie. Il vous guidera sur les éventuelles procédures de sauvegarde et proposera de télécharger des outils de mises à jour pour tenter de récupérer votre matériel. Cela échoue souvent mais n’hésitez pas à réclamer dans ce cas un remplacement du produit. Si vous n’êtes plus sous garantie, vous pouvez parcourir le site de votre fabricant pour tenter de trouver une solution de mise à jour de firmware. Mais il y a de fortes chances qu’elle échoue. Comme expliqué plus haut, le logiciel est pensé pour vérifier la présence de votre matériel avant de le flasher, or avec ce bug CRP DISABLD, votre matériel a perdu toute identification.
En désespoir de cause, vous pouvez tenter deux choses supplémentaires qui semblent parfois fonctionner si j’en crois différents témoignages. La première est de trouver un périphérique absolument identique au votre, de le brancher sur votre machine avec celui défaillant à portée mais non connecté. Puis, de tenter de lancer la procédure de mise à jour du firmware. Après que l’outil de mise à jour indique qu’il a bien repéré l’appareil fonctionnel et avant de lancer la procédure, d’intervertir le matériel fonctionnel et le matériel présentant l’erreur CRP DISABLD sur le même port, puis de lancer l’opération. Si j’en juge par divers témoignages, cela marche parfois. A tenter donc si vous voulez racheter le même périphérique après la fin de votre garantie.
L’autre solution consiste à fouiller forums et bas-fonds d’internet pour tenter de trouver un firmware compatible et un outil de programmation forcée échappé d’un centre de SAV. Le tout est généralement accompagné d’une manipulation particulière. Mais attention, cette pratique n’est à exécuter qu’en dernier recours. Le risque de rendre son appareil définitivement hors service est possible.
Notes :
- À ce propos, n’oubliez pas qu’un SAV en ligne sur un forum n’est pas une obligation légale de la part d’une marque, c’est un service. Quand vous demandez de l’aide sur un forum, vous ne contactez pas un SAV en tant que tel et n’engagez aucune procédure légale couvrant votre droit à une garantie. Pour lancer une procédure de SAV vous devez contacter la marque en direct par email, via un formulaire ou au téléphone en suivant les informations proposées sur leur site. Si ces démarches sont sans réponse, une Lettre Recommandée assurera la trace du début de votre demande.
| 2,5€ par mois | 5€ par mois | 10€ par mois | Le montant de votre choix |





Pour moi c’est « simplement » une corruption de la flash qui contient le firmware, qui fait le firmware n’est plus accessible, et donc le micro-contrôleur boote en mode USB mass storage (c’est le siclicium qui sait faire ça), prêt à être reflashé. Style un microcontrôleur NXP de la famille LPC.
Et je mettrais une pièce sur un truc à la con dans le firmware comme la grande idée géniale d’implémenter un compteur de temps ou de boot, qui fait que le nombre de cycle d’écriture arrive à dépasser le MTBF du composant. Tu ajoutes à ça le que toute la zone est CRC et/ou signée et hop, le silicium refuse de booter.
@gUI:
Il serait assez idiot de stocker un compteur de boot pu le crc d’une zone de données de config sur un seul mot 32 bit de flash, pour un besoin typique.
Comme de toutes manières l’effacement se fait par secteur entier (4k) en général et qu’on peut ecrire des adresses non utilisées d’un secteur sans nouveau cycle d’effacement, autant coller ces valeurs mises a jour a la suite de la précédente modulo le secteur de 4k. Et c’est le dernier qui gagne.
Ainsi au lieu d’effacer a chaque écriture de 4 octets on ne la fait qu’arrivé au bout des 4096 du secteur entier, divisant par 1024 les besoind d’effacement.
@yann: Oui c’est idiot, on est bien d’accord. Mais je l’ai déjà vu, et je suis même arrivé une fois à convaincre de ne pas le faire.
Si c’est une corruption soft du firmware, il serait possible de rattraper le coup. Mais si la puce est corrompue niveau hardware (a dépassé sa durée de vie), même un flash ne résoudra pas le pb :-(
Tu veux une hypothèse absolument pas vérifiable mais qui expliquerait la grande variété de matériels touchés par le même bug ?
Les rayons cosmiques
Comme cette histoire avec le speedrun de Super Mario 64
https://www.youtube.com/watch?v=o3Cx2wmFyQQ
J’ai depuis octobre des problèmes de périphériques USB sur mon PC de bureau, avec des périphériques qui ne sont plus reconnus, ou, le plus souvent des périphériques reconnus puis éjectés par le système et ensuite non reconnus par le système. Seule solution, éteindre le PC et le rallumer. Les périphériques auxquels ça arrive : clefs USB, carte CF, liseuses, téléphone sous android mais jamais de disques durs.
Il y a quelques années j’avais effacé le disque et réinstallé complètement W10, parce que régulièrement un périphérique USB était reconnu comme une souris, non fonctionnelle, puisqu’il pouvait aussi bien s’agir d’une clef USB, d’un scanner que d’une imprimante. Généralement il suffisait d’éteindre le périphérique et ça fonctionnait au redémarrage. sauf qu’un jour j’ai imprimé un document, puis suis parti sans éteindre l’imprimante, alors que W10 venait d’afficher un message d’erreur sur la souris « Ricoh SP10 » nécessitant un driver. Quand je suis rentré du RDV il y avait de la fumée qui s’échappait de l’imprimante qui avait chauffé sans doute suite aux tentatives de W10 de dialoguer avec une souris et pas une imprimante laser. Et suffisamment chauffée pour que le fait de soulever l’imprimante afin de la poser dehors au sol afin qu’elle refroidisse sans risquer le départ de feux du bureau (il fut marqué par la chaleur) m’occasionne une brûlure à la main droite.
@bebertii: Les SEU (et plus rarement les MEU) c’est surtout la RAM, pas la flash. L’énergie requise est bcp trop grande.
@bebertii: La variété du matériel pas tant que ça : moi je parie qu’ils ont tous le même micro contrôleur NXP (plus facilement vérifiable).
Merci Pierre, je commence a comprendre pourquoi j’avais trois pavés numériques qui a la sortie du placard ( pour les besoins d’une configuration particulière) ne fonctionnaient plus (non reconnus par windows) … Démontés et testés, n’ayant rien trouvé de spécial ( aucune panne franche) j’avais jeté l’éponge…
Et si on reparlait d’une certaine obsolescence ? Garanties dépassées, certes, mais loin d’avoir été utilisés a outrance…
Je découvre un truc. Je n’en avais jamais entendu parler, j’imagine que cela ne doit pas être si fréquent que ça.
@Xo7: difficile d’incriminer le fabricant du produit si c’est un composant interne qui est défaillant.
@Luc: Oui et non. Le composant interne il a une spec, des limites annoncées, un mode d’emploi etc. Si tu fais n’importe quoi avec, tu vas briquer tes produits et ce ne sera pas spécialement la faute du composant interne.
Seul le fabricant peut répondre à cette question, et en général c’est assez compliqué. Si ça arrive sur des produits assez vieux, en fin de vie, peu de fabricants feront l’effort de faire un vrai _post_mortem_
Dans le cas du firmware corrompu par le temps, on pourrait rapprocher ce problème du cas de stockage de données pour de longues durées sur une clé USB, un drive SSD, etc…
On sait que ces supports ne retiennent pas l’information éternellement, généralement moins longtemps que des disques durs à moteurs/plateaux/têtes.
Je suppose aussi que la plupart des firmwares n’a pas de correction d’erreurs avec des données redondantes.
Ce serait la piste la plus facile pour résoudre ce problème particulier : Utiliser quelques ko de données redondantes, le dialogue USB bascule sur un « rescue part » si le périphérique n’est pas reconnu ?
Enfin, autre piste à mettre dans la liste des suppositions : les particules à haute énergie qui invalident une cellule de stockage lors d’éruptions solaires ou autre.
@Rimin: Pour le stockage de données, c’est un piste qui m’a été évoquée par un fabricant hier après publication. Il a des mlots de produits qui sont plus affectés sur le temps long.
J’ai eu ensuite une looooongue conversation avec un pentester… Qui m’a expliqué plein de choses très intéressantes. Je vais refaire un billet je pense.
Dans l’absolu, le problème est une chose quasi impossible a résoudre en amont sans surcoût. Par contre il y a des choses à faire pour régler le problème facilement après qu’il se soit produit. Reste a agir pour que cela n’impacte pas la sécurité du produit.
@Rimin et @Pierre Lecourt: oui le stockage sur puce Nand qui se dégrade avec le temps c’est un problème à terme. Et je peux citer deux cas connus que j’ai croisé.
– C.H.I.P. ( https://fr.wikipedia.org/wiki/CHIP_(ordinateur) ) le fameux micro-ordinateur à 9€ qui a fait un carton sur Kickstarter https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer . Sa Nand est d’une telle qualité que les cellules s’auto-effacent, perdent la mémoire au bout de 6 mois sans alimentation électrique ou sans ré-écriture régulière.
– Le baladeur mp3 « Sandisk Sensa Clip Plus ». Un excellent baladeur mais dont la puce du firmware/OS perd quelques données sur les cellules Nand au fil des années, rendant la machine inopérante car firmware corrompu. La solution: reflasher le firmware. Ou mieux installer Rockbox (firmware alternatif) dont juste le bootloader est sur la Nand, le reste de l’OS est sur la carte SD.