Problem in firmware running from the EEPROM in FX2

Question: I am using an EZ-USB FX2 with an AT24C64 EEPROM attached. When code is downloaded hrough the soft download feature, the device enumerates correctly and behaves perfectly. When the code is downloaded to the EEPROM, the device enumerates correctly as "USB Device" but the firmware does not run properly.  The first eight bytes in the EEPROM are: "B2 47 05 31 21 00 00 00"  What could be wrong?

 

Answer:

 The first byte needs to be C2 for firmware boot load, and C0 for VID/PID/DID load. In this scenario, as the first byte is B2 the device came up with internal descriptors.