Ingénierie inverse d'un pilote Linux pour le Nanoleaf Pegboard Desk Dock
L'auteur a acheté un Nanoleaf Pegboard Desk Dock, un hub USB avec des LED RGB et des crochets pour gadgets, et a décidé d'écrire un pilote Linux pour celui-ci, car il ne prend en charge que Windows et macOS. Après avoir obtenu la documentation du protocole auprès du fournisseur, l'auteur a utilisé Rust et la bibliothèque libusb pour créer un pilote utilisateur. L'article détaille le processus, y compris l'utilisation de lsusb pour obtenir des informations sur le périphérique, la gestion des interfaces USB et l'utilisation des règles udev pour les autorisations utilisateur. L'auteur a réussi à créer un pilote simple pour contrôler les LED RGB du Desk Dock et gérer les interruptions du périphérique. Des défis tels que l'occupation du pilote du noyau et la gestion des interruptions ont été surmontés, ce qui a conduit à une compréhension plus approfondie de l'écriture de pilotes de périphériques USB simples. Bien qu'il s'agisse d'une simple preuve de concept, cela met en évidence le fait qu'écrire des pilotes de périphériques de base n'est pas aussi difficile qu'il n'y paraît.