Linuxで仮想シリアルポートエミュレータをセットアップしたい。再起動するたびに使用できるように、ポートを永続的にする必要があります。このように socat を使用してみましたが、
socat -d -d pty,raw,echo=0 pty,raw,echo=0
しかし、テストプログラムでこれらのVSP(仮想シリアルポート)を使用すると、ポートビジーの問題が発生することがよくあります。また、パーマネント/パーシステントVSPを作成するのは難しいと感じています。目的に合わせてtty0ttyを試してみたいと思います。しかし、ドキュメントとそのガイドの使用方法はほとんどありません。誰でもこれについて私を啓発できますか? socatの解決策もある場合は、コメントしてください。
次のソースのいずれかからtty0ttyパッケージをダウンロードします。
git clone https://github.com/freemed/tty0tty
抽出する
tar xf tty0tty-1.2.tgz
cd tty0tty-1.2/module
make
Sudo cp tty0tty.ko /lib/modules/$(uname -r)/kernel/drivers/misc/
Sudo depmod
Sudo modprobe tty0tty
ls /dev/tnt*
)に新しいシリアルポートが表示されるはずです。Sudo chmod 666 /dev/tnt*
シリアルポートに/dev/tnt0
(1,2,3,4など)としてアクセスできるようになりました。連続したポートは相互接続されていることに注意してください。たとえば、/ dev/tnt0と/ dev/tnt1は、直接ケーブルを使用しているかのように接続されます。
ファイル/ etc/modules(Debian)または/etc/modules.confを編集します
nano /etc/modules
次の行を追加します。
tty0tty
この方法では、カーネルの更新後もモジュールが永続化されないことに注意してください。したがって、カーネルを更新する場合は、tty0ttyを再度ビルドしてプロセスを繰り返してください。
カーネルの更新ごとにモジュールを移動しないと、systemctl --failed
はそのサービスを返しますsystemd-modules-load.service
は "failed
"で終了しました。 journalctl -xe | grep "Failed to find"
も。