You are here

CYUsb.sys load before Mass Storage Device Driver | Cypress Semiconductor

CYUsb.sys load before Mass Storage Device Driver

Summary: 1 Reply, Latest post by VAVC on 29 May 2014 01:10 PM PDT
Verified Answers: 0
Last post
Log in to post new comments.
CFB's picture
12 posts

I am writng some software to access our Cypress based memory stick on machines with the USB Mass Storage Devices disabled. This disabling can be done by deleting the actual USBSTOR.sys from a Windows machine. The problem is that the device is recongnised by Windows as a Mass Storage Device first and not a device based on CyUSB.sys EXCEPT if I set the VID/PID to 04B4/4617 in which case it does recognise the device first as a "Cypress EZ-USB NX2LP-Flex Unprogrammed NAND(".

I have taken the CYUSB INF file and changed the text and VID/PID to 04B4/1111 (I know I need a proper VID, but used this for testing). Using an memory stick (0b44/1111) not yet initialised with NandMfg.exe upon inserting it, an "unknown device" was found and Windows 7 evenutally installed the CyUSB.sys using my modified INF file. At this point NandMfg could see my device and I programmed it with the same VID/PID (04b4/1111). Upon reinsertion the device is not recognised as my device but a Mass storage device.

If I do exactly the same thing but set the VID/PID to 04b4/4617 using NandMfg.exe the Cypress CyUsb.sys is loaded and not the Mass Storage Device.

Why does my version of CyUSB.sys not load, but the "Cypress EZ-USB NX2LP-Flex Unprogrammed NAND(". driver does load?  What am I missing to cause my driver to load instead of theMass Storage Driver?

VAVC's picture
Cypress Employee
506 posts

Hi ,

This is my understanding about the issue:

when the device is programmed with VID/PID 04B4/4617, it is binded to cyusb drivers and when it is programmedwith 04b4/1111 it is binded to usbstor.sys.


When a device with new VID/PID is connected OS  will check in "inf "  folder of windows. If there is any existing inf file that supports the device it will  bind with that. If not then it will search for windows update . it it doesn't find any thing it will come up as unknown device.


So when the device is programmed with 04b4/4617, it binds with cyusb drivers. Device binds with the most recent drivers with which it has binded when it is connected last time.


So when the deivce with 04b4/1111 is binded with usbstor.sys drivers if you reconnect the device then also it binds with same drivers. Removing the usbstor.sys doesn't help you.


Manually bind the device with your drivers and once it is done, you can check by disconnecting and connecting the device back. It will bind with the your drivers only.




Log in to post new comments.