[BitVisor-devel:15] BitVisorのシリアル出力設定について

Shougo Matsushita shougo @ softlab.cs.tsukuba.ac.jp
2011年 1月 25日 (火) 13:01:47 JST


筑波大学 ソフトウェア研究室の松下正吾です。

以前も症状をMLに流した通り、BitVisorからのシリアル出力がうまく行っていません。
こちらでも原因を調べましたが、よく分からないため質問をさせてください。

環境としては、BitVisorのオプションの「TTY_SERIAL」オプションを有効にした状態で、
シリアルポートを備えたノートPCにBitVisorをインストールし、
受信側はシリアル/USB変換器を用いたデスクトップPCで受信しています。

BitVisorが動いていない状態や、BitVisorの「TTY_SERIAL」オプションが無効なら、シリアルポートで双方向通信ができることを確認しています。

まずBitVisor Ver.1.1だとシリアルポートの認識自体がうまく行かず、シリアル出力を受信しているPC側に何もデータが流れてきていませんでした。

この症状は先日リリースされたBitVisor Ver.1.1.1にアップデートすることにより、
保護ドメインでのserialoutやprintf()によるシリアル出力ができるようになりました。

しかしPC側で受信したデータがおかしく、どうシリアル受信の設定を変更してもデータが化けてしまいます。
core/builtin/bin_serialtestのプログラムでBitVisor側のシリアル受信を試したところ、こちらもデータが化けてしまいうまく動作しません。
dbgshからlogコマンドを実行してみると、BitVisorのログにはデータが化けずに記録されているようです。

シリアルポートの設定は、core/serial.cのソースコードとBitVisorのマニュアルに書いてあった設定を基に、次のような設定を使用しています。

Port: /dev/ttyUSB0
Speed: 115200
Bits: 8
Stopbits: 1
Flow control:なし

BitVisor Ver.1.1.1でシリアル入出力がうまく動いている人がいましたら、どのように設定したら動作したか教えてもらえないでしょうか。

加えて、これはBitVisor側の仕様だと思うのですが、
ゲストOSのLinuxを起動して端末が初期化されない限り、BitVisorのシリアル出力はされないようです。
この動作は正しいでしょうか。

-- 

Shougo Matsushita <shougo @ softlab.cs.tsukuba.ac.jp>



BitVisor-devel メーリングリストの案内