Armadilloフォーラム

seri2eth、シリアル接続が抜けていると動作しない

hondah

2015年5月14日 20時32分

いつもお世話になっております。
本田と申します。

Armadillo460にてseri2ethを使用、
CON19に画面をシリアル接続し、動作確認しておりました。

しかし、Armadillo起動時にシリアルケーブルを接続をせずに、
後から挿した場合、画面は何も反応しませんでした。

Armadillo起動時にシリアルケーブル接続していると正常に動作したのですが、
何か対応策はあるでしょうか。

環境
Armadillo460
atmark-dist-20140602(ATDE3を使用)
linux-2.6.26-at20
/etc/config/rc.localにて"seri2eth -d /dev/ttymxc3"を実行

serial.conf
SOCKPROTO 0
CONNECTADDR 0.0.0.0
BAUDRATE 38400
DATALEN 3
PARITY 0
STOPBIT 0
FLOWCTRL 1
PORTNO 2101

ご存じの方、アドバイスをいただければ幸いです。
以上、よろしくお願いいたします。

コメント

中村です。

> しかし、Armadillo起動時にシリアルケーブルを接続をせずに、
> 後から挿した場合、画面は何も反応しませんでした。
>
> Armadillo起動時にシリアルケーブル接続していると正常に動作したのですが、
> 何か対応策はあるでしょうか。

もしかしたら400シリーズのシリアルドライバの
ハードウェアフロー制御のバグが原因かもしれません。

試に、設定の
> FLOWCTRL 1
を'0'にしてやってみてください。

あるいは
> FLOWCTRL 1
は、このままで、seri2ethを起動する前に
stty -F /dev/ttymxc3 crtscts
を実行。

このあたりも参考に。
https://armadillo.atmark-techno.com/forum/armadillo/1176#comment-1405

--
なかむら

いつもお世話になっております。
本田です。

中村様、ありがとうございます。

> > FLOWCTRL 1
> は、このままで、seri2ethを起動する前に
> stty -F /dev/ttymxc3 crtscts
> を実行。

こちらをrc.localのほうで実行したところ正常に動作しました。
ハードフロー制御オフの場合でも
"tio->c_cflag &= ~CRTSCTS"にて後から書き換え出来ていますね。
今回はこちらを対応策とします。

迅速な対応、ありがとうございました。
今後ともよろしくお願い致します。