FX2 enumerates as an HDTV  device

Question: When I plug in my FX2 device (no EEPROM) it is recognized as an HDTV device.  I  cannot  use  my host application to  communicate with the device even  though I  have the  Cypress VID/PID  bound to my driver using the format as shown in ezusbw2k.inf.  Why is my device recognized as an HDTV?  How can I fix this so that FX2 uses my driver and my host application can communicate with the device?



The WHQL certified HDTV driver uses the Cypress VID/PID (0x04B4/0x8613). This driver has been included in the Microsoft Windows Update. On plugging in the FX2 device, Windows links the Cypress VID/PID reported by the FX2 default device to the WHQL certified HDTV driver and recognizes the FX2 device as a HDTV. The FX2 device is deemed un-operable as the driver loaded to communicate with this device is the HDTV driver.

In order to  fix  this,  you  need to manually update the driver to use the ezusb.sys (or  your  custom  driver  that is  bound  to the Cypress  VID) device. There are two ways to fix this.
(1) Rollback the Microsoft updates which results in the Sasem's WHQL certified HDTV driver not available on the system
(2) If rolling back the Microsoft Update is not an option the issue could be resolved either by manually deleting the VID/PID entries from the registry or and forcing the device to bind to the ezusb.sys driver.

Following are the steps for deleting the VID/PID entries from the registry in case of Windows XP 32 bit machine:

1. Open the registry via Start->Run->regedt32.
2. Navigate to HKEY_LOCAL_MACHINE\System\CurrentControlSet\Enum\USB.
3. The Cypress VID is 04b4 and the PIDs used include 8613 and 1002. Highlight the entry with VID_04b4&PID_8613 to operate on.
4. Go to the menu Security/Permissions... Change the Permissions to Everyone has Read and Full control. You should now be able to delete the key.
5. Repeat the above for VID_04b4&PID_1002.

Following are the steps to force the device to bind to the EZUSB driver:

1. Go to device manager.
2. Click on the FX2 device (displayed incorrectly as an HDTV device) and select properties.
3. Click on the tab marked "Driver" and then click on the button marked "Update Driver".
4. The "Hardware Update Wizard" will appear. On this window please select the option "Install from a list or a specific location" and proceed.
5. Browse through the directory to select the ezusbw2k.inf file to install the ezusb.sys driver and complete the wizard.

In this way the FX2 device can be forced to bind to the ezusb.sys driver.