LinuxでVirtualBoxを実行しています。ゲスOSはWindowsXPです。
ボックスのシリアルポート(古い種類 DE-9 )にIR送信機を接続し、VirtualBoxの「シリアルポート」に以下を追加しました。
[v] Enable Serial Port
Port Number: COM1 IRQ: 4 I/O Port: 0x3F8
Port Mode: Host Device
Port/File_PAth: /dev/ttyS0
シリアルのグループにユーザーを追加しました。
現在:ホストでスニファを使用しています。すなわちjpnevulator
jpnevulator --ascii --timing-print --tty/dev/ttyS0 --read
ゲストOSを実行してIRソフトウェアを起動し、IRでデータを書き込みます(ゲストOS/WinXPの場合)。データは書き込まれますが、jpnevulator
には何も表示されません。
ここで何が欠けていますか?
OK。フィールドで多くのテストを行った後、私は純粋な初心者であり、トラフィックを監視する次の方法を見つけました。
VirtualBoxの「シリアルポート」:
[v] Enable Serial Port
Port Number: COM1 IRQ: 4 I/O Port: 0x3F8
Port Mode: Host Pipe
Port/File_PAth: /tmp/vbwincom1
そして、
socat /tmp/vbwincom1 -
パイプに書き込まれるデータは、ホストLinuxのターミナルに書き込まれます。
これは、シリアルではなくソケットを監視することによるものです。
誰かがソケットによるオーバーレイヤーの代わりに/ dev/ttyS0を監視するための解決策を持っているなら、私はそれを答えとして受け入れます-しかし今のところこれはそれをします。うまくいけば、それは他の誰かを助けるかもしれません。