libftdi Archives

Subject: Re: ftdi_read loses bytes (when latency is low)

From: Uwe Bonnes <bon@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Tue, 2 Dec 2014 13:27:00 +0100
Hello Hendrik,

more reasoning:
- What exact device are you using? How large is the receive buffer?
- Do you use any signalling between the FTDI and your serial device?

With 500 kBaud you receive about 50 bytes per ms. With a small receive
buffer and no RTS/CTS signalling on the FT232R with its 128 byte buffer,
overrun will happen in 3 ms. Your programm will wait forever for the lost
bytes.

The libftdi programm runs as a user program and other programms may keep your
from the CPU quite for some time. Realtime kernels, as I understand it, only
guarantee latency for kernel drivers, but not for a user program. So again,
using the kernel driver may help. And if things go wrong with the kernel
driver, it's a POOP (problem of other people) :-)

- Is the Device directly plugged to the PC or via a hub.  At least some time
ago, a USB 2 full speed (vs USB2 high speed) device directly connected to
the PC was only seviced from the linux PC in 1 ms steps. With an hub in between,
USB micro frames were used and things happened in 125 us steps. This could
also save you from overruns.

- Is it a real FTDI device or some fake rebuild?
In the latter case, you may hunt some FTDI-unrelated issues.

>>>>> "Hendrik" == Hendrik  <chasake@xxxxxxxxx> writes:

...

    Hendrik> [edit 2] I now see that as soon as the transfer goes wrong, the
    Hendrik> 2 status bytes that are transferred over USB (and don't show up
    Hendrik> in the packet data) start with 0162 instead of 0160 in the
    Hendrik> cases it goes OK. It remains 0160 until the next data packet is
    Hendrik> coming in...

I don't see this behaviour in th pastbin logs...

Bye
-- 
Uwe Bonnes                bon@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread