serial port - Hyper-V: Connecting VMs through named pipe loses data -
we trying connect 2 hyper-v vms through serial port. hyper-v exposes serial port named pipe host system, , implements server end of named pipe. consequentially, connect them, need write named-pipe client connects both vms, , copies data , forth.
we have written such application. unfortunately, this application loses data.
if connect 2 hyperterms, , have them exchange data, transmission succeeds, in many cases, receiving end reports errors, or transmission deadlocks. likewise, if use link run kernel debugger, seems hang often.
what cause of data loss? precautions must taken when connecting named pipes in such manner?
edit: have worked around problem, using kdsrv.exe. com port of debuggee continues exposed through named pipe, however, debugger end talks kdserv via tcp.
the data loss not due named pipes. infact com ports (emulated , physical) may lose data since operate small buffer in uart.
the named pipe receives data written com port. program reads data named pipe , writes named pipe. data loss can originate if write fast receiveing com port's uart can overflow leading data loss.
you may need add delay avoid exceeding baud rate expected receiving side.
in addition, missing resetevent()
calls in program.
for kd issues, may need add resets=0
connection string.
Comments
Post a Comment