Author: Edgar Bonet Date: To: guilde Subject: Re: Minicom et fichier capturé
Frédéric a écrit : > Bon, maintenant que j'ai mon fichier avec des trames pour tester,
> comment puis-je faire croire au soft que ça provient d'une liaison
> série ? J'ai trouvé des fils de discussion parlant de socat,
Oui, socat semble une bonne option. C'est un couteau suisse à tout
faire...
> mais je ne vois pas exactement comment faire ; en particulier, comment
> dire d'utiliser 7 bits et la parité (à moins que ça ne soit à fait que
> côté client qui va lire) ?
A priori il n'y a pas besoin. Tu dois demander à socat d'établir une
communication par pseudo-terminaux (pty). Les pty sont des ports série
virtuels, qui servent normalement à implémenter des choses comme telnet,
ssh, script, tmux, etc. Pour le programme qui se connecte au pty
esclave, il voit ça comme un /dev/tty* classique (même API : mêmes
ioctl() acceptés). Si ton soft veut configurer ce port série avec 7 bits
de données, il peut le faire, MAIS, ce réglage est ignoré par le pty. La
communication fonctionnera correctement quels que soient les réglages du
port.
Tu as plusieurs façons d'utiliser socat. Tu peux lui demander de lancer
lui même le soft en question, en donnant une adresse de type
EXEC:<command-line> ou SYSTEM:<shell-command>. Dans un cas comme dans
l'autre, tu dois utiliser l'option « pty » pour que la communication se
fasse par pty. L'autre option est d'utiliser une adresse de type PTY.
Dans ce cas socat va créer la paire de pty, est c'est ensuite à toi de
lancer le soft en lui demandant d'ouvrir le pty esclave créé par socat.
Si jamais ce soft râle parce que le port n'est pas pré-configuré comme
il faut (ça m'étonnerait), tu peux demander à socat de le configurer.
Regarde dans le manuel, section « TERMIOS option group ». Par exemple,
l'option « cs7 » le configure pour des caractères de 7 bits.