I am charged with the task to design the architecture to stress (burn-in) test computer's USB ports. Requirements are not defined yet, and I have double complicated task - to define what to test and under which conditions, and which tools to use to perform the tests. I have put the following initial requirements:
- test must be automated - runnable from the script/batch file;
- is able to test both interfaces - USB2 and USB3 - with the same USB3.0 device (to eliminate manual replacement of the 2.0 and 3.0 devices);
- USB is about command/data transmission, and it does not matter much which device I use, but it must stress communication channels in both directions. The easiest choice is USB flash drive 3.0 or higher, being continuously read from and written to. Must be relatively cheap and easy.
Now the difficulties and questions:
- what would you improve/add to the requirements?
- is there any better way you can propose - in terms of methodology and devices used?
- re: USB2/USB3 - I can not figure out if it is possible to remove and reinstall the USB device programmatically forcing it to function in specific mode;
- does USB provide any lane/channel statistics - e.g. size of transmitted/received information (frames/packets), retransmissions, errors etc;
- what software is available, ideally open source/free? E.g.
ddis an option for stress test, but I totally can not find any utility providing stats for USB.
Great thanks to @Ale-chenski
If you are in business of QA for production, you only need to check for assembly defects and loss of continuity. Which means that you don't need to stress much, and check for only quick facts of connectivity for all (current) 5 types of USB modes (SS+, SS, HS, FS, LS).
This seems to be a good task to pursue which would satisfy requirements. Now further question -
How to achieve it in the best, automated, and if possible cost-effective way?
Maybe standard solutions? Or custom solution using standard equipment and available software?
Ok, moderator did not like my "broad" question, requiring me to "describe your situation and the specific problem you're trying to solve". So here they are:
USB 3.0 flash drive is installed into the USB 3.0 connector. I need to reinitialize interface to use this drive in USB 2.0 mode without removing it from the connector. What commands, Linux and Windows, do I use?
I want to transfer as much data through USB as possible. What command, Linux and Windows, stresses USB connectivity most in terms of data throughput?
I need to see how much data was transferred through USB interface, and how much transmission errors were detected. What command, Linux and Windows, do I use?