[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 メーリングリストの案内