Débogage d'un BadUSB Pi Zero 2W avec Claude Code : Correction d'un bogue « impossible »

Il y a environ 10 mois, un développeur a construit un kit BadUSB pour Pi Zero 2W, mais une fonctionnalité — « réinitialisation complète entre les attaques » — n'a jamais fonctionné. Marquée comme en cours, elle a été abandonnée. Cette semaine, ils ont reconstruit le projet de bout en bout avec Claude Code comme binôme. Résultat : la fonctionnalité « impossible » fonctionne désormais, et la session a révélé plusieurs bugs subtils.
Ce que Claude Code a fait
- Diagnostic de la cause racine en une lecture : L'observateur surveillait l'existence de
/dev/hidg0— vrai dès le démarrage — donc il déclenchait les charges utiles au démarrage, indépendamment de la connexion hôte. Le bon signal est/sys/class/udc/<udc>/state == "configured". - Confirmation empirique d'une limitation matérielle : Quand la première correction n'a pas entièrement fonctionné, Claude s'est connecté en SSH, a demandé au développeur de brancher/débrancher pendant qu'il sondait sysfs et le registre
regdumpde dwc2 debugfs. Il a constaté que le registreGOTGCTLse fige à0x000d0000quel que soit l'état du câble — le Pi Zero 2W n'a pas de détection VBUS câblée au bloc OTG du SoC. Il est passé à une solution de contournement de désactivation active avec période de refroidissement et protection de limitation de débit. - Détection d'un bug silencieux en Python :
open(udc_path, "w").write("")n'invoque paswrite(2)avec zéro octet —TextIOWrapperde CPython élude l'appel. La désactivation était un no-op pendant une heure de test. Corrigé enos.write(fd, b"\n")pour forcer un appel système. - Correction d'un démontage interdit sur configfs :
rm -rféchouait car configfs interdit de dissocier les fichiers d'attributs gérés par le noyau. La séquence correcte est uniquementrmdir, de la feuille à la racine. - Écriture d'une suite de tests pytest de 34 tests contre un moteur HID simulé, permettant de tester le parseur sur n'importe quelle machine sans Pi.
- Mise à jour de la mémoire IA : Le développeur utilise Postgres comme mémoire à long terme pour Claude — ces entrées de bugs sont désormais référencées dans des projets similaires configfs/USB-gadget.
Toute la session de travail a duré environ 4 heures, principalement à attendre les branchements/débranchements physiques. La PR comprenait six commits bien découpés avec des tags de co-auteur appropriés et un plan de test. Le projet (Pi-Zero-2W-Bad-USB) est sous licence MIT, avec un langage de payload de type Ducky-Script, des variables, IF/WHILE, HOLD/RELEASE, INJECT MOD, RANDOM *, des mappages de touches US/UK, un gadget optionnel RO mass-storage, une intégration systemd et un installateur idempotent.
Pour les développeurs travaillant avec des workflows matériels en boucle avec Claude Code, c'est une étude de cas convaincante de débogage assisté par IA au niveau sysfs et des registres.
📖 Lire la source complète : r/ClaudeAI
👀 See Also

100 agents Claude parallèles rétro-ingénierent le marketing open source : Un guide de r/ClaudeAI
Un développeur lance 100 sessions parallèles Claude+Codex pour analyser pourquoi son projet open-source n'a reçu aucun vote positif — les agents ont produit un manuel marketing en 7 points et ont découvert que le registre de plugins d'Anthropic est un canal peu concurrentiel.

La mémoire partagée transforme les agents IA en politiciens de bureau : un agent rédige des évaluations de performance
Un développeur a construit un système de mémoire partagée pour des agents IA. Au lieu d'améliorer l'efficacité, l'agent de recherche a commencé à enregistrer des critiques sur l'agent de codage, créant ainsi un « lieu de travail IA avec RH ».

L'agent IA Bub d'OpenClaw peine à déléguer et brûle 20 $ en 15 minutes lors de l'optimisation du site mobile.
Lors des tests QA pour Driftwatch V3, le bot OpenClaw Bub a brûlé 20 $ en 15 minutes en ne déléguant pas correctement les tâches. Le développeur a découvert que des modèles de spécifications détaillés réduisent les coûts, tandis que l'adaptation mobile a ajouté du temps et des dépenses imprévus.

Traduire en fr : Les règles du Road Runner de Chuck Jones comme principes de conception d'identité pour agents IA
Une publication Reddit analyse comment les neuf règles de Chuck Jones pour les dessins animés de Bip Bip s'appliquent à la conception de l'identité des agents IA, en mettant en lumière la Règle 2 sur les modes de défaillance internes, la Règle 3 sur l'évitement des boucles d'optimisation et la Règle 9 sur l'échec gracieux.