[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:22287] serial port transfer



たかい@大阪です。こんにちは。
Debian Specificな話題ではないのですが、
linux関係のMLはここしか読んでないので、質問させてください。

2台のlinuxマシンのシリアルポートを、クロスケーブルで繋いで
データ通信させようとしている(最終的にはSLIPしたい)のですが
データが正常に送れません。

たとえば、マシンAでcat > /dev/ttyS0、Bでcat < /dev/ttyS1
(接続するポートはこれで問題ありません)として、
A側で例えばabcde(リターン)とタイプすると、B側では
abcde

abcde
(空行7行)
abcde
(以下延々と空行)
と表示され止まりません。
送信受信を逆のマシンでやっても同じです。

おそらく結線やsetserialの問題ではなく、sttyのような
高レベルの問題であろうと予想するのですが
(そうでなければabcdeと表示しないと思います)
どなたか解決の糸口をアドバイスお願いいたします。

以下、自分で調べた範囲の情報を書きます。
マシンAはPentium時代の普通のデスクトップマシンで、
slinkが入ってます。今回使ってないほうのシリアルポートでモデムに接続し
普通に通信は行なえています。
起動メッセージには
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
とあります。
マシンBはDynabook V486Aというとても古いラップトップマシンです。
ハードディスクにはフロッピー経由でslinkのbase0_1.tgzを展開しただけで
ほんとの最小限しか入っておりません。MSDOSからloadlinで起動しています。
シリアルポート1つだけで、普通のマシンにもある9pin D-subコネクタのものです。
起動メッセージには
/dev/ttyS0 at 0x03f8 ( irq = 4 ) is a 16450
とあります。

ケーブルは、ごく普通のインターリンクケーブルで、
1,9番は未結線、2-3,3-2(TxD<->RxD)、4-6,6-4(DTR<->DSR)、5-5(GND)、7-8,8-7(RTS<->CTS)
の結線に問題がないことは確認してあります。

setserialについては詳しくないのですが、最初から入っている/etc/rc.boot/0setserial
はまったくいじっておりません。

sttyですが、stty saneした状態で上記の症状が出ます。
また、フロー制御じゃあるまいなと思い、stty -ixon -ixoff crtscts < /dev/ttyS1
として試してみましたが、同様です。
sttyの状態はこうなっています。
me:~ >stty -a < /dev/ttyS1
speed 300 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl -ixon -ixoff
-iuclc -ixany imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke

(speedが300なのは、速度のせいかと思って変更したものです。)

何かわかる方おられましたら、アドバイスよろしくおねがいします。


高井 智宏
takai@xxxxxxxxxxxxxxx
takai@xxxxxxxxxxxxxxxxxxxx