0

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:

  1. Modify /etc/inittab to remove Linux console on /dev/ttyGS3

  2. Create a binary file with a minimum length of about 20MBytes

Test Steps:

  1. DUT side: stty -F /dev/ttyGS3 raw -echo -echoe -echok -echoctl -echoke

  2. HOST side: stty -F /dev/ttyACM3 raw -echo -echoe -echok -echoctl -echoke

  3. DUT side: cat /dev/ttyGS3 > /tmp/rx_pattern.bin

  4. 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

2
  • No one to answer? Jul 23, 2018 at 5:30
  • Also stty version is different on both the hosts. Ubuntu 14.04: 8.21 Ubuntu 16.04: 8.25 How to update stty in Ubuntu 14.04? Jul 23, 2018 at 7:46

0

You must log in to answer this question.

Browse other questions tagged .