どの/ dev / ttyS *が私のシリアルポートであるかを知るにはどうすればよいですか?


33

シリアルポートが1つしかないラップトップがあります。

私が入った:

/dev 

ディレクトリ、私が見つけた:

ttyS0
ttyS1
ttyS2
ttyS3

それらの「ttyS」のどれが私のシリアルポートを指しているのかをどうやって知るのですか?


回答:


32

私はそれがこのコマンドだと思う:

dmesg | grep tty

私のLinuxボックス(シリアルポートが1つしかない)でそれを実行すると、単一のttyS0出力行が生成されます。自分で試してみてください、あなたは私が意味するものが表示されます。


つまり、そのコマンドを実行した後、応答が... console [tty0]が有効になっていて、他のデバイスが/ dev / tty0に接続されていない場合(質問の明らかな愚かさについては申し訳ありません)。
ヘクトール

1
唯一の問題は、dmesgの出力をクリアできることです。そのため、実行が遅すぎると、運が悪くなります。/ proc / tty / driver / serialを調べる方がより堅牢な答えのようで、そのポートにデータを書き込むときにカウントが増加するrx割り込みを確認します
Neil McGill

申し訳ありませんが、出力が表示されない場合はどうすればよいですか?
user3019105

現在、上記のシリアル回線を介して端末にいる場合は、入力ttyするだけでttyの名前を取得できます。OPは「どのシリアルポートがgetty実行されているのか?」という質問を投げかけなかったので、これがOPの意味だと思います。
トム・ニコルズ

14

で検出されたUARTを確認し/proc/tty/driver/serialます。uart:unknown意味のある行:何も検出されない(そしておそらく存在しない)。

# cat /proc/tty/driver/serial 
serinfo:1.0 driver revision:
0: uart:16550A port:000003F8 irq:4 tx:0 rx:0
1: uart:16550A port:000002F8 irq:3 tx:111780 rx:1321 RTS|DTR|DSR
2: uart:unknown port:000003E8 irq:4
3: uart:unknown port:000002E8 irq:3

何かが接続され、CTS、DSR、またはCDの行(これらは入力行です)を駆動している場合、実際に何かがあることを確認することもできます。rx-byte-countについても同様です。


7

プログラムでこれを行う必要がある場合、dmesgからの出力の読み取りが面倒になる可能性があります。代わりに、フォルダー/ dev / serial / by-idには、デバイスの識別可能なデータにちなんで名付けられ、特定の/ dev / tty *を指すsymリンクがありますに接続されています。

これがディストリビューション固有の特別なudevルールかどうかはわかりませんが、Ubuntuでうまく機能します。機能するかどうか教えてください。


5

ttyS0スルー3対応するCOM1スルー4それぞれ。通常、これらは同じハードウェアリソースを持ち、常に検出できるとは限らないため、常に存在します。


答えてくれてありがとう。だから、ttyS0をシリアルポートハードウェアにマッピングしたいということをLinuxに伝えたいと言ったら、何をする必要がありますか?
sivabudh

あなたは使用するsetserialttyS0には、シリアルポートのものに使用するリソースをマッピングします。linux.die.net/man/8/setserial ただし、COM4を超えるものには通常Linuxがそれを検出し、必要に応じてシリアルデバイスを追加できる十分な補助ハードウェアがあるため、これは通常は必要ありません。
イグナシオバスケス-アブラムス

0

データの取得にsetserial使用/proc/tty/driver/serialするコマンドもあります。

# setserial -g /dev/ttyS[0123]
/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3
/dev/ttyS2, UART: unknown, Port: 0x03e8, IRQ: 4
/dev/ttyS3, UART: unknown, Port: 0x02e8, IRQ: 3
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.