Ultibo wrote:Excellent, it will be great if you can narrow it down any further.
Since the results are positive overall we'll move on with applying the current changes to the FTDI driver as well in the meantime.
Had a chance to do more tests. It turns out that the Linux driver for the PL2303 does not signal the RTS line correctly. I tested the PL2303 Linux driver on both the newest Raspberian os and an i7 based Ubuntu 16.04 system. Didn't notice this before because the Linux system was able to handle hundreds of kbytes of data at 460800 baud without dropping a byte. I had assumed the Linux driver correctly signaled the RTS line so I did not check the signal on a scope. So all my prior tests that assumed the Linux drivers worked correctly and it was the Ultibo system that failed are invalid.
Since the PL2303 devices do not work under Windows I decided to test the RTS/CTS signaling using only pi 2B and 3B devices running Ultibo. In that scenario the RTS/CTS signaling is operating correctly between any two Ultibo systems.
I did notice one issue where the RTS line goes inactive for a long pause before becoming active again. On average the RTS line is active for about 30 to 40 mill-seconds then it goes inactive for about 120 to 140 milli-seconds. I will need to see if this is caused by my code or is caused by the PL2303 driver changes.
Will be great to have the patches applied to Ultibo FTDI driver. At least I know the FTDI devices work correctly on Windows and Linux so I can fully test the changes to the Ultibo driver against a known working systems.