web-dev-qa-db-ja.com

ハードウェア端末用のGettyの構成

次のシリアル回線を構成しようとしています。

9600 Baud
Word Length: 8BIT
Parity: Mark 
XON/XOFF On

グーグルでの検索では、これまでのところ「パリティマーク」の部分の詳細を見つけることができないようです。 vmを取得してハードウェア端末を割り当てようとしています。最初にhypertermを使用して端末をセットアップした場合は、VM正常に動作しますが、それ以外の場合は機能しません。移動することを目的としています。これは、a VMから、ハイパータームがオプションではないある時点での実際のハードウェアになります。

ありがとうございました。

1
epl692

agettyのソースコードは このチャンクautobaudに関連していることを示しています:

/* Optionally detect the baud rate from the modem status message. */
debug("before autobaud\n");
if (serial_tty_option(&options, F_PARSE))
    auto_baud(&termios);

F_PARSEオプションは ここで設定

    case 'm':
        op->flags |= F_PARSE;
        break;

これは、agetty-m--extract-baud)機能に対応します( 手動 を参照)。

マニュアルページのメモ

負荷の高いシステムでは-m機能が失敗する可能性があるため、コマンドラインで予想されるすべてのボーレートを列挙して、BREAK処理を有効にする必要があります。

つまり、自動ボーまたは9600ボー機能を取得するには、getty行に「-m 9600」が必要です。

mark parityの詳細は(同意して)見つけるのが難しいです。 LinuxおよびMARK/SPACEパリティThomasLochmatterによると

  • 8M1(8データビット、MARKパリティ、1ストップビット)は8N2でエミュレートできます
  • 8S1(8データビット、SPACEパリティ、1ストップビット)は2つの方法でエミュレートできます(そしてソリューションの概要を説明します)

最後に(agettyのマニュアルに戻る)XON/XOFFに関して:

-h--flow-control
ハードウェア(RTS/CTS)フロー制御を有効にします。必要に応じてソフトウェア(XON/XOFF)フロープロトコルを無効にするのはアプリケーションに任されています。

明確にするために、agetty開発者は、接続を行った後、stty経由ではなく、ターミナルI/O( getty を参照)にXON/XOFFが設定されることを期待しています。

1
Thomas Dickey