PortDock

USB-serial adapter latency — why frames split and replies arrive late

USB adapters batch received bytes instead of passing them on at once. How the FTDI 16 ms latency timer affects Modbus RTU framing and replies, and what to do.

USB moves data in scheduled batches. A USB-serial adapter therefore does not pass every received byte to the PC immediately; it sends a batch when its buffer fills or a timer expires. FTDI chips call this the «Latency Timer», 16 ms by default.

What goes wrong

What to do

How to recognise it

If one request appears as two lines in the log and both show «CRC FAIL», it was split. Line timestamps clustering at roughly 16 ms steps point to the latency timer.

Published 2026-10-17