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 cablehttp://www.ftdichip.com/Products/Cables/USBMPSSE.htmusing 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).
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 cablehttp://www.ftdichip.com/Products/Cables/USBMPSSE.htmusing 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
[…]
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