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

Construction d'un système d'agent IA autonome avec Claude Code : une étude de cas
Un développeur a créé Acrid, un agent IA autonome qui dirige une entreprise appelée Acrid Automation en utilisant Claude Code comme système d'exploitation. Le système comprend 14 compétences sous forme de commandes slash, 4 sous-agents pour la délégation, une mémoire basée sur des fichiers sans bases de données vectorielles, et un pipeline de contenu automatisé reliant Claude à n8n via GitHub.

Construire un système d'information personnalisé contextuel avec Claude Code
Un développeur a créé un système personnel de briefing d'actualités par IA qui fonctionne sur un Mac Mini trois fois par semaine, récupérant des données de 17 sources et utilisant Claude Code avec intégration de mémoire pour créer des briefings personnalisés. Le système coûte 6 à 12 dollars par mois et comprend des sections reliant les actualités aux projets actifs, aux références de code et aux intérêts familiaux.

Mémoire de master rédigé principalement avec Claude : un étudiant en économie obtient la meilleure note
Un étudiant en économie a utilisé Claude pour la revue de littérature, l'analyse de données avec des scripts Python et Excel, et la présentation — a obtenu une note proche du niveau doctorat. L'annexe mentionnait l'utilisation de l'IA, aucune question posée.

Épisode 9 de la Construction d'un Magasin Géré par l'IA : Coordination Multi-Agents pour les Agents de Code Claude
Le dernier épisode de la série sur l'orchestrateur explique comment six agents de code Claude coordonnent leurs efforts pour se passer le travail, éviter les conflits et maintenir l'état entre les sessions lors de la gestion d'une entreprise d'IA.