Il y a aussi tty0tty http://sourceforge.net/projects/tty0tty/ qui est un véritable émulateur de null modem pour linux.
Il s'agit d'un simple module de noyau - un petit fichier source. Je ne sais pas pourquoi il n'a reçu que des pouces en bas sur sourceforge, mais il fonctionne bien pour moi. La meilleure chose à son sujet est qu'il émule également les broches matérielles (RTC/CTS DSR/DTR). Il implémente même les commandes iotcl TIOCMGET/TIOCMSET et TIOCMIWAIT !
Sur un noyau récent, vous pouvez obtenir des erreurs de compilation. Ceci est facile à corriger. Insérez simplement quelques lignes en haut du source module/tty0tty.c (après les includes) :
#ifndef init_MUTEX
#define init_MUTEX(x) sema_init((x),1)
#endif
Lorsque le module est chargé, il crée 4 paires de ports série. Les périphériques sont /dev/tnt0 à /dev/tnt7 où tnt0 est connecté à tnt1, tnt2 est connecté à tnt3, etc. Il se peut que vous deviez corriger les permissions des fichiers pour pouvoir utiliser les périphériques.
éditer :
Je suppose que j'ai été un peu rapide avec mon enthousiasme. Bien que le pilote semble prometteur, il semble instable. Je n'en suis pas sûr, mais je pense qu'il a fait tomber en panne une machine du bureau sur laquelle je travaillais depuis chez moi. Je ne peux pas vérifier tant que je ne suis pas de retour au bureau lundi.
La deuxième chose est que TIOCMIWAIT ne fonctionne pas. Le code semble avoir été copié à partir d'un code d'exemple "tiny tty". La gestion de TIOCMIWAIT semble en place, mais il ne se réveille jamais parce que l'appel correspondant à wake_up_interruptible() est manquant.
éditer :
L'accident dans le bureau était vraiment la faute du conducteur. Il manquait une initialisation, et le code TIOCMIWAIT, complètement non testé, a provoqué un crash de la machine.
J'ai passé hier et aujourd'hui à réécrire le pilote. Il y avait beaucoup de problèmes, mais maintenant il fonctionne bien pour moi. Il manque encore du code pour le contrôle de flux matériel géré par le pilote, mais je n'en ai pas besoin car je gérerai moi-même les broches en utilisant TIOCMGET/TIOCMSET/TIOCMIWAIT depuis le code en mode utilisateur.
Si quelqu'un est intéressé par ma version du code, envoyez-moi un message et je vous l'enverrai.