Estou executando o VirtualBox no Linux. Acho que o sistema operacional é o Windows XP.
Eu tenho um transmissor IR conectado à porta serial (sim, o tipo antigoDE-9), na minha caixa e adicionei o seguinte no VirtualBox "Serial Ports":
[v] Enable Serial Port
Port Number: COM1 IRQ: 4 I/O Port: 0x3F8
Port Mode: Host Device
Port/File_PAth: /dev/ttyS0
Adicionado usuário ao grupo para serial.
Agora: estou usando o sniffer no host; ou seja, jpnevulador
jpnevulator --ascii --timing-print --tty /dev/ttyS0 --read
Execute o sistema operacional convidado e inicie o software IR e grave dados por IR (no sistema operacional convidado/WinXP). Os dados são gravados, mas nada aparece no arquivo jpnevulator
.
O que estou perdendo aqui?
Responder1
OK. Depois de muitos testes em campo, sou um novato e descobri a seguinte maneira de monitorar o tráfego:
Em "Portas seriais" do VirtualBox:
[v] Enable Serial Port
Port Number: COM1 IRQ: 4 I/O Port: 0x3F8
Port Mode: Host Pipe
Port/File_PAth: /tmp/vbwincom1
E então use
socat /tmp/vbwincom1 -
Os dados gravados no pipe são gravados no terminal no host Linux.
Isso ocorre monitorando o soquete em vez do serial.
Se alguém tiver uma solução para monitorar /dev/ttyS0 em vez de uma camada por soquete, aceitarei isso como resposta - mas por enquanto é isso. Espero que isso possa ajudar outra pessoa.