web-dev-qa-db-ja.com

シリアルポートのボーレートを決定する方法は?

コンソールサーバーをセットアップしていて、ポートの正しいボーレートを決定する必要があります。可能であれば、コマンドラインからこれを実行します。誰か知っていますか?

19
thepocketwade

あなたが探しているプログラムは「setserial」と呼ばれています。

http://linux.die.net/man/8/setserial

4
andrewd18

setserialはLinux固有ですが、sttyコマンド(UNIXで利用可能)を使用して、ttyの速度やその他の特性を確認することもできます。

sttyは標準入力で動作するため、stty < /dev/ttyXXは特定のttyに関する情報を提供します。または、sttyの標準入力を設定できない場合は、-F /dev/ttyXXオプションを使用できます。

26
cjs

コンソールサーバーについて言及し、この質問にlinuxのタグが付いているので、Linuxサーバーに接続していると想定します。確認する場所がいくつかあるように、サーバーはシリアルコンソールを使用するように構成する必要があります。

カーネルのセットアップでは、カーネルのコマンドラインに「コンソール」パラメーターを追加します。たとえば、「console = ttyS0,9600」を追加すると、9600ボーで最初のシリアルポート(DOS/Windows用語では/ dev/ttyS0、COM1)にメッセージを送信するようにカーネルに指示します。これは、ブートローダーの設定を通じてコマンドラインに追加できます。 grubを使用している場合、これは通常/boot/grub/grub.confというファイルになります。従来のキーボード/ビデオコンソール(tty0)およびシリアル(/ dev/ttyS0)には、複数のコンソールパラメーターを設定できることに注意してください。例: "console = tty0 console = ttyS0,9600"

シリアル経由でログインプロンプトを提供するには、/ etc/inittabを編集し、次のような行を追加/編集する必要があります。 s0:12345:respawn:/ sbin/agetty 9600 ttyS0 vt100この行は、agettyプログラムに、9600ボーで/ dev/ttyS0にログインプロンプトを生成するように指示します。

通常、カーネルとagettyセットアップの間でシリアルポートとボーレートを一致させる必要があることに注意してください。上記の設定を確認することで、サーバーのボーレートを決定できるはずです。

2
user10489