J'ai trouvé pyserial pour être tout à fait utilisable, donc si vous aimez Python, cela ne devrait pas être trop difficile d'écrire une telle chose.
strace est très utile pour cela. Vous avez une visualisation de tous les appels ioctl, avec la structure correspondante décodée. Les options suivantes semblent particulièrement utiles dans votre cas :
-e lire=définir
Effectue un vidage hexadécimal et ASCII complet de toutes les données lues à partir des descripteurs de fichiers répertoriés dans l'ensemble spécifié. Par exemple, pour voir toutes les activités d'entrée sur les descripteurs de fichiers 3 et 5, utilisez -e read=3,5. Notez que ceci est indépendant du traçage normal de l'appel système read(2) qui est contrôlé par l'option -etrace=read.
-e ecrit=set
Effectue un vidage hexadécimal et ASCII complet de toutes les données écrites dans les descripteurs de fichiers répertoriés dans l'ensemble spécifié. Par exemple, pour voir toutes les activités de sortie sur les descripteurs de fichiers 3 et 5, utilisez -e write=3,5. Notez que ceci est indépendant du traçage normal de l'appel système write(2) qui est contrôlé par l'option -etrace=write.