You are here

Bricked FX2 when trying to write VID PID into EEPROM using CyConsole | Cypress Semiconductor

Bricked FX2 when trying to write VID PID into EEPROM using CyConsole

Summary: 1 Reply, Latest post by VAVC on 22 Jun 2015 12:57 AM PDT
Verified Answers: 0
Last post
Log in to post new comments.
robininuk's picture
1 post

I tried to change the defauld VID PID by writing new VID PID to an external small 128 bit EEPROM 24AA00SN with CyConsole, but I ended up 'bricking'[ my board, which means there is no response when I connected to USB port. I can not see the device listed in either device manager in Windows or lsusb in Linux. I also checked the syslog in linux and there is no conncection information about the FX2 device. I know my FX2 was "bricked" or dead. Below is the steps I did,

1) Launch CyConsole , select the target Cypress device in the window with the USB devices

2) Click on Download button and select C:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.0\Firmware\Vend_ax.hex

3) Change Req to 0xA2 and HEX bytes to account for the memory intent - in my case: C0 FE FF 42 00
, wValue=0 wIndex=0,  length= 5.
4) Click on Vend Req and the EEPROM content should appear in the last of the terminal window e.g.: 

Toggle 8051 Reset (00)

Vendor Request (A2) 5 bytes: wValue=0 wIndex=0

0000  C0 FE FF 42 00
5) Power off the device and power on, connect again to the usb port.

Then I found my FX2 device dead. I searched on the web and found this page:

As described in the page, the possible reasons are,

  • The firmware is not handling USB (config) requests and hence does not enumerate at the host computer because -either- RENUM is set to 0 and the VID,PID codes in the EEPROM are invalid -or- RENUM is set to 1 and the firmware does not handle USB requests.
  • The DISCON bit is set in the EEPROM config byte and the firmware is defective and/or not enabling the USB.
  • The firmware is disabling the USB (DISCON=1) and not enabling it again.

As I can not see anything in syslog, it seems that it was not because of invalid VID PID, more likely the DISCON bit in EEPROM being set to 1.If it is the case  I feel very confused, as I did not set this bit at all when I tried to write EEPROM. If this bit is indeed set to 1, will the internal logic read this bit first and change the DISCON bit of register USBCS (USBCS.3) and therefore leave the FX2 device "unconnected" forever?

I also compared my steps with the steps stated in the following page:

It says in step 18,

On the CyConsole – EZUSB Interface’s Vend Req Toolbar, use the following to fill in the required fields:

Dir=0 OUT

Compared to this, the differences in my step 3 are the "Index" and "Length", I did not set Index values, and I set the length to 5. Will this cause the device being "bricked"?

Anyone with the similar problem?



VAVC's picture
Cypress Employee
506 posts



Try this. Disconnect the EEPROM from the board. Connect to PC and it will enumerate with default VID/PID.


Now connect the EEPROM and program it properly as suggested in the document.






Log in to post new comments.