TL/DR: I've done something rather silly and have bricked the USB programming ability of my new development board, by inadvertantly overwriting the vendor/product IDs of the on-board ftdi chip. Can anyone point me at something that will help me reset the vendor/product IDs?
I have a Numato Waxwing Spartan 6 FPGA development board. I was trying to work out how to flash the board using xc3sprog, but was unable to get the JTAG tool-chain. Something lead
https://docs.numato.com/doc/waxwing-spartan-6-fpga-development-board/#installing-on-windows-6 me to try and installing the FTDI libraries from their website. In this download was some utilities to read/write to the EEPROM. Without reading the code for the write utility
, I ran it and it overwrite a bunch of settings. Most notably the product id. From 0403:6010 -> 0403:6001.
Snip of the code:
FT_STATUS ftStatus;
FT_HANDLE ftHandle0;
int iport;
FT_PROGRAM_DATA Data;
if(argc > 1) {
sscanf(argv[1], "%d", &iport);
}
else {
iport = 0;
}
printf("opening port %d\n", iport);
FT_SetVIDPID(0x0403, 0x6011); // Odly this reconfigures a 4030:6010 chip ????
ftStatus = FT_Open(iport, &ftHandle0);
if(ftStatus != FT_OK) {
printf("FT_Open(%d) failed\n", iport);
return 1;
}
Data.Signature1 = 0x00000000;
Data.Signature2 = 0xffffffff;
Data.VendorId = 0x0403;
Data.ProductId = 0x6001;
Data.Manufacturer = "FTDI";
Data.ManufacturerId = "FT";
Data.Description = "USB <-> Serial";
Data.SerialNumber = "FT000001";
.....
.....
If I try and change the code to update these values back, and open with the device Id using the 'incorrect ids', I just get a "cannot open device" error. Which is where I'm stuck. I can't see why I can't open the device when specifying the IDs as the OS sees them.
* Any ideas on how to change the IDs back?
* Does anyone have the full output of lsusb -v -d 0304:0601
* Anyone have experience of programming a Waxwing using xc3sprog (low priority)
btw. The board has a JTAG programmer, I'm not sure if I can use that to reprogram the FTDI chip, I've never used a JTAG programmer directly. (just putting it out there incase it help come to a solution)
Many many thanks.