I'd like to report to folks that I have successfully migrated a design that was based on SuiteUSB to the Microsoft USB stack and WinUSBNet. I will never use cypress software again if I can help it. If you move to the MS USB stack, you get a simple driver install, a USB stack that will grow with OS releases, and WinUSBNet that was developed by people that understand and love c#. SuiteUSB was not IMO.
Before the investigation, I started having problems with weird exceptions, x32/x64/any, countless updates to SuiteUSB, CyUsb, etc. It seems every release from MSFT required EVERYTHING from Cypress to be touched.
If you are starting a new project, look very, very closely at using WinUSB. I've also built some first prototypes that are running LibUSB, which is a platform independent USB library. That library uses WinUSB on the lower edge when running on Windows. And it is working under Mono. I have another project using FTD600 USB part, and I see a path to have a common library for FTDI and Cypress parts, that runs on Windows and under Mono. The holy grail would be to get running under dotnet core, because then the mono dependency goes away. But currently there's a hitch in LibUSB that seems to require Winforms. But someone will iron that out.
In short, if you are thinking about directions for a new product, the days of custom vendor software should be coming to a close. I hope. It cannot come soon enough. This update to Win10 version 1803 was very painful from a cypress USB perspective.
Hello Matt Taylor,
- CYUSB3 driver's latest version 184.108.40.206 can be used across different builds of Windows 10 from till RS3. There need NOT be a different version of driver to be used with different build.
- Also, for Windows 7 and below, WinUSB cannot be a better option compared to CYUSB3. For Windows 10 and above, customers can consider using WinUSB.
Cypress would also look forward to using WinUSB instead of CYUSB3 driver in the future.