Thank you for writing such a wonderful tool!  I have been fighting this generic

Sata disk controller card I bought for my home machine with a SIL3124 chip and

having trouble with the Bios on it conflicting with the motherboard bios.  I wanted

to boot from my motherboard, but no matter how I set the boot disk priority

on the motherboard, the system insisted on trying to boot from the SIL3124 card.

I wanted to erase the bios on the SIL3124 card but did not know how.   I found

Your tool via google, and it worked flawlessly!  Thanks again!

 

[root@vmware]# flashrom --erase -V -p satasii

flashrom v0.9.5.2-r1515 on Linux 2.6.32-220.23.1.el6.x86_64 (x86_64),
built with libpci 3.1.4, GCC 4.4.6 20110731 (Red Hat 4.4.6-3), little
endian
flashrom is free software, get the source code at
http://www.flashrom.org

Calibrating delay loop... OS timer resolution is 1 usecs, 3656M loops
per second, 10 myus = 9 us, 100 myus = 104 us, 1000 myus = 1013 us,
10000 myus = 10021 us, 4 myus = 4 us, OK.
Initializing satasii programmer
Found "Silicon Image SiI 3124 PCI-X SATA Ctrl" (1095:3124, BDF 03:04.0).
Requested BAR is MEM, 64bit, not prefetchable
Mapping SATA SIL registers at 0xfbbff000, unaligned size 0x100.
The following protocols are supported: Parallel.
Probing for AMD Am29F010A/B, 128 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29F002(N)BB, 256 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29F002(N)BT, 256 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29F016D, 2048 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29F040B, 512 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29F080B, 1024 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV001BB, 128 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV001BT, 128 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV002BB, 256 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV002BT, 256 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV004BB, 512 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV004BT, 512 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV008BB, 1024 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV008BT, 1024 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV040B, 512 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMD Am29LV081B, 1024 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMIC A29002B, 256 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMIC A29002T, 256 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for AMIC A29040B, 512 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Atmel AT29C512, 64 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Atmel AT29C010A, 128 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Atmel AT29C020, 256 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Atmel AT29C040A, 512 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Atmel AT49BV512, 64 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Atmel AT49F020, 256 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Atmel AT49F002(N), 256 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Atmel AT49F002(N)T, 256 kB: probe_jedec_common: id1 0xbf,
id2 0xd5
Probing for Catalyst CAT28F512, 64 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Bright BM29F040, 512 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for EMST F49B002UA, 256 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Eon EN29F010, 128 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Eon EN29F002(A)(N)B, 256 kB: probe_jedec_common: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Eon EN29F002(A)(N)T, 256 kB: probe_jedec_common: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Fujitsu MBM29F004BC, 512 kB: probe_jedec_common: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Fujitsu MBM29F004TC, 512 kB: probe_jedec_common: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Fujitsu MBM29F400BC, 512 kB: probe_m29f400bt: id1 0x55, id2
0x78
Probing for Fujitsu MBM29F400TC, 512 kB: probe_m29f400bt: id1 0x55, id2
0x78
Probing for Hyundai HY29F002T, 256 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Hyundai HY29F002B, 256 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Hyundai HY29F040A, 512 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Intel 28F001BN/BX-B, 128 kB: probe_jedec_common: id1 0xbf,
id2 0xd5
Probing for Intel 28F001BN/BX-T, 128 kB: probe_jedec_common: id1 0xbf,
id2 0xd5
Probing for Intel 28F002BC/BL/BV/BX-T, 256 kB: probe_82802ab: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Intel 28F008S3/S5/SC, 512 kB: probe_82802ab: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Intel 28F004B5/BE/BV/BX-B, 512 kB: probe_82802ab: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Intel 28F004B5/BE/BV/BX-T, 512 kB: probe_82802ab: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Intel 28F400BV/BX/CE/CV-B, 512 kB: probe_82802ab: id1 0x55,
id2 0x78, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Intel 28F400BV/BX/CE/CV-T, 512 kB: probe_82802ab: id1 0x55,
id2 0x78, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Macronix MX29F001B, 128 kB: probe_jedec_common: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Macronix MX29F001T, 128 kB: probe_jedec_common: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Macronix MX29F002(N)B, 256 kB: probe_jedec_common: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Macronix MX29F002(N)T, 256 kB: probe_jedec_common: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for Macronix MX29F040, 512 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Macronix MX29LV040, 512 kB: probe_jedec_common: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for MoselVitelic V29C51000B, 64 kB: probe_jedec_common: id1
0xbf, id2 0xd5
Probing for MoselVitelic V29C51000T, 64 kB: probe_jedec_common: id1
0xbf, id2 0xd5
Probing for MoselVitelic V29C51400B, 512 kB: probe_jedec_common: id1
0xbf, id2 0xd5
Probing for MoselVitelic V29C51400T, 512 kB: probe_jedec_common: id1
0xbf, id2 0xd5
Probing for MoselVitelic V29LC51000, 64 kB: probe_jedec_common: id1
0xbf, id2 0xd5
Probing for MoselVitelic V29LC51001, 128 kB: probe_jedec_common: id1
0xbf, id2 0xd5
Probing for MoselVitelic V29LC51002, 256 kB: probe_jedec_common: id1
0xbf, id2 0xd5
Probing for PMC Pm29F002T, 256 kB: Chip lacks correct probe timing
information, using default 10mS/40uS. probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for PMC Pm29F002B, 256 kB: Chip lacks correct probe timing
information, using default 10mS/40uS. probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for PMC Pm39LV010, 128 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for PMC Pm39LV020, 256 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for PMC Pm39LV040, 512 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Sharp LH28F008BJT-BTLZ1, 1024 kB: probe_82802ab: id1 0x55,
id2 0xaa, id1 parity violation, id1 is normal flash content, id2 is
normal flash content
Probing for SST SST28SF040A, 512 kB: probe_82802ab: id1 0x55, id2 0xaa,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for SST SST29EE010, 128 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for SST SST29LE010, 128 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for SST SST29EE020A, 256 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for SST SST29LE020, 256 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for SST SST39SF512, 64 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for SST SST39SF010A, 128 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for SST SST39SF020A, 256 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for SST SST39SF040, 512 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for SST SST39VF512, 64 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for SST SST39VF010, 128 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Found SST flash chip "SST39VF010" (128 kB, Parallel) on
satasii.

Probing for SST SST39VF020, 256 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for SST SST39VF040, 512 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for SST SST39VF080, 1024 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for ST M29F002B, 256 kB: probe_jedec_common: id1 0x55, id2 0xaa,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M29F002T/NT, 256 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for ST M29F040B, 512 kB: probe_jedec_common: id1 0x55, id2 0xaa,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M29F400BB, 512 kB: probe_m29f400bt: id1 0x55, id2 0x78
Probing for ST M29F400BT, 512 kB: probe_m29f400bt: id1 0x55, id2 0x78
Probing for ST M29W010B, 128 kB: probe_jedec_common: id1 0x55, id2 0xaa,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M29W040B, 512 kB: probe_jedec_common: id1 0x55, id2 0xaa,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for ST M29W512B, 64 kB: probe_jedec_common: id1 0x55, id2 0xaa,
id1 parity violation, id1 is normal flash content, id2 is normal flash
content
Probing for SyncMOS/MoselVitelic {F,S,V}29C51001B, 128 kB:
probe_jedec_common: id1 0xbf, id2 0xd5
Probing for SyncMOS/MoselVitelic {F,S,V}29C51001T, 128 kB:
probe_jedec_common: id1 0xbf, id2 0xd5
Probing for SyncMOS/MoselVitelic {F,S,V}29C51002B, 256 kB:
probe_jedec_common: id1 0xbf, id2 0xd5
Probing for SyncMOS/MoselVitelic {F,S,V}29C51002T, 256 kB:
probe_jedec_common: id1 0xbf, id2 0xd5
Probing for SyncMOS/MoselVitelic {F,S,V}29C51004B, 512 kB:
probe_jedec_common: id1 0xbf, id2 0xd5
Probing for SyncMOS/MoselVitelic {F,S,V}29C51004T, 512 kB:
probe_jedec_common: id1 0xbf, id2 0xd5
Probing for SyncMOS/MoselVitelic {S,V}29C31004B, 512 kB:
probe_jedec_common: id1 0xbf, id2 0xd5
Probing for SyncMOS/MoselVitelic {S,V}29C31004T, 512 kB:
probe_jedec_common: id1 0xbf, id2 0xd5
Probing for TI TMS29F002RB, 256 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for TI TMS29F002RT, 256 kB: probe_jedec_common: id1 0x55, id2
0xaa, id1 parity violation, id1 is normal flash content, id2 is normal
flash content
Probing for Winbond W29C010(M)/W29C011A/W29EE011/W29EE012-old, 128 kB:
Old Winbond W29* probe method disabled because the probing sequence puts
the AMIC A49LF040A in a funky state. Use 'flashrom -c
W29C010(M)/W29C011A/W29EE011/W29EE012-old' if you have a board with such
a chip.
Probing for Winbond W29C010(M)/W29C011A/W29EE011/W29EE012, 128 kB:
probe_jedec_common: id1 0xbf, id2 0xd5
Probing for Winbond W29C020(C)/W29C022, 256 kB: probe_jedec_common: id1
0xbf, id2 0xd5
Probing for Winbond W29C040/P, 512 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Winbond W39L040, 512 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Probing for Winbond W49F002U/N, 256 kB: probe_jedec_common: id1 0xbf,
id2 0xd5
Probing for Winbond W49F020, 256 kB: probe_jedec_common: id1 0xbf, id2
0xd5
Found SST flash chip "SST39VF010" (128 kB, Parallel).
===
This flash part has status UNTESTED for operations: WRITE
The test status of this chip may have been updated in the latest
development
version of flashrom. If you are running the latest development version,
please email a report to flashrom@flashrom.org if any of the above
operations
work correctly for you with this flash part. Please include the flashrom
output with the additional -V option for all operations you tested (-V,
-Vr,
-VE, -Vw), and mention which mainboard or programmer you tested.
Please mention your board in the subject line. Thanks for your help!
Erasing and writing flash chip... Trying erase function 0...
0x000000-0x000fff:E, 0x001000-0x001fff:E, 0x002000-0x002fff:E,
0x003000-0x003fff:E, 0x004000-0x004fff:E, 0x005000-0x005fff:E,
0x006000-0x006fff:E, 0x007000-0x007fff:E, 0x008000-0x008fff:E,
0x009000-0x009fff:E, 0x00a000-0x00afff:E, 0x00b000-0x00bfff:E,
0x00c000-0x00cfff:E, 0x00d000-0x00dfff:E, 0x00e000-0x00efff:E,
0x00f000-0x00ffff:E, 0x010000-0x010fff:E, 0x011000-0x011fff:E,
0x012000-0x012fff:E, 0x013000-0x013fff:E, 0x014000-0x014fff:E,
0x015000-0x015fff:E, 0x016000-0x016fff:E, 0x017000-0x017fff:E,
0x018000-0x018fff:E, 0x019000-0x019fff:E, 0x01a000-0x01afff:E,
0x01b000-0x01bfff:E, 0x01c000-0x01cfff:E, 0x01d000-0x01dfff:E,
0x01e000-0x01efff:E, 0x01f000-0x01ffff:E
Erase/write done.
[root@vmware]#

 

Mike

 

--

Mike Corcoran

Wright State University, Information Security and Systems Support

Voice:937-775-2431, Fax:937-775-4049

http://www.wright.edu/security/

 

Don't be scammed, CaTS will NEVER ask for your password via e-mail!