Hello Everyone,
We use the Cypress FX2LP in our USB products. Currently all our USB products and our engineering proto-types get loaded with a blank EEPROM on the PCBs. We then use custom utilities and a custom driver (developed in-house and run only with XP 32-bit) which recognizes the Cypress’ VID and PID. These utilities then program the EEPROMs with our firmware and with our VID and PID (the same driver is used for both manufacturing and engineering). We try very hard to prevent this driver from ever leaving our facility. We have now made a decision move toward Vista 64-bit. One of the many reason to do this is that we will never sign this utility driver. We feel that this will add one more level “safety” on the use of this device driver.
So we ported our driver for Vista 64-bit and setup our test platform with Vista-Ultimate 64-bit (This system is running with dual Opterons). The machine was booted up but we did not invoke the F8 bypass for unsigned drivers. We then inserted our FX2LP product (which has a blank EEPROM) into our test platform’s USB port. We were then given three choices:
Locate and install driver software (recommended)
Ask me again later
Don’t show this message again for this device.
I selected the “Locate and install driver software (recommended)” option. To my surprise a dialog box popped up that stated “DVB-T USB 2.0 adapter loader”. No new hardware showed up in the device manager, but USBview kept bouncing around showing either “Thesys Microelectronics” or “DVB-T USB 2.0 Adapter Loader”. Looking at the USB trace, I can see a successful enumeration process with the Cypress VID (0x04B4) and PID (0x8613) as the target device. The next statements that follow are just a guess. It looks like there is a FX2LP firmware download. At the end of the download, the FX2LP is taken out of reset. For a momentary instant, some of the FX2LP I/O pins are toggled (this is a drag because some of the I/O driven from the FX2LP collides with the outputs of other devices we have attached to the FX2LP’s PIO). At this point, the FX2LP will disconnect from the USB port and then renumerates again as a Cypress device (VID 0x04B4, PID 0x8613). Then the whole cycle repeats forever. I THINK this is why I’m not able to find this hardware device because it is continuously connecting-disconnecting-connecting… Now, no matter which USB port I plug into, this infinite cycle occurs. My questions are:
-
How do I kill this loader? I’m thinking it must be a BDA thing, but I can’t seem to find where to disable it.
-
How do I guarantee that my unsigned driver is the one chosen when someone pushes the “Locate and install driver software” button?
-
Will I have this problem with Vista 32-bit?
The rhetorical question I have is how did DVB-T get a signed driver using a Cypress vendor and product ID? My guess is that the loader happens once in the beginning and they come back as a different device when they renumerate, but I still think it’s not a good idea to use someone else’s ID.
Thanks,
Motz
John Matsumoto
Surface Optics Corporation