We are investigating an issue about using libftdi-1.0 on SuSE 11.0 or
11.1. When read transfer is done from FT2232L, I got packet like this:

buf[0] = 0x31  buf[1] = 0x60  buf[2] = 0x31  buf[3] = 0x60  buf[4] =
0x31  buf[5] = 0x60  buf[6] = 0x20  buf[7] = 0x10  buf[8] = 0xD0

You can see there are three pairs of status bytes in the packet. While
on Debian, I got three packets like this:

buf[0] = 0x31  buf[1] = 0x60
buf[0] = 0x31  buf[1] = 0x60
buf[0] = 0x31  buf[1] = 0x60  buf[2] = 0x20  buf[3] = 0x10  buf[4] = 0xF0

FT2232H has a similar issue on SuSE:

buf[0] = 0x32  buf[1] = 0x60  buf[2] = 0x32  buf[3] = 0x60  buf[4] =
0x20  buf[5] = 0x10  buf[6] = 0xD0

while on Debian:

buf[0] = 0x32  buf[1] = 0x60
buf[0] = 0x32  buf[1] = 0x60  buf[2] = 0x20  buf[3] = 0x10  buf[4] = 0xF0

Does anyone know why the packet has 3 pairs of status bytes in one packet?

To see this error, you may need the attached patch for libftdi-1.0.

Regards,
Jie


--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to [email protected]   
Index: src/ftdi.c
===================================================================
--- src/ftdi.c	(revision 3932)
+++ src/ftdi.c	(working copy)
@@ -1171,6 +1171,9 @@ static void ftdi_read_data_cb(struct lib
 
     actual_length = transfer->actual_length;
 
+    for (i = 0; i < actual_length; i++)
+        printf ("buf[%d] = 0x%X  ", i, ftdi->readbuffer[ftdi->readbuffer_offset + i]);
+    printf ("\n");
     if (actual_length > 2)
     {
         // skip FTDI status bytes.

Reply via email to