ioctl(TCGETS) est appelé par la fonction tcgetattr() de la libc.
Quelle est la commande lancée depuis strace ?
Une partie de celle-ci (ou alors une redirection depuis le shell?) tente d'ouvrir le device publié par le pilote, en supposant qu'il s'agit d'un tty, et donc en faisant des appels dessus.
Vu que ce n'est pas un terminal, le pilote ne reconnaît pas la requête et retourne juste un code d'erreur pour le signifier au processus appelant, et ajoute un log depuis le kernel.
Ce n'est absolument pas un problème, c'est même tout à fait normal.
Ce qui l'est moins c'est que la commande pense que c'est un tty si ça ne l'est pas.
Sauf si c'est une commande qui s'attend à être utilisée avec un tty justement.
# Aucun pb à priori...
Posté par Francois Revol (site web personnel) . En réponse au message [Debian] : Améliorer ioctl.h pour communication non-standard. Évalué à 3.
ioctl() sert en effet à passer des commandes spécifiques aux pilotes de périphériques.
Parmi ces commandes, un ensemble sert à faire les requêtes sur les terminaux (virtuels ou réels, comme les ports série) :
http://man7.org/linux/man-pages/man4/tty_ioctl.4.html
ioctl(TCGETS) est appelé par la fonction tcgetattr() de la libc.
Quelle est la commande lancée depuis strace ?
Une partie de celle-ci (ou alors une redirection depuis le shell?) tente d'ouvrir le device publié par le pilote, en supposant qu'il s'agit d'un tty, et donc en faisant des appels dessus.
Vu que ce n'est pas un terminal, le pilote ne reconnaît pas la requête et retourne juste un code d'erreur pour le signifier au processus appelant, et ajoute un log depuis le kernel.
Ce n'est absolument pas un problème, c'est même tout à fait normal.
Ce qui l'est moins c'est que la commande pense que c'est un tty si ça ne l'est pas.
Sauf si c'est une commande qui s'attend à être utilisée avec un tty justement.