I have a development board which will have 3 ACM interfaces when connected to Ubuntu host and i want to transfer data from Host to Device over ttyACM3.
I have followed the following procedure for data transfer,
Precondition:
Modify
/etc/inittab
to remove Linux console on/dev/ttyGS3
Create a binary file with a minimum length of about 20MBytes
Test Steps:
DUT side:
stty -F /dev/ttyGS3 raw -echo -echoe -echok -echoctl -echoke
HOST side:
stty -F /dev/ttyACM3 raw -echo -echoe -echok -echoctl -echoke
DUT side:
cat /dev/ttyGS3 > /tmp/rx_pattern.bin
HOST side:
cat ./pattern.bin > /dev/ttyACM3
By following above procedure i see some data(~300 KB) is missed at the DUT side randomly when i used Ubuntu 14.04. I have also used "dd" command for data transfer but still there is a data loss.
No data loss seen in Ubuntu 16.04 with the same procedure as mentioned above.
But i tried to transfer the same "pattern.bin" file from the Ubuntu 14.04 Host by using "minicom" application and "cat" command to receive from DUT side, surprisingly i don't see any data loss.
I have took USB Ellisys logs during issue scenario,
1.One of the "OUT" transaction is failed(handshake is NAK) and there is no "PING" transaction for the failed transfer.
2.Whereas in success scenario whenever "OUT" transaction fails, "PING" transaction is present and data is sent again.
Could anyone please help me out in figuring out this issue
8.21
Ubuntu 16.04:8.25
How to updatestty
in Ubuntu 14.04?