Hi to All,
Some news about the problem both USB FS and HS with ULPI HS PHY (USB3300) to work simultaneously. While measuring the performance on a Linux box (a20-Lime2-SOM Linux 3.4.79+) new observations make it possible to gain an insights into it. To make measurement easy I prepared and use following Linux shell commands to control ChibiOS write command without terminal utility and visualization of the data received from the device:
Code: Select all
Start USB FS: echo -ne '\r\n\r\nwrite\r' > /dev/ttyACM0 | cat /dev/ttyACM0 > /dev/null &
Start USB HS: echo -ne '\r\n\r\nwrite\r' > /dev/ttyACM1 | cat /dev/ttyACM1 > /dev/null &
Stop USB FS: echo -ne '\r' > /dev/ttyACM0 | killall -9 cat
Stop USB HS: echo -ne '\r' > /dev/ttyACM1 | killall -9 cat
This way and and with combination with Linux utility screen /dev/ttyACM0/1 I found possibility to restore the stopped communication over USB FS. At one of the test sequences I get after a few restoration cycles to steady (working many hours without degradation or freezing) communication with USB FS. The result of described test sequence is shown on the graphics in the attached file.
My supposition is that the problem of communication freezing is some kind of incompatibility at interaction between terminating clients and ChibiOS application. This suggestion is strengthened by observation that very big amounts of data are buffered into the Linux box (causing long amount of data printed after sending a character to stop write command). Observed performance degradation and final freezing can be a result of buffer overflow in Linux at extremely fast data sending from the device. The behavior in Windows (tested always with terminal utility and data visualization) could be more critical causing the lack of communication at all.
Any ideas how to trace / debug the problem from the host and/or ChibiOS sides?
Best regards
Chris