Hello. There is a tricky case - I can't see which exactly flash chip installed in system. flashrom from v2161 was unable to identify it too. I found an interesting site - http://ctflasher.sourceforge.net - however this tool doesn't have bios-flasher yet.
lspci -v 00:00.0 Host bridge: Intel Corp. 82865G/PE/P DRAM Controller/Host-Hub Interface (rev 02) Subsystem: Intel Corp. 82865G/PE/P DRAM Controller/Host-Hub Interface Flags: bus master, fast devsel, latency 0 Memory at f8000000 (32-bit, prefetchable) [size=64M] Capabilities: [e4] #09 [0106]
00:02.0 VGA compatible controller: Intel Corp. 82865G Integrated Graphics Device (rev 02) (prog-if 00 [VGA]) Subsystem: Intel Corp.: Unknown device 4246 Flags: bus master, fast devsel, latency 0, IRQ 11 Memory at f0000000 (32-bit, prefetchable) [size=128M] Memory at ffa00000 (32-bit, non-prefetchable) [size=512K] I/O ports at ec00 [size=8] Expansion ROM at <unassigned> [disabled] Capabilities: [d0] Power Management version 1
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB/EB/ER Hub interface to PCI Bridge (rev c2) (prog-if 00 [Normal decode]) Flags: bus master, fast devsel, latency 0 Bus: primary=00, secondary=01, subordinate=01, sec-latency=32 I/O behind bridge: 0000d000-0000dfff Memory behind bridge: ff900000-ff9fffff
00:1f.0 ISA bridge: Intel Corp. 82801EB/ER (ICH5/ICH5R) LPC Bridge (rev 02) Flags: bus master, medium devsel, latency 0
00:1f.1 IDE interface: Intel Corp. 82801EB/ER (ICH5/ICH5R) Ultra ATA 100 Storage Controller (rev 02) (prog-if 8a [Master SecP PriP]) Subsystem: Intel Corp.: Unknown device 4246 Flags: bus master, medium devsel, latency 0, IRQ 5 I/O ports at <unassigned> I/O ports at <unassigned> I/O ports at <unassigned> I/O ports at <unassigned> I/O ports at ffa0 [size=16] Memory at 1f000000 (32-bit, non-prefetchable) [size=1K]
00:1f.3 SMBus: Intel Corp. 82801EB/ER (ICH5/ICH5R) SMBus Controller (rev 02) Subsystem: Intel Corp.: Unknown device 4246 Flags: medium devsel, IRQ 10 I/O ports at e800 [size=32]
01:01.0 Ethernet controller: Intel Corp.: Unknown device 107c (rev 05) Subsystem: Intel Corp.: Unknown device 1376 Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 15 Memory at ff900000 (32-bit, non-prefetchable) [size=128K] Memory at ff920000 (32-bit, non-prefetchable) [size=128K] I/O ports at d800 [size=64] Expansion ROM at ff940000 [disabled] [size=128K] Capabilities: [dc] Power Management version 2 Capabilities: [e4] PCI-X non-bridge device.
01:02.0 Ethernet controller: Intel Corp.: Unknown device 107c (rev 05) Subsystem: Intel Corp.: Unknown device 1376 Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 10 Memory at ff960000 (32-bit, non-prefetchable) [size=128K] Memory at ff980000 (32-bit, non-prefetchable) [size=128K] I/O ports at d400 [size=64] Expansion ROM at ff9a0000 [disabled] [size=128K] Capabilities: [dc] Power Management version 2 Capabilities: [e4] PCI-X non-bridge device.
01:08.0 Ethernet controller: Intel Corp. 82562EZ 10/100 Ethernet Controller (rev 01) Subsystem: Intel Corp.: Unknown device 302f Flags: bus master, medium devsel, latency 32, IRQ 5 Memory at ff9d0000 (32-bit, non-prefetchable) [size=4K] I/O ports at d000 [size=64] Capabilities: [dc] Power Management version 2
cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 4 model name : Intel(R) Pentium(R) 4 CPU 3.00GHz stepping : 1 cpu MHz : 2994.007 cache size : 1024 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 5 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni monitor ds_cpl cid xtpr bogomips : 5914.62
Thanks.
that's almost certainly going to be an intel firmware hub. The odds are that flashrom can't idea because there is a GPIO somewhere enforcing a write protect.
What kind of system is this again?
ron
On Sun, Feb 26, 2006 at 06:00:07PM +0300, Anton Borisov wrote:
Hello. There is a tricky case - I can't see which exactly flash chip installed in system. flashrom from v2161 was unable to identify it too. I found an interesting site - http://ctflasher.sourceforge.net
- however this tool doesn't have bios-flasher yet.
If the requirement is to use software only then perhaps you can make flashrom print vendor ID and product ID - and use that as reference?
If you do have access to the hardware I suggest identifying the flash chip visually.
http://wiki.linuxbios.org/index.php/FAQ#How_do_I_identify_the_BIOS_chip_on_m...
Peel the shiny sticker off the chip if there is one and copy the chip manufacturer name and model number to the list if you don't recognize them.
//Peter
On Sun, 26 Feb 2006 16:55:54 +0100 Peter Stuge stuge-linuxbios@cdy.org wrote:
On Sun, Feb 26, 2006 at 06:00:07PM +0300, Anton Borisov wrote:
Hello. There is a tricky case - I can't see which exactly flash chip installed in system. flashrom from v2161 was unable to identify it too. I found an interesting site - http://ctflasher.sourceforge.net
- however this tool doesn't have bios-flasher yet.
If the requirement is to use software only then perhaps you can make flashrom print vendor ID and product ID - and use that as reference?
Alas, nothing informative.
Calibrating timer since microsleep sucks ... takes a second Setting up microsecond timing loop 788M loops per second OK, calibrated, now do the deed Trying Am29F040B, 512 KB probe_29f040b: id1 0xff, id2 0xff Trying At29C040A, 512 KB probe_jedec: id1 0xff, id2 0xff Trying Mx29f002, 256 KB probe_29f002: id1 0xdf, id2 0x24 Trying SST29EE020A, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST28SF040A, 512 KB probe_28sf040: id1 0xff, id2 0xff Trying SST39SF020A, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST39VF020, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST49LF040, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF080A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF002A/B, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST49LF003A/B, 384 KB probe_jedec: id1 0x47, id2 0x97 Trying SST49LF004A/B, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF008A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying Pm49FL004, 512 KB probe_jedec: id1 0xff, id2 0xff Trying W29C011, 128 KB probe_jedec: id1 0xff, id2 0xff Trying W29C020C, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying W49F002U, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying M29F400BT, 512 KB probe_m29f400bt: id1 0xff, id2 0xff Trying 82802ab, 512 KB probe_82802ab: id1 0xff, id2 0xff Trying 82802ac, 1024 KB probe_82802ab: id1 0xff, id2 0xff Trying MD-2802 (M-Systems DiskOnChip Millennium Module), 8 KB probe_md2802: probe_md2802: ******************************* probe_md2802: * THIS IS A PRE ALPHA VERSION * probe_md2802: * IN THE DEVELOPEMENT ********* probe_md2802: * PROCESS RIGHT NOW. ********** probe_md2802: ******************************* probe_md2802: * IF YOU ARE NOT A DEVELOPER ** probe_md2802: * THEN DO NOT TRY TO READ OR ** probe_md2802: * WRITE TO THIS DEVICE ******** probe_md2802: ******************************* probe_md2802: probe_md2802: switching off reset mode ... probe_md2802: switching off reset mode ... done probe_md2802: probe_md2802: switching off write protection ... probe_md2802: switching off write protection ... done probe_md2802: probe_md2802: IPL_0x0000: 0x00 probe_md2802: IPL_0x0001: 0x00 probe_md2802: IPL_0x0002: 0x00 probe_md2802: IPL_0x0003: 0x00 probe_md2802: probe_md2802: ChipID: 0x8c probe_md2802: DOCStatus: 0xc8 probe_md2802: FloorSelect: 0x00 probe_md2802: CDSNControl: 0xf0 probe_md2802: CDSNDeviceSelect: 0x3d probe_md2802: ECCConfiguration: 0x00 probe_md2802: CDSNSlowIO: 0x00 probe_md2802: ECCSyndrome0: 0xe3 probe_md2802: ECCSyndrome1: 0x8e probe_md2802: ECCSyndrome2: 0x00 probe_md2802: ECCSyndrome3: 0xf0 probe_md2802: ECCSyndrome4: 0x00 probe_md2802: ECCSyndrome5: 0x00 probe_md2802: AliasResolution: 0x00 probe_md2802: ConfigurationInput: 0x00 probe_md2802: ReadPipelineInitialization: 0x00 probe_md2802: LastDataRead: 0x00 probe_md2802: probe_md2802: checking ECCConfiguration toggle bit probe_md2802: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 probe_md2802: toggle result: 0/0 EEPROM not found
If you do have access to the hardware I suggest identifying the flash chip visually.
Unfortunately, I don't have it.
This looks like you are very well able to recognize the flash chip, only the flashrom tool does not know about it:
[..] probe_jedec: id1 0xdf, id2 0x24 [..]
I don't have my list of IDs at hand at the moment, but this should not be too hard to fix.
Also, you should update to a later version of flashrom (ie latest svn), there's development on that one here and there.
Stefan
* Anton Borisov a.borisov@tesv.tmb.ru [060226 16:59]:
On Sun, 26 Feb 2006 16:55:54 +0100 Peter Stuge stuge-linuxbios@cdy.org wrote:
On Sun, Feb 26, 2006 at 06:00:07PM +0300, Anton Borisov wrote:
Hello. There is a tricky case - I can't see which exactly flash chip installed in system. flashrom from v2161 was unable to identify it too. I found an interesting site - http://ctflasher.sourceforge.net
- however this tool doesn't have bios-flasher yet.
If the requirement is to use software only then perhaps you can make flashrom print vendor ID and product ID - and use that as reference?
Alas, nothing informative.
Calibrating timer since microsleep sucks ... takes a second Setting up microsecond timing loop 788M loops per second OK, calibrated, now do the deed Trying Am29F040B, 512 KB probe_29f040b: id1 0xff, id2 0xff Trying At29C040A, 512 KB probe_jedec: id1 0xff, id2 0xff Trying Mx29f002, 256 KB probe_29f002: id1 0xdf, id2 0x24 Trying SST29EE020A, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST28SF040A, 512 KB probe_28sf040: id1 0xff, id2 0xff Trying SST39SF020A, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST39VF020, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST49LF040, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF080A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF002A/B, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST49LF003A/B, 384 KB probe_jedec: id1 0x47, id2 0x97 Trying SST49LF004A/B, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF008A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying Pm49FL004, 512 KB probe_jedec: id1 0xff, id2 0xff Trying W29C011, 128 KB probe_jedec: id1 0xff, id2 0xff Trying W29C020C, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying W49F002U, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying M29F400BT, 512 KB probe_m29f400bt: id1 0xff, id2 0xff Trying 82802ab, 512 KB probe_82802ab: id1 0xff, id2 0xff Trying 82802ac, 1024 KB probe_82802ab: id1 0xff, id2 0xff Trying MD-2802 (M-Systems DiskOnChip Millennium Module), 8 KB probe_md2802: probe_md2802: ******************************* probe_md2802: * THIS IS A PRE ALPHA VERSION * probe_md2802: * IN THE DEVELOPEMENT ********* probe_md2802: * PROCESS RIGHT NOW. ********** probe_md2802: ******************************* probe_md2802: * IF YOU ARE NOT A DEVELOPER ** probe_md2802: * THEN DO NOT TRY TO READ OR ** probe_md2802: * WRITE TO THIS DEVICE ******** probe_md2802: ******************************* probe_md2802: probe_md2802: switching off reset mode ... probe_md2802: switching off reset mode ... done probe_md2802: probe_md2802: switching off write protection ... probe_md2802: switching off write protection ... done probe_md2802: probe_md2802: IPL_0x0000: 0x00 probe_md2802: IPL_0x0001: 0x00 probe_md2802: IPL_0x0002: 0x00 probe_md2802: IPL_0x0003: 0x00 probe_md2802: probe_md2802: ChipID: 0x8c probe_md2802: DOCStatus: 0xc8 probe_md2802: FloorSelect: 0x00 probe_md2802: CDSNControl: 0xf0 probe_md2802: CDSNDeviceSelect: 0x3d probe_md2802: ECCConfiguration: 0x00 probe_md2802: CDSNSlowIO: 0x00 probe_md2802: ECCSyndrome0: 0xe3 probe_md2802: ECCSyndrome1: 0x8e probe_md2802: ECCSyndrome2: 0x00 probe_md2802: ECCSyndrome3: 0xf0 probe_md2802: ECCSyndrome4: 0x00 probe_md2802: ECCSyndrome5: 0x00 probe_md2802: AliasResolution: 0x00 probe_md2802: ConfigurationInput: 0x00 probe_md2802: ReadPipelineInitialization: 0x00 probe_md2802: LastDataRead: 0x00 probe_md2802: probe_md2802: checking ECCConfiguration toggle bit probe_md2802: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 probe_md2802: toggle result: 0/0 EEPROM not found
If you do have access to the hardware I suggest identifying the flash chip visually.
Unfortunately, I don't have it.
-- Sincerely, Anton Borisov
-- linuxbios mailing list linuxbios@linuxbios.org http://www.openbios.org/mailman/listinfo/linuxbios
On 2/26/06, Stefan Reinauer stepan@openbios.org wrote:
This looks like you are very well able to recognize the flash chip, only the flashrom tool does not know about it:
[..] probe_jedec: id1 0xdf, id2 0x24 [..]
I don't have my list of IDs at hand at the moment, but this should not be too hard to fix.
According to the 106-k list I found 0xdf is PCMCIA.
-- Richard A. Smith
* Richard Smith smithbone@gmail.com [060226 18:49]:
I don't have my list of IDs at hand at the moment, but this should not be too hard to fix.
According to the 106-k list I found 0xdf is PCMCIA.
which means the PCMCIA industry group rather than the interface. Haven't ever seen such a flash part though.
Stefan
- Richard Smith smithbone@gmail.com [060226 18:49]:
I don't have my list of IDs at hand at the moment, but this should not be too hard to fix.
According to the 106-k list I found 0xdf is PCMCIA.
which means the PCMCIA industry group rather than the interface. Haven't ever seen such a flash part though.
My google searches came up with nothing. Perhaps you should try to go about it by finding out what mainboard mfg it is and trying to find some specs on it. A lot of time they will list the flash size and sometimes the actual part.
Attempting to flash a board that you don't have physical access to seems pretty bold.
-- Richard A. Smith
Richard Smith wrote:
On 2/26/06, Stefan Reinauer stepan@openbios.org wrote:
This looks like you are very well able to recognize the flash chip, only the flashrom tool does not know about it:
[..] probe_jedec: id1 0xdf, id2 0x24 [..]
I don't have my list of IDs at hand at the moment, but this should not be too hard to fix.
According to the 106-k list I found 0xdf is PCMCIA.
eh? PCMCIA is not a vendor. What does this mean?
ron
* Ronald G Minnich rminnich@lanl.gov [060226 21:16]:
eh? PCMCIA is not a vendor. What does this mean?
It's this PCMCIA group, whatever, I assumed they made some demo parts at max. Maybe some other user is "misusing" the ID.
Stefan
Anton Boriso
Calibrating timer since microsleep sucks ... takes a second Setting up microsecond timing loop 788M loops per second OK, calibrated, now do the deed Trying Am29F040B, 512 KB probe_29f040b: id1 0xff, id2 0xff Trying At29C040A, 512 KB
so it's almost certainly not a 512KB, since you are reading 0xff
probe_jedec: id1 0xff, id2 0xff Trying Mx29f002, 256 KB probe_29f002: id1 0xdf, id2 0x24
0xdf, 0x24
now you could try dumping the bios without flashrom. if the first two bytes are not df,24 then you are probably doing an ID cycle, and flashrom just doesn't know this ID.
If the bytes ARE df,24, then write protection may be in effect.
Trying SST29EE020A, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST28SF040A, 512 KB probe_28sf040: id1 0xff, id2 0xff Trying SST39SF020A, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST39VF020, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST49LF040, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF080A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF002A/B, 256 KB probe_jedec: id1 0xdf, id2 0x24 Trying SST49LF003A/B, 384 KB probe_jedec: id1 0x47, id2 0x97
interesting. based on this, I'm guessing a 256kB part. Let us know if you can get the #.
ron
Peter Stuge wrote:
Peel the shiny sticker off the chip if there is one and copy the chip manufacturer name and model number to the list if you don't recognize them.
yes, and if you find a really neat use for the shiny sticker, let us know :-)
ron
* Ronald G Minnich rminnich@lanl.gov [060226 21:12]:
Peter Stuge wrote:
Peel the shiny sticker off the chip if there is one and copy the chip manufacturer name and model number to the list if you don't recognize them.
yes, and if you find a really neat use for the shiny sticker, let us know :-)
This is an interesting topic.
At home there's one on my ash tray but I usually put them on the wastebaskets...
I'm always looking for better ideas ;-)
Stefan
On Sun, 26 Feb 2006 16:55:54 +0100 Peter Stuge stuge-linuxbios@cdy.org wrote:
Peel the shiny sticker off the chip if there is one and copy the chip manufacturer name and model number to the list if you don't recognize them.
There is no shiny sticker. It has a soldered chip. SST49LF004B.
Anton Borisov wrote:
On Sun, 26 Feb 2006 16:55:54 +0100 Peter Stuge stuge-linuxbios@cdy.org wrote:
Peel the shiny sticker off the chip if there is one and copy the chip manufacturer name and model number to the list if you don't recognize them.
There is no shiny sticker. It has a soldered chip. SST49LF004B.
ah. LPC part, maybe firmware hub compatible. Since it could not be ID'ed by flashrom, and it is an included part, then it is protected by additional hardware.
Unless it is just the ICH5 bios protect, which I just added support for. You can try to svn up and rebuild flashrom and try again.
ron
On 2/27/06, Anton Borisov a.borisov@tesv.tmb.ru wrote:
On Sun, 26 Feb 2006 16:55:54 +0100 Peter Stuge stuge-linuxbios@cdy.org wrote:
Peel the shiny sticker off the chip if there is one and copy the chip manufacturer name and model number to the list if you don't recognize them.
There is no shiny sticker. It has a soldered chip. SST49LF004B.
According to the datasheet I got from here:
http://www.sst.com/products.xhtml/serial_flash/49/SST49LF004B
The Mfg ID of that part is a 0xBF not 0xDF.
-- Richard A. Smith
Richard Smith wrote:
On 2/27/06, Anton Borisov a.borisov@tesv.tmb.ru wrote:
On Sun, 26 Feb 2006 16:55:54 +0100 Peter Stuge stuge-linuxbios@cdy.org wrote:
Peel the shiny sticker off the chip if there is one and copy the chip manufacturer name and model number to the list if you don't recognize them.
There is no shiny sticker. It has a soldered chip. SST49LF004B.
According to the datasheet I got from here:
http://www.sst.com/products.xhtml/serial_flash/49/SST49LF004B
The Mfg ID of that part is a 0xBF not 0xDF.
Right. I bet if he dumps the top 256KB of memory (fffc0000 -ffffffff) he will see df is the first byte of the bios. The writes to the part, which you need to do for ID purposes, are not happening. They are disabled by some external hardware. Vendors do this all the time --- hookup up a GPIO to an and or or gate and don't tell anyone.
ron