USB(RS-232の代わりに)ポートをテキスト端末接続としてどのように使用できますか?私が正しい質問をしたことを願っています。

USB(RS-232の代わりに)ポートをテキスト端末接続としてどのように使用できますか?私が正しい質問をしたことを願っています。

私のLinuxシステムにはUSBポートがありますが、RS-232ポートはありません。 USBケーブルをLinuxシステムに接続し、USBケーブルのもう一方の端をWindows 11を実行し、PuTTYを搭載したマイPCに接続できるようにしたいです。

一方の端にFTDI USBケーブルがあり、もう一方の端に単純なUSBコネクタしかない場合は、必要なケーブルを作成できます。 RS0-232コネクタの代わりにUSBコネクタを使用し、FTDI TX <> RX USBコネクタ、FTDI RX <> TX USBコネクタ、もちろん共通GNDも使用しました。 FTDIチップが処理できる内容に応じて、3.3Vまたは5Vの信号伝送を保証する必要があります。ヌルモデムなどの物理的なケーブル接続に関係なく、これは問題です。本当の質問はソフトウェア構成です。

特定のUSBポートに対してgettyセッションを確立するようにLinuxシステムをどのように設定しますか?私がこれを見つけることができると仮定すると、議論のために/ dev / ttyUSB0ですか?

Linuxシステムはsystemdに基づいているので理解しています。 UDEVルール/スクリプトを使用してターミナルセッションを確立することはできません。これは、寿命が長い子プロセスまたは孫プロセスであるためです。

私はこのターミナルセッションがシステムコンソールを実際に模倣していないことを知っていて大丈夫です。システムの起動後にセッションを希望します。

この問題を解決するには長い時間がかかることがわかります。ご了承いただきありがとうございます。私が本当に助けが必要なのは、Linuxシステムのソフトウェア構成です。

ベストアンサー1

私が理解したのは、USBポートからシリアルコンソールポートを作成することです。

まず、これらのケーブルを作成するには2つのトランスデューサが必要です。各コンピュータのUSBポートにはUSB-UARTコンバータが装備され、コンバータは1つのRXから別のTXに連続して接続する必要があります。可能な接地ループを取り除くには、接地を互いに接続しますが、ガルバニック絶縁(光カプラ対、各方向に1つのTX→RX)を使用することをお勧めします。最後に、USB - USBヌルモデムケーブル、両端がコンピュータに接続されている場合はシリアルポートのように見え、両端が接続されると、これらのシリアルポートは標準のヌルモデムケーブルで接続されているように見えます。

次に、このUSBシリアルポートでsystemd gettyサービスを実行する必要があります。 Linuxコンピュータにケーブルを接続し続けることができる場合は、単にサービスを有効にすることができますserial-getty@ttyUSB0

systemctl enable [email protected]

起動後にシステムの接続と切断を可能にするには、USBシリアルデバイスが接続されているときにサービスが開始およびプルされると、サービスがシャットダウンするようにsystemdとudevを一緒に実行するように設定する必要があります。アウト。

これを行うには、デバイスを有効にする必要があります。頼るサービスについて。環境変数をudev使用してSYSTEMD_WANTS依存関係を動的に追加するルールを追加します。

ACTION=="add", SUBSYSTEM=="tty", KERNEL=="ttyUSB*", ENV{SYSTEMD_WANTS}+="serial-getty@%k.service"

このルールは/etc/udev/rules.d/99-ttyUSB.rules%kカーネルデバイス名の取得」を意味しますttyUSB0

udev ツールを使用して、どの udev ルールフィルタが最も便利であるかを確認します。このフィルタは非常に広く、USBシリアルのように見えるすべてのデバイスの代わりにgettyを実行できます。実際には2つのttyUSBとして現れるモデムですが!たとえば、次のようになります。ここ詳しくはこちらをご覧ください。ガイドライン

これで、私のDebianシステムでは次に記録されます/var/log/daemon.log

(plugged)
Dec  6 16:31:39 uc-s4m75657 systemd[1]: Started Serial Getty on ttyUSB0.
Dec  6 16:31:41 uc-s4m75657 ModemManager[632]: <info>  [base-manager] couldn't check support for device '/sys/devices/pci0000:00/0000:00:14.0/usb2/2-7': not supported by any plugin
(unplugged)
Dec  6 16:32:27 uc-s4m75657 systemd[1]: [email protected]: Succeeded.
Dec  6 16:32:27 uc-s4m75657 systemd[1]: Stopped Serial Getty on ttyUSB0.

もちろん現れて消えるのには/bin/login過程がある。ttyUSB0

また、見ることができますこの回答

同期に許可される可能性のあるシリアルレートのセットを制限する必要がある場合は、オーバーレイファイルを使用してこれを実行できます。実行して次を追加します。systemctl edit [email protected]

[Service]
ExecStart=-/sbin/agetty 115200 %I $TERM

または、使用したい速度に関係なく、USBシリアルアダプタがそれをサポートしていることを確認してください。

おすすめ記事