4 Replies Latest reply on Nov 21, 2018 5:13 AM by SananyaM_56

    CY7C65215 use standard (non-Cypress) Windows driver (USBSER.SYS) for UART-to-USB

      We have a scenario in which we are developing a board application (including two PSoCs) for an international customer.  Our present Silicon Laboratories USB bridge chip requires SiLabs drivers to be installed on the user's machine.  The IT departments of many customers (including this company) prohibit the loading of non-standard external drivers in their employees machines.  From the CY7C65215 datasheet it appears that the standard Windows driver will/may be used if all we are doing is UART-to-USB traffic.  Nothing special.  However, the CYUSBS236 development kit is showing no way around installation and use of the Cypress driver.


      We found we could force Windows to load the standard Microsoft driver by modifying the VID/PID,  Tests with a terminal emulator showed the USB bridge to be functioning.  However, after changing the VID/PID we can no longer change it back to the Cypress default because we can't list it in the configuration utility anymore.  The chip is functional, but bricked from a configuration standpoint.  Is there a way to unbrick it? 


      This can't be this difficult.  How do we force the use of the standard Windows driver which we believe is USBSER.SYS?



        • 1. Re: CY7C65215 use standard (non-Cypress) Windows driver (USBSER.SYS) for UART-to-USB



          On changing the VID/PID, the vendor interface of the device would be coming under the "Other Devices" section as shown in the screenshots below. Please manually bind it to the cyusb3.sys driver present in <install directory>\Program Files (x86)\Cypress\USB-Serial SDK\Cypress USB-Serial Driver\DriverBinary\Vendor_Driver\bin after which you should be able to change back to the default VID/PID in the Configuration Utility. You can then refer to the following KBA for binding to the Microsoft CDC driver.


          Best Regards,


          • 2. Re: CY7C65215 use standard (non-Cypress) Windows driver (USBSER.SYS) for UART-to-USB



            Thanks for the quick reply.  Your answer, if we interpreted it correctly, was twofold:  1) to return the dev board to the Cypress VID/PID and bind to the CYUSB3.SYS driver, and 2) to then bind to the Windows CDC driver.


            For #1, we failed to return the dev board to the Cypress VID/PID and install the CYUSB3.SYS driver.  Windows 10 claimed that it was not a valid driver.  It would still not show up in the Cypress configuration utility.  It appears that changing the VID/PID bricked the chip for these purposes. 


            We abandoned that effort and attempted to plug a second CYUSBS236 development board directly into a laptop that did not have any Cypress software or drivers loaded.  Furthermore, all network access was disabled before plugging the development board into the laptop..  When the board was first plugged into that laptop I found that the two USB COM ports were listed under Ports in the Device Manager and that they were already bound to Microsofts usbser.sys driver.  However, after I enabled network access Windows apparently did some updating of the driver and it now shows the binding to the Cypress driver.  No matter what I uninstall, I can't get back to the Microsoft usbser.sys driver.




            Here's what we need:  We are looking for a USB Bridge chip that provides two COM ports that uses the Microsoft CDC driver that is standard with Windows 10.  That is, when first plugged into a USB port, we want Windows 10 to immediately enumerate it as two COM ports without further asking to install any drivers.  This would me much the same as plugging in a mouse or keyboard. 


            Are we naive to think that this is possible?  Does Cypress have a simple dual USB-UART bridge solution?


            Thanks for your help.



            • 3. Re: CY7C65215 use standard (non-Cypress) Windows driver (USBSER.SYS) for UART-to-USB

              We were able to unbrick our development boards, but we're still not quite there in loading the standard Microsoft CDC driver mentioned in the Knowledge Base Article.  If you look at step 7 in the KBA, you'll see that the downloaded file (and saved on my local machine) is called "ms_CDC_Driver".  However, the attached zip file at the bottom of the KBA doesn't contain that name, it instead contains CyWinCDC.inf which doesn't help us.  Does this KBA have a wrong attached file?

              • 4. Re: CY7C65215 use standard (non-Cypress) Windows driver (USBSER.SYS) for UART-to-USB

                Hello Jon,


                Yes, I was suggesting the above steps to return to the default VID/PID by binding to the cyusb3.sys driver and then binding to the Microsoft CDC driver. Please ignore the warning regarding the incompatible driver in Windows 10 that you get when you try to forcibly bind it. If you've been able to unbrick the devices, you should be able to change the configuration using the Configuration Utility as per your requirement.

                For binding to the Windows CDC driver, after it is bound to the Cypress driver, please uninstall the device from the device manager and then update the driver as mentioned the in the KBA. The KBA content has not been updated, please select the CyWinCDC.inf file from the CywinCDC folder after extracting the contents of the downloaded file. Please let us know if you still face an error.


                Best Regards,