When can FX2LP EEPROM boot fail even when a valid firmware is present in the EEPROM?
FX2LP EEPROM boot can fail when the EEPROM address lines are not strapped to a proper value based on its size. If the EEPROM has its address set as 0x50, the bootloader will expect a single byte addressable EEPROM, and if the EEPROM has its address set as 0x51, the bootloader will expect a double byte addressable EEPROM and perform the read operation accordingly. Once the read fails, FX2LP goes to “No EEPROM” scenario and enumerates in bootloader mode as the default USB device.
See the ‘Strap Boot EEPROM Address Lines to these Values’ table in the device datasheet for example EEPROMs and the corresponding address values.