Thank you for your response.

The erase/write operations was finally done but the verify operation failed. But the difference was not so big and the board is booting again. I'm lucky.

The patch I sent to you should not be considered because it relies on a modification of the ftdi.h header file witch is part of the libftdi-dev(el) package and not flashrom. So the definition of TYPE_232H should be checked during the configure phase of the build. I know that the flashrom build does not compile ft2232_spi programmer support if the file  ftdi.h is not found. So further test could be considered.

But I think it should be  easier to wait for the libftdi project to add support to the FT232H chip.

I was helped in my work by a nice project called libmpsse found on code.google.com. It's a SPI/I2C api build on top of libftdi, using the MPSSE engine and it  works fine. When I run the samples of this project I see a red led lighting on the cable during operation. I never saw this led with any other tools, even those of FTDI. I think this code does a good job on initialisation/de-initialisation of the MPSSE engine of the FT232H chip. The python binding is also inpressive. With a few lines of code once can read a flash memory.

Sorry, i'm not an electronic expert and I think the quality of the links was very poor.

Thank you.

Le 19 juil. 2012 12:51, "Stefan Tauner" <stefan.tauner@student.tuwien.ac.at> a écrit :
On Thu, 19 Jul 2012 04:19:32 +0200
Miloud Malagouen <miloud.malagouen@gmail.com> wrote:


> I bricked a MSI MS-7302 motherboard with a bad coreboot image. I'm trying
> to flash the bios with a C232HM-DDHSL-0 FTDI USB
> cable<http://www.ftdichip.com/Products/Cables/USBMPSSE.htm>using the
> MSI JSPI1 Header <http://www.coreboot.org/MSI_JSPI1> present on the board
> for SPI connection. The FTDI cable uses a FT232H chip witch is capable of
> providing a USB to SPI, I2C or JTAG interface.
>
> The FTDI D2XX Linux driver cited that the FT232H chip has type number 6
> (while the FT4232H has type 5), so i had to modify the file
> */usr/include/ftdi.h* and change the ftdi_chip_type enumeration definition:
>
> /** FTDI chip type */
> enum ftdi_chip_type { TYPE_AM=0, TYPE_BM=1, TYPE_2232C=2, TYPE_R=3,
> TYPE_2232H=4, TYPE_4232H=5,*TYPE_232H=6* };

there is probably a way around this, we will have to investigate that.

> I had to add support to the FT232H chip (vid=0403 pid=6014) in the *
> ft2232_spi* programmer of flashrom. I's very simple. Here is the patch of
> file ft2232_spi.c:

thanks for the patch, i'll review it in detail later.
two things certainly need to be changed before this can enter our
repository though:
- man page needs to be updated
- the patch has to be signed off, see
http://www.coreboot.org/Development_Guidelines#Sign-off_Procedure

> =======================BEGIN DIFF================================
> --- flashrom/ft2232_spi.c    2012-07-19 03:43:28.866724677 +0200
> +++ flashrom-0.9.5.2-r1547/ft2232_spi.c    2012-07-16 05:16:53.000000000
> +0200
> […]
> =======================END DIFF==================================
>
>
> The flash memory is probed correctly but erase an write operations failed.
> Here is flashrom command (bold) and output:
> ____________________________________________________________________________________
>
> *flashrom   -p ft2232_spi:type=232H,port=A -w A7302AMS.160*
> flashrom v0.9.5.2-runknown on Linux 3.4.4-5.fc17.i686.PAE (i686)
> flashrom is free software, get the source code at http://www.flashrom.org
>
> […]
>
> The chip is powered with an external PSU (3.3V orange cable of an ATX PSU).
> I will try with a 1200F capacitor on the VCC link. I hope this is just
> a magnetic noise issue.

Are all pins connected correctly? especially the #WP pin could introduce
the problem, but all others should be connected as specified in the
datasheet too (e.g. hold pin if available).

--
Kind regards/Mit freundlichen Grüßen, Stefan Tauner