I have just purchased the CY3684 EZ-USB FX2LP Development Kit and I am trying to get the 'hid_kb' firmware example operational.
After downloading the firmware, I am unable to transfer characters from the development board to a Notepad window on the PC as described in the example text. The device should be shown as part of the HID devices list in Device Manager (Windows 7). However, it actually appears as 'MFS100' in the Universal Serial Bus Controllers list. Could this be the problem?
The Cypress USB Console displays the following ID codes...
Please bind it manually to the cypress driver as: Right click on the "MFS100" in the device manager, update driver. Choose the option for manual binding, and not automatic. Point to the CyUSB.sys driver found in the FX2LP DVK location or SuiteUSB drivers. If VID/PID is not found in the inf, please add the entry corresponding to that VID/PID (You may refer section 3 in http://www.cypress.com/?docID=26658)
I re-installed the driver - no change.
I added the VID/PID information to the cyusbfx1_fx2lp.inf file, deleted the latest oemXX.int and oemXX.pnf files from the C:\windows\inf\ folder and then re-installed the driver.
These are the lines I added to the cyusbfx1_fx2lp.inf file:
VID_04B4&PID_1005.DeviceDesc="Cypress EZ-USB Example HID Device(3.4.5.000)"
Now the device manager reports the device "Cypress EZ-USB Example HID Device(3.4.5.000)" in the USB Controllers section (the MFS100 device has gone).
However, this is supposed to be an HID device - so why doesn't it appear in the Human Interface Devices section?
ALSO, I can't seem to revert the board back to the default VID/PID opf 04B4/8613 when the board is powered. I have tried going back to the original cyusbfx1_fx2lp.inf file and re-installing - but the VID/PID remains as 04B4/1005.
WHY is this? Where is the VID/PID coming from?
If I re-install the development system, will everything revert back to the default?
Change the position of switch SW2 to NO EEPROM and connect the FX2LP to the HOST. Now the device will revert back to default VID/PID (04B4/8613).
If SW2 is in NO EEPROM position and a different VID/PID is coming up then most probably there is script downloading of firmware happening.
Please let us know how you got the driver and inf file which lead to 'MFS100'? Did you download it from somewhere or did you get it from windows update (automatically searched and downloaded by the OS as part of its driver search)
If the driver was downloaded from windows update then there is a possiblity that the driver was signed with the wrong VID/PID. Please check if the driver is signed when it is bound to MFS100. If so please create a tech support case so that we can have a look at it.
The way the hid_kb example works is we have the necessary descriptors for HID device. Since we don't have any signed driver for that VID/PID the OS after search for driver will bind it to the native HID driver and we'll be able to use the device as a HID device. The device needs to be bound to the Windows HID driver for the example to work as expected.
I have no idea where the MFS100 driver came from or whether it was signed.
I have already created a tech support case and there is an on-going investigation trying to resolve the problem. It has been suggested that the problem is related to Windows 7 and should be OK with Windows XP. I have not been able to verify that.
Thanks for your suggestions / comments.
To know the details about the drivers, right click on the device in device manager and select properties. Select rhe "driver" tab and click driver details. You can find the details about the driver (signed or not signed ).
You must be using Lenovo laptop. (Lenovo Thinkpad probably?)
The finger print scanner in Lenovo Thinkpad uses FX2LP. MFS100 is driver used by that finger print scanner.
It was developed by Mantra tech group.
They use a script method to load the firmware to finger print scanner as soon as laptop powers up and it is binded to MFS100 driver. One wrong thing which they did is they did not use an EEPROM to change the vid/pid.
Consequently when you connect FX2Lp DVK to laptop, your OS assumes it is finger print scanner loads the code and binds it to MFS100 driver. That is the reason your FX2Lp gest the vid/pid you are mentioning.
Go to device manager and try 'uninstalling and deleting' the driver.
Alternatively you can try deleting the .sys and .spt file for MFS100 from the path C:\Windows\System32\drivers
After uninstalling and deleting the MFS100 driver, If the device appears as CY EZ USB example(3.4.5), then right click on this and update the driver with "USB INPUT DEVICE" in the list. It will enumerate as EZ-USB(HID device).
Another option is, change the VID/PID in the firmware (dscr.a51 file).Compile the project and download the new hid_kb.hex file. it will solve the problem.