Je souhaite configurer un émulateur de port série virtuel sous Linux. Je veux que les ports soient permanents, afin que je puisse les utiliser chaque fois que je redémarre. J'ai essayé d'utiliser socat à cette fin, de cette manière,
socat -d -d pty,raw,echo=0 pty,raw,echo=0
Mais je rencontre souvent des problèmes de port occupé lors de l'utilisation de ces VSP (ports série virtuels) dans mes programmes de test. De plus, j'ai du mal à créer des VSP permanents/persistants. Je veux maintenant essayer tty0tty pour mes besoins. Mais, il existe rarement de la documentation et comment utiliser ce guide. Tout le monde peut m'éclairer là-dessus? Veuillez commenter, s’il existe également une solution pour socat.
Téléchargez le paquet tty0tty depuis l’une de ces sources:
git clone https://github.com/freemed/tty0tty
L'extraire
tar xf tty0tty-1.2.tgz
cd tty0tty-1.2/module
make
name__Sudo cp tty0tty.ko /lib/modules/$(uname -r)/kernel/drivers/misc/
Sudo depmod
Sudo modprobe tty0tty
ls /dev/tnt*
)Sudo chmod 666 /dev/tnt*
Vous pouvez maintenant accéder aux ports série en tant que /dev/tnt0
(1,2,3,4, etc.). Notez que les ports consécutifs sont interconnectés. Par exemple,/dev/tnt0 et/dev/tnt1 sont connectés comme si vous utilisiez un câble direct.
éditez le fichier/etc/modules (Debian) ou /etc/modules.conf
nano /etc/modules
et ajoutez la ligne suivante:
tty0tty
Notez que cette méthode ne rendra pas le module persistant sur les mises à jour du noyau , donc si vous mettez à jour votre noyau, assurez-vous de générer à nouveau tty0tty et répétez le processus.
Si vous ne déplacez pas le module à chaque mise à jour du noyau, systemctl --failed
renverra le service systemd-modules-load.service
terminé par "failed
name__". Également sur journalctl -xe | grep "Failed to find"
.