Hi all,
today, I replaced the 512kB EEPROM on my GA-M57SLI by a 1024kB SST49LF080A chip. Flashing of a 1024kB BIOS (after booting with proprietary BIOS) works fine. After booting LB, writing with flashrom fails. (If you rewrite the same linuxbios.rom and use '--verify', anything looks ok, but if you write something 'new' on the ROM, the verification fails. Reading the ROM content and comparing it with the content written shows differences at the very end of the image.)
So the issue that has been solved for the 512kB LPC recently seems to pop up again!?
Regards,
Andi
Hi Andi,
On Wed, Nov 21, 2007 at 11:07:27PM +0100, Andreas B. Mundt wrote:
today, I replaced the 512kB EEPROM on my GA-M57SLI by a 1024kB SST49LF080A chip. Flashing of a 1024kB BIOS (after booting with proprietary BIOS) works fine. After booting LB, writing with flashrom fails. (If you rewrite the same linuxbios.rom and use '--verify', anything looks ok, but if you write something 'new' on the ROM, the verification fails. Reading the ROM content and comparing it with the content written shows differences at the very end of the image.)
So the issue that has been solved for the 512kB LPC recently seems to pop up again!?
Don't think so - I'm not having any problems and I also use SST49LF080A flash chips on an m57sli-s4. Something else must be going on.
Thanks, Ward.
On Wed, Nov 21, 2007 at 05:11:46PM -0500, Ward Vandewege wrote:
Hi Andi,
On Wed, Nov 21, 2007 at 11:07:27PM +0100, Andreas B. Mundt wrote:
today, I replaced the 512kB EEPROM on my GA-M57SLI by a 1024kB SST49LF080A chip. Flashing of a 1024kB BIOS (after booting with proprietary BIOS) works fine. After booting LB, writing with flashrom fails. (If you rewrite the same linuxbios.rom and use '--verify', anything looks ok, but if you write something 'new' on the ROM, the verification fails. Reading the ROM content and comparing it with the content written shows differences at the very end of the image.)
So the issue that has been solved for the 512kB LPC recently seems to pop up again!?
Don't think so - I'm not having any problems and I also use SST49LF080A flash chips on an m57sli-s4. Something else must be going on.
Strange.
Below the sequence I used to check. The 'testbios' is generated by concatenating 2 proprietary BIOSes.
$ sudo flashrom --verify linuxbios.rom Calibrating delay loop... OK. Found LinuxBIOS table at 0x00000530. Vendor ID: GIGABYTE, part ID: m57sli Found chipset "NVIDIA MCP55", enabling flash write... OK. NOT FOUND GIGABYTE:m57sli generic_spi_command called, but no SPI chipset detected SST49LF080A found at physical address 0xfff00000. Flash part is SST49LF080A (1024 KB). Verifying flash... VERIFIED.
$ sudo flashrom --verify --write linuxbios.rom Calibrating delay loop... OK. Found LinuxBIOS table at 0x00000530. Vendor ID: GIGABYTE, part ID: m57sli Found chipset "NVIDIA MCP55", enabling flash write... OK. NOT FOUND GIGABYTE:m57sli generic_spi_command called, but no SPI chipset detected SST49LF080A found at physical address 0xfff00000. Flash part is SST49LF080A (1024 KB). Programming page: 0255 at address: 0x000ff000 Verifying flash... VERIFIED.
$ sudo flashrom -V --verify --write /home/andi/freeBIOS/testbios Calibrating delay loop... 662M loops per second. OK. Found canidate at: 00000530-00000e70 Found LinuxBIOS table at 0x00000530. LinuxBIOS table found at 0x2b267524e530. LinuxBIOS header(24) checksum: c800 table(2368) checksum: 9d03 entries: 14 Vendor ID: GIGABYTE, part ID: m57sli Found chipset "NVIDIA MCP55", enabling flash write... OK. NOT FOUND GIGABYTE:m57sli Probing for Am29F040B, 512 KB probe_29f040b: id1 0xff, id2 0xff ..............some probes removed........... Probing for SST49LF080A, 1024 KB probe_jedec: id1 0xbf, id2 0x5b SST49LF080A found at physical address 0xfff00000. Flash part is SST49LF080A (1024 KB). Flash image seems to be a legacy BIOS. Disabling checks. Programming page: 0255 at address: 0x000ff000 Verifying flash... address: 0x00000000 FAILED!
$ sudo flashrom --verify --write linuxbios.rom Calibrating delay loop... OK. Found LinuxBIOS table at 0x00000530. Vendor ID: GIGABYTE, part ID: m57sli Found chipset "NVIDIA MCP55", enabling flash write... OK. NOT FOUND GIGABYTE:m57sli generic_spi_command called, but no SPI chipset detected SST49LF080A found at physical address 0xfff00000. Flash part is SST49LF080A (1024 KB). Programming page: 0255 at address: 0x000ff000 Verifying flash... VERIFIED.
So nothing seems to be written. Or did I make a simple mistake? Thoughts?
Thanks,
Andi
Am Mittwoch, 21. November 2007 23:07:27 schrieb Andreas B. Mundt:
Hi all,
today, I replaced the 512kB EEPROM on my GA-M57SLI by a 1024kB SST49LF080A chip. Flashing of a 1024kB BIOS (after booting with proprietary BIOS) works fine. After booting LB, writing with flashrom fails. (If you rewrite the same linuxbios.rom and use '--verify', anything looks ok, but if you write something 'new' on the ROM, the verification fails. Reading the ROM content and comparing it with the content written shows differences at the very end of the image.)
So the issue that has been solved for the 512kB LPC recently seems to pop up again!?
did you use flashrom -E befor writing the new file to the chip? on the spi-revision i must erase the chip before writing something new to it, else the verification fails.
regards, harald
Regards,
Andi
On Wed, Nov 21, 2007 at 11:19:01PM +0100, Harald Gutmann wrote:
today, I replaced the 512kB EEPROM on my GA-M57SLI by a 1024kB SST49LF080A chip. Flashing of a 1024kB BIOS (after booting with proprietary BIOS) works fine. After booting LB, writing with flashrom fails. (If you rewrite the same linuxbios.rom and use '--verify', anything looks ok, but if you write something 'new' on the ROM, the verification fails. Reading the ROM content and comparing it with the content written shows differences at the very end of the image.)
So the issue that has been solved for the 512kB LPC recently seems to pop up again!?
did you use flashrom -E befor writing the new file to the chip? on the spi-revision i must erase the chip before writing something new to it, else the verification fails.
tried that:
$ sudo flashrom -E Calibrating delay loop... OK. Found LinuxBIOS table at 0x00000530. Vendor ID: GIGABYTE, part ID: m57sli Found chipset "NVIDIA MCP55", enabling flash write... OK. NOT FOUND GIGABYTE:m57sli generic_spi_command called, but no SPI chipset detected SST49LF080A found at physical address 0xfff00000. Flash part is SST49LF080A (1024 KB). Erasing flash chip
$ sudo flashrom -V --verify --write /home/andi/freeBIOS/testbios Calibrating delay loop... 675M loops per second. OK. Found canidate at: 00000530-00000e70 Found LinuxBIOS table at 0x00000530. LinuxBIOS table found at 0x2b3beb571530. LinuxBIOS header(24) checksum: c800 table(2368) checksum: 9d03 entries: 14 Vendor ID: GIGABYTE, part ID: m57sli Found chipset "NVIDIA MCP55", enabling flash write... OK. NOT FOUND GIGABYTE:m57sli Probing for Am29F040B, 512 KB ................... some probing removed probe_jedec: id1 0xbf, id2 0x5b SST49LF080A found at physical address 0xfff00000. Flash part is SST49LF080A (1024 KB). Flash image seems to be a legacy BIOS. Disabling checks. Programming page: 0255 at address: 0x000ff000 Verifying flash... address: 0x00000000 FAILED!
$ sudo flashrom --verify linuxbios.rom Calibrating delay loop... OK. Found LinuxBIOS table at 0x00000530. Vendor ID: GIGABYTE, part ID: m57sli Found chipset "NVIDIA MCP55", enabling flash write... OK. NOT FOUND GIGABYTE:m57sli generic_spi_command called, but no SPI chipset detected SST49LF080A found at physical address 0xfff00000. Flash part is SST49LF080A (1024 KB). Verifying flash... FAILED!
$ sudo flashrom --verify --write linuxbios.rom Calibrating delay loop... OK. Found LinuxBIOS table at 0x00000530. Vendor ID: GIGABYTE, part ID: m57sli Found chipset "NVIDIA MCP55", enabling flash write... OK. NOT FOUND GIGABYTE:m57sli generic_spi_command called, but no SPI chipset detected SST49LF080A found at physical address 0xfff00000. Flash part is SST49LF080A (1024 KB). Programming page: 0255 at address: 0x000ff000 Verifying flash... VERIFIED.
So my 'testbios' does not work, but linuxbios works?
Thanks,
Andi
On Wednesday 21 November 2007, Andreas B. Mundt wrote:
On Wed, Nov 21, 2007 at 11:19:01PM +0100, Harald Gutmann wrote:
did you use flashrom -E befor writing the new file to the chip?
tried that:
$ sudo flashrom -E Erasing flash chip
$ sudo flashrom -V --verify --write /home/andi/freeBIOS/testbios
Does flashrom -r actually return a file of all 0xFFs after the erase?
Torsten
On Thu, Nov 22, 2007 at 01:02:29AM +0100, Torsten Duwe wrote:
On Wednesday 21 November 2007, Andreas B. Mundt wrote:
On Wed, Nov 21, 2007 at 11:19:01PM +0100, Harald Gutmann wrote:
did you use flashrom -E befor writing the new file to the chip?
tried that:
$ sudo flashrom -E Erasing flash chip
$ sudo flashrom -V --verify --write /home/andi/freeBIOS/testbios
Does flashrom -r actually return a file of all 0xFFs after the erase?
In fact it does not. Most of the file looks as if it is still the linuxbios.rom.
$ cmp after_erase linuxbios.rom after_erase linuxbios.rom differ: byte 983041, line 1695
Regards,
Andi
Does flashrom -r actually return a file of all 0xFFs after the erase?
In fact it does not. Most of the file looks as if it is still the linuxbios.rom.
For me, writing seems to work only from address 0x000f0000 upwards. This is part of the ROM content read after writing 1M of zeros (prior to the zero-writing, LB was on the chip):
000eff10: 80f9 1a76 0d0f b6c9 b301 83e9 08d3 e383 ...v............ 000eff20: cb01 8a47 0131 d23c 0188 856f ffff ff76 ...G.1.<...o...v 000eff30: 110f b68d 5fff ffff b201 83e9 08d3 e283 ...._........... 000eff40: ca01 80bd 5eff ffff 0074 1289 d801 db83 ....^....t...... 000eff50: e001 09c3 89d0 83e0 0101 d209 c281 e201 ................ 000eff60: 00f8 1f8b 8d58 ffff ff89 de89 9560 ffff .....X.......`.. 000eff70: ff8b 9538 ffff ff81 e601 00f8 1f8d 04cd ...8............ 000eff80: 4000 0000 b9f8 0c00 008b 520c c1ea 0409 @.........R..... 000eff90: d025 fcff ff7f 8995 64ff ffff 0d00 0000 .%......d....... 000effa0: 8089 caef 89f0 b2fc ef8b 9d58 ffff ff89 ...........X.... 000effb0: ca01 db8d 049d 4400 0000 0b85 64ff ffff ......D.....d... 000effc0: 25fc ffff 7f0d 0000 0080 ef8b 8560 ffff %............`.. 000effd0: ffb2 fcef 80bd 6fff ffff 0475 428d 049d ......o....uB... 000effe0: 5000 0000 89ca 0b85 64ff ffff 25fc ffff P.......d...%... 000efff0: 7f0d 0000 0080 ef89 f0b2 fcef 8d04 9d54 ...............T 000f0000: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0010: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0020: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0030: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
This is the same part afer erase:
000eff10: 80f9 1a76 0d0f b6c9 b301 83e9 08d3 e383 ...v............ 000eff20: cb01 8a47 0131 d23c 0188 856f ffff ff76 ...G.1.<...o...v 000eff30: 110f b68d 5fff ffff b201 83e9 08d3 e283 ...._........... 000eff40: ca01 80bd 5eff ffff 0074 1289 d801 db83 ....^....t...... 000eff50: e001 09c3 89d0 83e0 0101 d209 c281 e201 ................ 000eff60: 00f8 1f8b 8d58 ffff ff89 de89 9560 ffff .....X.......`.. 000eff70: ff8b 9538 ffff ff81 e601 00f8 1f8d 04cd ...8............ 000eff80: 4000 0000 b9f8 0c00 008b 520c c1ea 0409 @.........R..... 000eff90: d025 fcff ff7f 8995 64ff ffff 0d00 0000 .%......d....... 000effa0: 8089 caef 89f0 b2fc ef8b 9d58 ffff ff89 ...........X.... 000effb0: ca01 db8d 049d 4400 0000 0b85 64ff ffff ......D.....d... 000effc0: 25fc ffff 7f0d 0000 0080 ef8b 8560 ffff %............`.. 000effd0: ffb2 fcef 80bd 6fff ffff 0475 428d 049d ......o....uB... 000effe0: 5000 0000 89ca 0b85 64ff ffff 25fc ffff P.......d...%... 000efff0: 7f0d 0000 0080 ef89 f0b2 fcef 8d04 9d54 ...............T 000f0000: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0010: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0020: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0030: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0040: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0050: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0060: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0070: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0080: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0090: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00a0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00b0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00c0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00d0: ffff ffff ffff ffff ffff ffff ffff ffff ................
The flashing speed seems to be rather slow compared to flashing speed after booting with proprietary BIOS. At block 0x000f0000 the speed suddenly increases dramatically.
With proprietary BIOS anything seems to work so far :-(
Regards,
Andi
On 23.11.2007 20:31, Andreas B. Mundt wrote:
Does flashrom -r actually return a file of all 0xFFs after the erase?
In fact it does not. Most of the file looks as if it is still the linuxbios.rom.
For me, writing seems to work only from address 0x000f0000 upwards. This is part of the ROM content read after writing 1M of zeros (prior to the zero-writing, LB was on the chip):
000eff10: 80f9 1a76 0d0f b6c9 b301 83e9 08d3 e383 ...v............ 000eff20: cb01 8a47 0131 d23c 0188 856f ffff ff76 ...G.1.<...o...v 000eff30: 110f b68d 5fff ffff b201 83e9 08d3 e283 ...._........... 000eff40: ca01 80bd 5eff ffff 0074 1289 d801 db83 ....^....t...... 000eff50: e001 09c3 89d0 83e0 0101 d209 c281 e201 ................ 000eff60: 00f8 1f8b 8d58 ffff ff89 de89 9560 ffff .....X.......`.. 000eff70: ff8b 9538 ffff ff81 e601 00f8 1f8d 04cd ...8............ 000eff80: 4000 0000 b9f8 0c00 008b 520c c1ea 0409 @.........R..... 000eff90: d025 fcff ff7f 8995 64ff ffff 0d00 0000 .%......d....... 000effa0: 8089 caef 89f0 b2fc ef8b 9d58 ffff ff89 ...........X.... 000effb0: ca01 db8d 049d 4400 0000 0b85 64ff ffff ......D.....d... 000effc0: 25fc ffff 7f0d 0000 0080 ef8b 8560 ffff %............`.. 000effd0: ffb2 fcef 80bd 6fff ffff 0475 428d 049d ......o....uB... 000effe0: 5000 0000 89ca 0b85 64ff ffff 25fc ffff P.......d...%... 000efff0: 7f0d 0000 0080 ef89 f0b2 fcef 8d04 9d54 ...............T 000f0000: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0010: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0020: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0030: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
This is the same part afer erase:
000eff10: 80f9 1a76 0d0f b6c9 b301 83e9 08d3 e383 ...v............ 000eff20: cb01 8a47 0131 d23c 0188 856f ffff ff76 ...G.1.<...o...v 000eff30: 110f b68d 5fff ffff b201 83e9 08d3 e283 ...._........... 000eff40: ca01 80bd 5eff ffff 0074 1289 d801 db83 ....^....t...... 000eff50: e001 09c3 89d0 83e0 0101 d209 c281 e201 ................ 000eff60: 00f8 1f8b 8d58 ffff ff89 de89 9560 ffff .....X.......`.. 000eff70: ff8b 9538 ffff ff81 e601 00f8 1f8d 04cd ...8............ 000eff80: 4000 0000 b9f8 0c00 008b 520c c1ea 0409 @.........R..... 000eff90: d025 fcff ff7f 8995 64ff ffff 0d00 0000 .%......d....... 000effa0: 8089 caef 89f0 b2fc ef8b 9d58 ffff ff89 ...........X.... 000effb0: ca01 db8d 049d 4400 0000 0b85 64ff ffff ......D.....d... 000effc0: 25fc ffff 7f0d 0000 0080 ef8b 8560 ffff %............`.. 000effd0: ffb2 fcef 80bd 6fff ffff 0475 428d 049d ......o....uB... 000effe0: 5000 0000 89ca 0b85 64ff ffff 25fc ffff P.......d...%... 000efff0: 7f0d 0000 0080 ef89 f0b2 fcef 8d04 9d54 ...............T 000f0000: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0010: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0020: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0030: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0040: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0050: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0060: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0070: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0080: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0090: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00a0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00b0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00c0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00d0: ffff ffff ffff ffff ffff ffff ffff ffff ................
The flashing speed seems to be rather slow compared to flashing speed after booting with proprietary BIOS. At block 0x000f0000 the speed suddenly increases dramatically.
With proprietary BIOS anything seems to work so far :-(
Is that still the case? This observation may be the key to understand what's going on.
Regards, Carl-Daniel
On Wed, Nov 28, 2007 at 12:57:01AM +0100, Carl-Daniel Hailfinger wrote:
On 23.11.2007 20:31, Andreas B. Mundt wrote:
Does flashrom -r actually return a file of all 0xFFs after the erase?
In fact it does not. Most of the file looks as if it is still the linuxbios.rom.
For me, writing seems to work only from address 0x000f0000 upwards. This is part of the ROM content read after writing 1M of zeros (prior to the zero-writing, LB was on the chip):
000eff10: 80f9 1a76 0d0f b6c9 b301 83e9 08d3 e383 ...v............ 000eff20: cb01 8a47 0131 d23c 0188 856f ffff ff76 ...G.1.<...o...v 000eff30: 110f b68d 5fff ffff b201 83e9 08d3 e283 ...._........... 000eff40: ca01 80bd 5eff ffff 0074 1289 d801 db83 ....^....t...... 000eff50: e001 09c3 89d0 83e0 0101 d209 c281 e201 ................ 000eff60: 00f8 1f8b 8d58 ffff ff89 de89 9560 ffff .....X.......`.. 000eff70: ff8b 9538 ffff ff81 e601 00f8 1f8d 04cd ...8............ 000eff80: 4000 0000 b9f8 0c00 008b 520c c1ea 0409 @.........R..... 000eff90: d025 fcff ff7f 8995 64ff ffff 0d00 0000 .%......d....... 000effa0: 8089 caef 89f0 b2fc ef8b 9d58 ffff ff89 ...........X.... 000effb0: ca01 db8d 049d 4400 0000 0b85 64ff ffff ......D.....d... 000effc0: 25fc ffff 7f0d 0000 0080 ef8b 8560 ffff %............`.. 000effd0: ffb2 fcef 80bd 6fff ffff 0475 428d 049d ......o....uB... 000effe0: 5000 0000 89ca 0b85 64ff ffff 25fc ffff P.......d...%... 000efff0: 7f0d 0000 0080 ef89 f0b2 fcef 8d04 9d54 ...............T 000f0000: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0010: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0020: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0030: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
This is the same part afer erase:
000eff10: 80f9 1a76 0d0f b6c9 b301 83e9 08d3 e383 ...v............ 000eff20: cb01 8a47 0131 d23c 0188 856f ffff ff76 ...G.1.<...o...v 000eff30: 110f b68d 5fff ffff b201 83e9 08d3 e283 ...._........... 000eff40: ca01 80bd 5eff ffff 0074 1289 d801 db83 ....^....t...... 000eff50: e001 09c3 89d0 83e0 0101 d209 c281 e201 ................ 000eff60: 00f8 1f8b 8d58 ffff ff89 de89 9560 ffff .....X.......`.. 000eff70: ff8b 9538 ffff ff81 e601 00f8 1f8d 04cd ...8............ 000eff80: 4000 0000 b9f8 0c00 008b 520c c1ea 0409 @.........R..... 000eff90: d025 fcff ff7f 8995 64ff ffff 0d00 0000 .%......d....... 000effa0: 8089 caef 89f0 b2fc ef8b 9d58 ffff ff89 ...........X.... 000effb0: ca01 db8d 049d 4400 0000 0b85 64ff ffff ......D.....d... 000effc0: 25fc ffff 7f0d 0000 0080 ef8b 8560 ffff %............`.. 000effd0: ffb2 fcef 80bd 6fff ffff 0475 428d 049d ......o....uB... 000effe0: 5000 0000 89ca 0b85 64ff ffff 25fc ffff P.......d...%... 000efff0: 7f0d 0000 0080 ef89 f0b2 fcef 8d04 9d54 ...............T 000f0000: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0010: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0020: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0030: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0040: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0050: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0060: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0070: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0080: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0090: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00a0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00b0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00c0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00d0: ffff ffff ffff ffff ffff ffff ffff ffff ................
The flashing speed seems to be rather slow compared to flashing speed after booting with proprietary BIOS. At block 0x000f0000 the speed suddenly increases dramatically.
With proprietary BIOS anything seems to work so far :-(
Is that still the case? This observation may be the key to understand what's going on.
I verified the above again, it is still absolutely correct on my board: Erasing and writing works fine starting from 0x000f0000, but up to this address nothing happens at all.
Thanks,
Andi
On 28.11.2007 23:15, Andreas B. Mundt wrote:
On Wed, Nov 28, 2007 at 12:57:01AM +0100, Carl-Daniel Hailfinger wrote:
On 23.11.2007 20:31, Andreas B. Mundt wrote:
Does flashrom -r actually return a file of all 0xFFs after the erase?
In fact it does not. Most of the file looks as if it is still the linuxbios.rom.
For me, writing seems to work only from address 0x000f0000 upwards. This is part of the ROM content read after writing 1M of zeros (prior to the zero-writing, LB was on the chip):
000eff10: 80f9 1a76 0d0f b6c9 b301 83e9 08d3 e383 ...v............ 000eff20: cb01 8a47 0131 d23c 0188 856f ffff ff76 ...G.1.<...o...v 000eff30: 110f b68d 5fff ffff b201 83e9 08d3 e283 ...._........... 000eff40: ca01 80bd 5eff ffff 0074 1289 d801 db83 ....^....t...... 000eff50: e001 09c3 89d0 83e0 0101 d209 c281 e201 ................ 000eff60: 00f8 1f8b 8d58 ffff ff89 de89 9560 ffff .....X.......`.. 000eff70: ff8b 9538 ffff ff81 e601 00f8 1f8d 04cd ...8............ 000eff80: 4000 0000 b9f8 0c00 008b 520c c1ea 0409 @.........R..... 000eff90: d025 fcff ff7f 8995 64ff ffff 0d00 0000 .%......d....... 000effa0: 8089 caef 89f0 b2fc ef8b 9d58 ffff ff89 ...........X.... 000effb0: ca01 db8d 049d 4400 0000 0b85 64ff ffff ......D.....d... 000effc0: 25fc ffff 7f0d 0000 0080 ef8b 8560 ffff %............`.. 000effd0: ffb2 fcef 80bd 6fff ffff 0475 428d 049d ......o....uB... 000effe0: 5000 0000 89ca 0b85 64ff ffff 25fc ffff P.......d...%... 000efff0: 7f0d 0000 0080 ef89 f0b2 fcef 8d04 9d54 ...............T 000f0000: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0010: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0020: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0030: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................ 000f00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
This is the same part afer erase:
000eff10: 80f9 1a76 0d0f b6c9 b301 83e9 08d3 e383 ...v............ 000eff20: cb01 8a47 0131 d23c 0188 856f ffff ff76 ...G.1.<...o...v 000eff30: 110f b68d 5fff ffff b201 83e9 08d3 e283 ...._........... 000eff40: ca01 80bd 5eff ffff 0074 1289 d801 db83 ....^....t...... 000eff50: e001 09c3 89d0 83e0 0101 d209 c281 e201 ................ 000eff60: 00f8 1f8b 8d58 ffff ff89 de89 9560 ffff .....X.......`.. 000eff70: ff8b 9538 ffff ff81 e601 00f8 1f8d 04cd ...8............ 000eff80: 4000 0000 b9f8 0c00 008b 520c c1ea 0409 @.........R..... 000eff90: d025 fcff ff7f 8995 64ff ffff 0d00 0000 .%......d....... 000effa0: 8089 caef 89f0 b2fc ef8b 9d58 ffff ff89 ...........X.... 000effb0: ca01 db8d 049d 4400 0000 0b85 64ff ffff ......D.....d... 000effc0: 25fc ffff 7f0d 0000 0080 ef8b 8560 ffff %............`.. 000effd0: ffb2 fcef 80bd 6fff ffff 0475 428d 049d ......o....uB... 000effe0: 5000 0000 89ca 0b85 64ff ffff 25fc ffff P.......d...%... 000efff0: 7f0d 0000 0080 ef89 f0b2 fcef 8d04 9d54 ...............T 000f0000: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0010: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0020: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0030: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0040: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0050: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0060: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0070: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0080: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f0090: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00a0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00b0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00c0: ffff ffff ffff ffff ffff ffff ffff ffff ................ 000f00d0: ffff ffff ffff ffff ffff ffff ffff ffff ................
The flashing speed seems to be rather slow compared to flashing speed after booting with proprietary BIOS. At block 0x000f0000 the speed suddenly increases dramatically.
With proprietary BIOS anything seems to work so far :-(
Is that still the case? This observation may be the key to understand what's going on.
I verified the above again, it is still absolutely correct on my board: Erasing and writing works fine starting from 0x000f0000, but up to this address nothing happens at all.
OK, then we probably have either partial chip protection (by setting some bits in the chip) or partial mapping.
Regards, Carl-Daniel
Carl-Daniel Hailfinger wrote:
OK, then we probably have either partial chip protection (by setting some bits in the chip) or partial mapping.
Is this an SPI part? Pretty much all recent SPI parts have block protect bits in the status register. The "blocks" are usually some fraction of the part. Many of the parts come with the BP bits set by default and others are non-voltile so a factory setting would stick.
Richard Smith wrote:
Is this an SPI part? Pretty much all recent SPI parts have block protect
Never mind. If I had read the entire thread first I would have know the answer.
On Wed, Nov 28, 2007 at 07:33:46PM -0500, Richard Smith wrote:
Carl-Daniel Hailfinger wrote:
OK, then we probably have either partial chip protection (by setting some bits in the chip) or partial mapping.
Is this an SPI part? Pretty much all recent SPI parts have block protect bits in the status register. The "blocks" are usually some fraction of the part. Many of the parts come with the BP bits set by default and others are non-voltile so a factory setting would stick.
No, it's the PLCC32 revision. It's strange that it seems to work for Ward. Ward, which board revision do you have? (But Ward's board showed some prefered behaviors already without setting the GPIO at all, when flashing sometimes worked for him... ;-))
Regards,
Andi
On Thu, Nov 29, 2007 at 05:34:38PM +0100, Andreas B. Mundt wrote:
No, it's the PLCC32 revision. It's strange that it seems to work for Ward. Ward, which board revision do you have?
Yep, works fine for me, same chip. My board says it's rev 1.1; it's plcc.
(But Ward's board showed some prefered behaviors already without setting the GPIO at all, when flashing sometimes worked for him... ;-))
Correct. It worked sometimes, now it works always thanks to Carl-Daniel's work :)
Thanks, Ward.
Yep, works fine for me, same chip. My board says it's rev 1.1; it's plcc.
So this might be the reason: I have rev 1.0 :-(
... It worked sometimes, now it works always thanks to Carl-Daniel's work :)
Note: For the 512kB chip it worked for me too (after Carl-Daniel's patch).
Thanks,
Andi
On 22.11.2007 08:24, Andreas B. Mundt wrote:
On Thu, Nov 22, 2007 at 01:02:29AM +0100, Torsten Duwe wrote:
On Wednesday 21 November 2007, Andreas B. Mundt wrote:
On Wed, Nov 21, 2007 at 11:19:01PM +0100, Harald Gutmann wrote:
did you use flashrom -E befor writing the new file to the chip?
tried that:
$ sudo flashrom -E Erasing flash chip
$ sudo flashrom -V --verify --write /home/andi/freeBIOS/testbios
Does flashrom -r actually return a file of all 0xFFs after the erase?
In fact it does not. Most of the file looks as if it is still the linuxbios.rom.
$ cmp after_erase linuxbios.rom after_erase linuxbios.rom differ: byte 983041, line 1695
To summarize:
Proprietary BIOS: * Erasing the chip was tested, reading from the chip gives you all 0xFFs after erase. * Writing the chip after erase was tested, verify successful.
LinuxBIOS: * Erasing the chip fails, only a few bytes are changed (if any). * Writing fails as well because erase failed.
I need the exact LinuxBIOS revision you are using and superiotool dumps under proprietary BIOS and LinuxBIOS. I have a suspicion about the cause of the failure. Please state your exact board revision as well.
Regards, Carl-Daniel
On Nov 23, 2007 5:01 PM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
I need the exact LinuxBIOS revision you are using and superiotool dumps under proprietary BIOS and LinuxBIOS. I have a suspicion about the cause of the failure. Please state your exact board revision as well.
let me know too :-)
When a partial erase happens it is usually an MTRR setting or (on chipsets like Geode) a misprogrammed MSR.
ron
To summarize:
Proprietary BIOS:
- Erasing the chip was tested, reading from the chip gives you all 0xFFs
after erase.
- Writing the chip after erase was tested, verify successful.
correct
LinuxBIOS:
- Erasing the chip fails, only a few bytes are changed (if any).
- Writing fails as well because erase failed.
correct
I need the exact LinuxBIOS revision you are using and superiotool dumps under proprietary BIOS and LinuxBIOS. I have a suspicion about the cause of the failure. Please state your exact board revision as well.
LB revision: 2985; board revision: 1.0 --------- superiotool proprietary BIOS:
superiotool r2922 Probing for ITE Super I/O (init=0x87,0x01,0x55,0x55/0xaa) at 0x2e... Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e Register dump: idx 07 20 21 22 23 24 2b val 0a 87 16 00 11 00 00 def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 val 01 03 f0 06 02 00 80 def 00 03 f0 06 02 00 00 LDN 0x01 idx 30 60 61 70 f0 f1 f2 f3 val 01 03 f8 04 00 50 00 7f def 00 03 f8 04 00 50 00 7f LDN 0x02 idx 30 60 61 70 f0 f1 f2 f3 val 00 00 00 00 00 50 00 7f def 00 02 f8 03 00 50 00 7f LDN 0x03 idx 30 60 61 62 63 70 74 f0 val 01 03 78 00 00 07 04 08 def 00 03 78 07 78 07 03 03 LDN 0x04 idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5 f6 val 01 02 90 00 00 00 80 00 0a 00 80 00 ff def 00 02 90 02 30 09 00 00 00 00 00 NA NA LDN 0x05 idx 30 60 61 62 63 70 71 f0 val 01 00 60 00 64 01 02 68 def 01 00 60 00 64 01 02 00 LDN 0x06 idx 30 70 71 f0 val 00 00 02 00 def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c8 c9 ca cb cc e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd val 00 43 20 00 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 00 43 20 00 00 00 40 00 00 00 00 00 00 00 00 10 40 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0 val 00 03 00 0a 00 def 00 03 00 0a 00 LDN 0x09 idx 30 60 61 val 00 02 01 def 00 02 01 LDN 0x0a idx 30 60 61 70 f0 val 00 03 10 0b 06 def 00 03 10 0b 00
--------------- superiotool LB BIOS:
superiotool r2922 Probing for ITE Super I/O (init=0x87,0x01,0x55,0x55/0xaa) at 0x2e... Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e Register dump: idx 07 20 21 22 23 24 2b val 07 87 16 00 11 00 00 def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 val 00 03 f0 06 02 00 00 def 00 03 f0 06 02 00 00 LDN 0x01 idx 30 60 61 70 f0 f1 f2 f3 val 01 03 f8 04 00 50 00 7f def 00 03 f8 04 00 50 00 7f LDN 0x02 idx 30 60 61 70 f0 f1 f2 f3 val 00 02 f8 03 00 50 00 7f def 00 02 f8 03 00 50 00 7f LDN 0x03 idx 30 60 61 62 63 70 74 f0 val 00 03 78 07 78 07 04 03 def 00 03 78 07 78 07 03 03 LDN 0x04 idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5 f6 val 01 02 90 02 30 09 80 00 0a 00 80 00 ff def 00 02 90 02 30 09 00 00 00 00 00 NA NA LDN 0x05 idx 30 60 61 62 63 70 71 f0 val 01 00 60 00 64 01 02 48 def 01 00 60 00 64 01 02 00 LDN 0x06 idx 30 70 71 f0 val 01 0c 02 00 def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c8 c9 ca cb cc e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd val 00 43 20 00 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 00 43 20 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0 val 00 03 00 0a 00 def 00 03 00 0a 00 LDN 0x09 idx 30 60 61 val 00 02 01 def 00 02 01 LDN 0x0a idx 30 60 61 70 f0 val 00 03 10 0b 06 def 00 03 10 0b 00
---------------- $ diff -u andi_prop andi_LB --- andi_prop 2007-11-25 09:28:35.000000000 +0100 +++ andi_LB 2007-11-25 09:39:12.000000000 +0100 @@ -11,11 +11,11 @@ Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e Register dump: idx 07 20 21 22 23 24 2b -val 0a 87 16 00 11 00 00 +val 07 87 16 00 11 00 00 def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 -val 01 03 f0 06 02 00 80 +val 00 03 f0 06 02 00 00 def 00 03 f0 06 02 00 00 LDN 0x01 idx 30 60 61 70 f0 f1 f2 f3 @@ -23,27 +23,27 @@ def 00 03 f8 04 00 50 00 7f LDN 0x02 idx 30 60 61 70 f0 f1 f2 f3 -val 00 00 00 00 00 50 00 7f +val 00 02 f8 03 00 50 00 7f def 00 02 f8 03 00 50 00 7f LDN 0x03 idx 30 60 61 62 63 70 74 f0 -val 01 03 78 00 00 07 04 08 +val 00 03 78 07 78 07 04 03 def 00 03 78 07 78 07 03 03 LDN 0x04 idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5 f6 -val 01 02 90 00 00 00 80 00 0a 00 80 00 ff +val 01 02 90 02 30 09 80 00 0a 00 80 00 ff def 00 02 90 02 30 09 00 00 00 00 00 NA NA LDN 0x05 idx 30 60 61 62 63 70 71 f0 -val 01 00 60 00 64 01 02 68 +val 01 00 60 00 64 01 02 48 def 01 00 60 00 64 01 02 00 LDN 0x06 idx 30 70 71 f0 -val 00 00 02 00 +val 01 0c 02 00 def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c8 c9 ca cb cc e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd -val 00 43 20 00 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 00 43 20 00 00 00 40 00 00 00 00 00 00 00 00 10 40 00 00 00 00 28 00 00 00 00 00 32 00 +val 00 43 20 00 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 00 43 20 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0
Thanks,
Andi
On 25.11.2007 09:54, Andreas B. Mundt wrote:
To summarize:
Proprietary BIOS:
- Erasing the chip was tested, reading from the chip gives you all 0xFFs
after erase.
- Writing the chip after erase was tested, verify successful.
correct
Good.
LinuxBIOS:
- Erasing the chip fails, only a few bytes are changed (if any).
- Writing fails as well because erase failed.
correct
Did it ever work for you?
I need the exact LinuxBIOS revision you are using and superiotool dumps under proprietary BIOS and LinuxBIOS. I have a suspicion about the cause of the failure. Please state your exact board revision as well.
LB revision: 2985; board revision: 1.0
Thanks for the dumps. I believe the Super I/O data sheet is incomplete and/or wrong, so please try this patch against superiotool and dump again under LB and proprietary.
Regards, Carl-Daniel
Look for undocumented SIO6 registers in the IT8716F Super I/O. This is just a shot in the dark, if it does not yield the expected results, we have to dump and compare the whole chip. If that is not sufficient, we have to dump GPIO space (well, we should already do that, but we got by without it for a long time).
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: ite.c =================================================================== --- ite.c (Revision 2986) +++ ite.c (Arbeitskopie) @@ -253,13 +253,13 @@ {0x25,0x26,0x27,0x28,0x29,0x2a,0x2c,0x60,0x61,0x62, 0x63,0x64,0x65,0x70,0x71,0x72,0x73,0x74,0xb0,0xb1, 0xb2,0xb3,0xb4,0xb5,0xb8,0xb9,0xba,0xbb,0xbc,0xbd, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc8,0xc9,0xca,0xcb,0xcc, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc8,0xc9,0xca,0xcb,0xcc,0xcd, 0xe0,0xe1,0xe2,0xe3,0xe4,0xf0,0xf1,0xf2,0xf3,0xf4, 0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,EOT}, {0x01,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x20,0x38,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, - 0x01,0x00,0x00,0x40,0x00,0x01,0x00,0x00,0x40,0x00, + 0x01,0x00,0x00,0x40,0x00,NANA,0x01,0x00,0x00,0x40,0x00,NANA, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,NANA,0x00,EOT}}, {0x8, NULL,
On Mon, Nov 26, 2007 at 12:59:49PM +0100, Carl-Daniel Hailfinger wrote:
On 25.11.2007 09:54, Andreas B. Mundt wrote:
To summarize:
Proprietary BIOS:
- Erasing the chip was tested, reading from the chip gives you all 0xFFs
after erase.
- Writing the chip after erase was tested, verify successful.
correct
Good.
LinuxBIOS:
- Erasing the chip fails, only a few bytes are changed (if any).
- Writing fails as well because erase failed.
correct
Did it ever work for you?
No :-(
Thanks for the dumps. I believe the Super I/O data sheet is incomplete and/or wrong, so please try this patch against superiotool and dump again under LB and proprietary.
Here we go:
superiotool patched, proprietary BIOS:
superiotool r2986 Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e Register dump: idx 07 20 21 22 23 24 2b val 07 87 16 00 11 00 00 def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 val 01 03 f0 06 02 00 80 def 00 03 f0 06 02 00 00 LDN 0x01 idx 30 60 61 70 f0 f1 f2 f3 val 01 03 f8 04 00 50 00 7f def 00 03 f8 04 00 50 00 7f LDN 0x02 idx 30 60 61 70 f0 f1 f2 f3 val 00 00 00 00 00 50 00 7f def 00 02 f8 03 00 50 00 7f LDN 0x03 idx 30 60 61 62 63 70 74 f0 val 01 03 78 00 00 07 04 08 def 00 03 78 07 78 07 03 03 LDN 0x04 idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5 f6 val 01 02 90 00 00 00 80 00 0a 00 80 00 ff def 00 02 90 02 30 09 00 00 00 00 00 NA NA LDN 0x05 idx 30 60 61 62 63 70 71 f0 val 01 00 60 00 64 01 02 68 def 01 00 60 00 64 01 02 00 LDN 0x06 idx 30 70 71 f0 val 00 00 02 00 def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c5 c8 c9 ca cb cc cd e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd val 00 43 20 00 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 00 43 20 00 00 00 00 40 00 00 00 00 00 00 00 00 00 10 40 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 NA 01 00 00 40 00 NA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0 val 00 03 00 0a 00 def 00 03 00 0a 00 LDN 0x09 idx 30 60 61 val 00 02 01 def 00 02 01 LDN 0x0a idx 30 60 61 70 f0 val 00 03 10 0b 06 def 00 03 10 0b 00
--------------- superiotool patched, LB BIOS:
superiotool r2986 Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e Register dump: idx 07 20 21 22 23 24 2b val 0a 87 16 00 11 00 00 def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 val 00 03 f0 06 02 00 00 def 00 03 f0 06 02 00 00 LDN 0x01 idx 30 60 61 70 f0 f1 f2 f3 val 01 03 f8 04 00 50 00 7f def 00 03 f8 04 00 50 00 7f LDN 0x02 idx 30 60 61 70 f0 f1 f2 f3 val 00 02 f8 03 00 50 00 7f def 00 02 f8 03 00 50 00 7f LDN 0x03 idx 30 60 61 62 63 70 74 f0 val 00 03 78 07 78 07 04 03 def 00 03 78 07 78 07 03 03 LDN 0x04 idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5 f6 val 01 02 90 02 30 09 80 00 0a 00 80 00 ff def 00 02 90 02 30 09 00 00 00 00 00 NA NA LDN 0x05 idx 30 60 61 62 63 70 71 f0 val 01 00 60 00 64 01 02 48 def 01 00 60 00 64 01 02 00 LDN 0x06 idx 30 70 71 f0 val 01 0c 02 00 def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c5 c8 c9 ca cb cc cd e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd val 00 43 20 40 81 00 1f 00 00 08 00 00 00 00 01 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 01 43 20 40 00 00 01 40 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 NA 01 00 00 40 00 NA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0 val 00 03 00 0a 00 def 00 03 00 0a 00 LDN 0x09 idx 30 60 61 val 00 02 01 def 00 02 01 LDN 0x0a idx 30 60 61 70 f0 val 00 03 10 0b 06 def 00 03 10 0b 00
------------
$ diff -u andi_prop_p andi_LB_p --- andi_prop_p 2007-11-26 19:50:25.000000000 +0100 +++ andi_LB_p 2007-11-26 19:46:04.000000000 +0100 @@ -2,11 +2,11 @@ Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e Register dump: idx 07 20 21 22 23 24 2b -val 07 87 16 00 11 00 00 +val 0a 87 16 00 11 00 00 def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 -val 01 03 f0 06 02 00 80 +val 00 03 f0 06 02 00 00 def 00 03 f0 06 02 00 00 LDN 0x01 idx 30 60 61 70 f0 f1 f2 f3 @@ -14,27 +14,27 @@ def 00 03 f8 04 00 50 00 7f LDN 0x02 idx 30 60 61 70 f0 f1 f2 f3 -val 00 00 00 00 00 50 00 7f +val 00 02 f8 03 00 50 00 7f def 00 02 f8 03 00 50 00 7f LDN 0x03 idx 30 60 61 62 63 70 74 f0 -val 01 03 78 00 00 07 04 08 +val 00 03 78 07 78 07 04 03 def 00 03 78 07 78 07 03 03 LDN 0x04 idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5 f6 -val 01 02 90 00 00 00 80 00 0a 00 80 00 ff +val 01 02 90 02 30 09 80 00 0a 00 80 00 ff def 00 02 90 02 30 09 00 00 00 00 00 NA NA LDN 0x05 idx 30 60 61 62 63 70 71 f0 -val 01 00 60 00 64 01 02 68 +val 01 00 60 00 64 01 02 48 def 01 00 60 00 64 01 02 00 LDN 0x06 idx 30 70 71 f0 -val 00 00 02 00 +val 01 0c 02 00 def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c5 c8 c9 ca cb cc cd e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd -val 00 43 20 00 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 00 43 20 00 00 00 00 40 00 00 00 00 00 00 00 00 00 10 40 00 00 00 00 28 00 00 00 00 00 32 00 +val 00 43 20 40 81 00 1f 00 00 08 00 00 00 00 01 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 01 43 20 40 00 00 01 40 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 NA 01 00 00 40 00 NA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0
Thanks,
Andi
On 26.11.2007 20:00, Andreas B. Mundt wrote:
On Mon, Nov 26, 2007 at 12:59:49PM +0100, Carl-Daniel Hailfinger wrote:
On 25.11.2007 09:54, Andreas B. Mundt wrote:
To summarize:
Proprietary BIOS:
- Erasing the chip was tested, reading from the chip gives you all 0xFFs
after erase.
- Writing the chip after erase was tested, verify successful.
correct
Good.
LinuxBIOS:
- Erasing the chip fails, only a few bytes are changed (if any).
- Writing fails as well because erase failed.
correct
Did it ever work for you?
No :-(
Thanks for the dumps. I believe the Super I/O data sheet is incomplete and/or wrong, so please try this patch against superiotool and dump again under LB and proprietary.
Here we go:
superiotool patched, proprietary BIOS:
superiotool r2986 Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e Register dump: idx 07 20 21 22 23 24 2b val 07 87 16 00 11 00 00 def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 val 01 03 f0 06 02 00 80 def 00 03 f0 06 02 00 00 LDN 0x01 idx 30 60 61 70 f0 f1 f2 f3 val 01 03 f8 04 00 50 00 7f def 00 03 f8 04 00 50 00 7f LDN 0x02 idx 30 60 61 70 f0 f1 f2 f3 val 00 00 00 00 00 50 00 7f def 00 02 f8 03 00 50 00 7f LDN 0x03 idx 30 60 61 62 63 70 74 f0 val 01 03 78 00 00 07 04 08 def 00 03 78 07 78 07 03 03 LDN 0x04 idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5 f6 val 01 02 90 00 00 00 80 00 0a 00 80 00 ff def 00 02 90 02 30 09 00 00 00 00 00 NA NA LDN 0x05 idx 30 60 61 62 63 70 71 f0 val 01 00 60 00 64 01 02 68 def 01 00 60 00 64 01 02 00 LDN 0x06 idx 30 70 71 f0 val 00 00 02 00 def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c5 c8 c9 ca cb cc cd e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd val 00 43 20 00 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 00 43 20 00 00 00 00 40 00 00 00 00 00 00 00 00 00 10 40 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 NA 01 00 00 40 00 NA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0 val 00 03 00 0a 00 def 00 03 00 0a 00 LDN 0x09 idx 30 60 61 val 00 02 01 def 00 02 01 LDN 0x0a idx 30 60 61 70 f0 val 00 03 10 0b 06 def 00 03 10 0b 00
superiotool patched, LB BIOS:
superiotool r2986 Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e Register dump: idx 07 20 21 22 23 24 2b val 0a 87 16 00 11 00 00 def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 val 00 03 f0 06 02 00 00 def 00 03 f0 06 02 00 00 LDN 0x01 idx 30 60 61 70 f0 f1 f2 f3 val 01 03 f8 04 00 50 00 7f def 00 03 f8 04 00 50 00 7f LDN 0x02 idx 30 60 61 70 f0 f1 f2 f3 val 00 02 f8 03 00 50 00 7f def 00 02 f8 03 00 50 00 7f LDN 0x03 idx 30 60 61 62 63 70 74 f0 val 00 03 78 07 78 07 04 03 def 00 03 78 07 78 07 03 03 LDN 0x04 idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5 f6 val 01 02 90 02 30 09 80 00 0a 00 80 00 ff def 00 02 90 02 30 09 00 00 00 00 00 NA NA LDN 0x05 idx 30 60 61 62 63 70 71 f0 val 01 00 60 00 64 01 02 48 def 01 00 60 00 64 01 02 00 LDN 0x06 idx 30 70 71 f0 val 01 0c 02 00 def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c5 c8 c9 ca cb cc cd e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd val 00 43 20 40 81 00 1f 00 00 08 00 00 00 00 01 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 01 43 20 40 00 00 01 40 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 NA 01 00 00 40 00 NA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0 val 00 03 00 0a 00 def 00 03 00 0a 00 LDN 0x09 idx 30 60 61 val 00 02 01 def 00 02 01 LDN 0x0a idx 30 60 61 70 f0 val 00 03 10 0b 06 def 00 03 10 0b 00
$ diff -u andi_prop_p andi_LB_p --- andi_prop_p 2007-11-26 19:50:25.000000000 +0100 +++ andi_LB_p 2007-11-26 19:46:04.000000000 +0100 @@ -2,11 +2,11 @@ Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e Register dump: idx 07 20 21 22 23 24 2b -val 07 87 16 00 11 00 00 +val 0a 87 16 00 11 00 00 def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 -val 01 03 f0 06 02 00 80 +val 00 03 f0 06 02 00 00 def 00 03 f0 06 02 00 00 LDN 0x01 idx 30 60 61 70 f0 f1 f2 f3 @@ -14,27 +14,27 @@ def 00 03 f8 04 00 50 00 7f LDN 0x02 idx 30 60 61 70 f0 f1 f2 f3 -val 00 00 00 00 00 50 00 7f +val 00 02 f8 03 00 50 00 7f def 00 02 f8 03 00 50 00 7f LDN 0x03 idx 30 60 61 62 63 70 74 f0 -val 01 03 78 00 00 07 04 08 +val 00 03 78 07 78 07 04 03 def 00 03 78 07 78 07 03 03 LDN 0x04 idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5 f6 -val 01 02 90 00 00 00 80 00 0a 00 80 00 ff +val 01 02 90 02 30 09 80 00 0a 00 80 00 ff def 00 02 90 02 30 09 00 00 00 00 00 NA NA LDN 0x05 idx 30 60 61 62 63 70 71 f0 -val 01 00 60 00 64 01 02 68 +val 01 00 60 00 64 01 02 48 def 01 00 60 00 64 01 02 00 LDN 0x06 idx 30 70 71 f0 -val 00 00 02 00 +val 01 0c 02 00 def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c5 c8 c9 ca cb cc cd e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd -val 00 43 20 00 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 00 43 20 00 00 00 00 40 00 00 00 00 00 00 00 00 00 10 40 00 00 00 00 28 00 00 00 00 00 32 00 +val 00 43 20 40 81 00 1f 00 00 08 00 00 00 00 01 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 01 43 20 40 00 00 01 40 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 NA 01 00 00 40 00 NA 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0
Just a note to self:
Config.lb, idx 0x7
idx 0x28, set to 0 (GP46) idx 0xc0, set to 0 (SIO1 Alternate) idx 0xc8, set to 0 (SIO1 Input) idx 0xcb, set to 0 (SIO4 Input)
We have to figure out what differs between your proprietary BIOS and the proprietary BIOS I verified our settings against.
Regards, Carl-Daniel
Hi,
building a LAB-image with buildrom (I had to do this on an other 32-bit machine) flashing now works for me, too. I tried to find out why, but so far without success. Some configuration might differ? What can go wrong switching to 1024kB?
Ideas?
Thanks,
Andi
Below my LinuxBIOSv2/targets/gigabyte/m57sli/Config.lb:
$grep -Ev '^(#|$)' Config.lb
target m57sli mainboard gigabyte/m57sli option ROM_SIZE=0x100000 romimage "normal" option USE_FAILOVER_IMAGE=0 option USE_FALLBACK_IMAGE=0 option ROM_IMAGE_SIZE=0x20000 option XIP_ROM_SIZE=0x40000 option LINUXBIOS_EXTRA_VERSION="$(shell cat ../../VERSION)_Normal" payload ../../../../../../filo-0.5/filo.elf option DEFAULT_CONSOLE_LOGLEVEL=8 option MAXIMUM_CONSOLE_LOGLEVEL=8 end romimage "fallback" option USE_FAILOVER_IMAGE=0 option USE_FALLBACK_IMAGE=1 option ROM_IMAGE_SIZE=0x20000 option XIP_ROM_SIZE=0x40000 option LINUXBIOS_EXTRA_VERSION="$(shell cat ../../VERSION)_Fallback" payload ../../../../../../filo-0.5/filo.elf option DEFAULT_CONSOLE_LOGLEVEL=8 option MAXIMUM_CONSOLE_LOGLEVEL=8 end romimage "failover" option USE_FAILOVER_IMAGE=1 option USE_FALLBACK_IMAGE=0 option ROM_IMAGE_SIZE=FAILOVER_SIZE option XIP_ROM_SIZE=FAILOVER_SIZE option LINUXBIOS_EXTRA_VERSION="$(shell cat ../../VERSION)_Failover" end buildrom ./linuxbios.rom ROM_SIZE "normal" "fallback" "failover"
On Sat, Dec 01, 2007 at 10:11:36AM +0100, Andreas B. Mundt wrote:
Hi,
building a LAB-image with buildrom (I had to do this on an other 32-bit machine) flashing now works for me, too. I tried to find out why, but so far without success. Some configuration might differ?
Hey,
I found the difference in the builds:
=================================================================== --- src/mainboard/gigabyte/m57sli/Config.lb (revision 2994) +++ src/mainboard/gigabyte/m57sli/Config.lb (working copy) @@ -310,7 +310,7 @@ # SIO pin set 1 input mode #irq 0xc8 = 0x0 # SIO pin set 2 mixed input/output mode - irq 0xc9 = 0x40 + irq 0xc9 = 0x0 # SIO pin set 4 input mode #irq 0xcb = 0x0 # Generate SMI# on EC IRQ
This has been changed in rev 2972. Buildrom has still the 'old' version. Flashing works fine for me if irq 0xc9 = 0x0 is set. With irq 0xc9 = 0x40 it fails.
Could somebody check if flashing really works for some m57sli-boards (LPC) with the latest revision (irq 0xc9 = 0x40)?
Thanks,
Andi
On 02.12.2007 00:34, Andreas B. Mundt wrote:
On Sat, Dec 01, 2007 at 10:11:36AM +0100, Andreas B. Mundt wrote:
Hi,
building a LAB-image with buildrom (I had to do this on an other 32-bit machine) flashing now works for me, too. I tried to find out why, but so far without success. Some configuration might differ?
Hey,
I found the difference in the builds:
=================================================================== --- src/mainboard/gigabyte/m57sli/Config.lb (revision 2994) +++ src/mainboard/gigabyte/m57sli/Config.lb (working copy) @@ -310,7 +310,7 @@ # SIO pin set 1 input mode #irq 0xc8 = 0x0 # SIO pin set 2 mixed input/output mode
irq 0xc9 = 0x40
irq 0xc9 = 0x0 # SIO pin set 4 input mode #irq 0xcb = 0x0 # Generate SMI# on EC IRQ
This has been changed in rev 2972. Buildrom has still the 'old' version. Flashing works fine for me if irq 0xc9 = 0x0 is set. With irq 0xc9 = 0x40 it fails.
OK, is that a difference between board revisions, BIOS revisions or just a misinterpretation of some superiotool dump?
I can see that your latest superiotool dump with the proprietary BIOS has irq 0xc9 = 0x40 set. I tried to mirror that. Now the interesting question is: Why does that setting not work for you?
Could somebody check if flashing really works for some m57sli-boards (LPC) with the latest revision (irq 0xc9 = 0x40)?
To track this down, I need: * superiotool dump of proprietary BIOS for board revisions 1.0, 1.1, 2.0, 2.x * the exact BIOS version of the proprietary BIOS.
It seems that Ward's board also has 0xc9 = 0x40 set.
Regards, Carl-Daniel
On Wednesday 05 December 2007, Carl-Daniel Hailfinger wrote:
To track this down, I need:
- superiotool dump of proprietary BIOS for board revisions 1.0, 1.1,
2.0, 2.x
- the exact BIOS version of the proprietary BIOS.
Here's my 1.0, BIOS rev 11b
This has been changed in rev 2972. Buildrom has still the 'old' version. Flashing works fine for me if irq 0xc9 = 0x0 is set. With irq 0xc9 = 0x40 it fails.
OK, is that a difference between board revisions, BIOS revisions or just a misinterpretation of some superiotool dump?
I can see that your latest superiotool dump with the proprietary BIOS has irq 0xc9 = 0x40 set. I tried to mirror that. Now the interesting question is: Why does that setting not work for you?
To track this down, I need:
- superiotool dump of proprietary BIOS for board revisions 1.0, 1.1,
2.0, 2.x
- the exact BIOS version of the proprietary BIOS.
I double checked proprietary BIOS (F9), LB with 0xc9 = 0x40 and LB with 0xc9 = 0x0. But all I said previously is still true for my board (rev 1.0):
For proprietary BIOS: 0xc9 = 0x40 flashing ok. For LB with : 0xc9 = 0x0 flashing ok. For LB with : 0xc9 = 0x40 flashing/erase fails.
Regards,
Andi
$ diff -u lb_0x40 lb_0x0 --- lb_0x40 2007-12-05 18:30:30.000000000 +0100 +++ lb_0x0 2007-12-05 18:25:47.000000000 +0100 @@ -2,7 +2,7 @@ Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e Register dump: idx 07 20 21 22 23 24 2b -val 07 87 16 00 11 00 00 +val 0a 87 16 00 11 00 00 def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 @@ -34,7 +34,7 @@ def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c8 c9 ca cb cc e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd -val 00 43 20 40 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 01 43 20 40 00 01 40 00 40 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 32 00 +val 00 43 20 40 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 01 43 20 40 00 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0
$ diff -u prop_bios lb_0x40 --- prop_bios 2007-12-05 18:36:24.000000000 +0100 +++ lb_0x40 2007-12-05 18:30:30.000000000 +0100 @@ -6,7 +6,7 @@ def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 -val 01 03 f0 06 02 00 80 +val 00 03 f0 06 02 00 00 def 00 03 f0 06 02 00 00 LDN 0x01 idx 30 60 61 70 f0 f1 f2 f3 @@ -14,27 +14,27 @@ def 00 03 f8 04 00 50 00 7f LDN 0x02 idx 30 60 61 70 f0 f1 f2 f3 -val 00 00 00 00 00 50 00 7f +val 00 02 f8 03 00 50 00 7f def 00 02 f8 03 00 50 00 7f LDN 0x03 idx 30 60 61 62 63 70 74 f0 -val 01 03 78 00 00 07 04 08 +val 00 03 78 07 78 07 04 03 def 00 03 78 07 78 07 03 03 LDN 0x04 idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5 f6 -val 01 02 90 00 00 00 80 00 0a 00 80 00 ff +val 01 02 90 02 30 09 80 00 0a 00 80 00 ff def 00 02 90 02 30 09 00 00 00 00 00 NA NA LDN 0x05 idx 30 60 61 62 63 70 71 f0 -val 01 00 60 00 64 01 02 68 +val 01 00 60 00 64 01 02 48 def 01 00 60 00 64 01 02 00 LDN 0x06 idx 30 70 71 f0 -val 00 00 02 00 +val 01 0c 02 00 def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c8 c9 ca cb cc e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd -val 00 43 20 00 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 00 43 20 00 00 00 40 00 00 00 00 00 00 00 00 10 40 00 00 00 00 28 00 00 00 00 00 32 00 +val 00 43 20 40 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 01 43 20 40 00 01 40 00 40 00 00 00 00 00 00 00 00 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0
proprietary BIOS:
superiotool r2992 Found ITE IT8716F (id=0x8716, rev=0x0) at 0x2e Register dump: idx 07 20 21 22 23 24 2b val 07 87 16 00 11 00 00 def NA 87 16 01 00 00 00 LDN 0x00 idx 30 60 61 70 74 f0 f1 val 01 03 f0 06 02 00 80 def 00 03 f0 06 02 00 00 LDN 0x01 idx 30 60 61 70 f0 f1 f2 f3 val 01 03 f8 04 00 50 00 7f def 00 03 f8 04 00 50 00 7f LDN 0x02 idx 30 60 61 70 f0 f1 f2 f3 val 00 00 00 00 00 50 00 7f def 00 02 f8 03 00 50 00 7f LDN 0x03 idx 30 60 61 62 63 70 74 f0 val 01 03 78 00 00 07 04 08 def 00 03 78 07 78 07 03 03 LDN 0x04 idx 30 60 61 62 63 70 f0 f1 f2 f3 f4 f5 f6 val 01 02 90 00 00 00 80 00 0a 00 80 00 ff def 00 02 90 02 30 09 00 00 00 00 00 NA NA LDN 0x05 idx 30 60 61 62 63 70 71 f0 val 01 00 60 00 64 01 02 68 def 01 00 60 00 64 01 02 00 LDN 0x06 idx 30 70 71 f0 val 00 00 02 00 def 00 0c 02 00 LDN 0x07 idx 25 26 27 28 29 2a 2c 60 61 62 63 64 65 70 71 72 73 74 b0 b1 b2 b3 b4 b5 b8 b9 ba bb bc bd c0 c1 c2 c3 c4 c8 c9 ca cb cc e0 e1 e2 e3 e4 f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd val 00 43 20 00 81 00 1f 00 00 08 00 00 00 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 01 00 00 43 20 00 00 00 40 00 00 00 00 00 00 00 00 10 40 00 00 00 00 28 00 00 00 00 00 32 00 def 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 20 38 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 40 00 01 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 NA 00 LDN 0x08 idx 30 60 61 70 f0 val 00 03 00 0a 00 def 00 03 00 0a 00 LDN 0x09 idx 30 60 61 val 00 02 01 def 00 02 01 LDN 0x0a idx 30 60 61 70 f0 val 00 03 10 0b 06 def 00 03 10 0b 00
On 05.12.2007 19:04, Andreas B. Mundt wrote:
This has been changed in rev 2972. Buildrom has still the 'old' version. Flashing works fine for me if irq 0xc9 = 0x0 is set. With irq 0xc9 = 0x40 it fails.
OK, is that a difference between board revisions, BIOS revisions or just a misinterpretation of some superiotool dump?
I can see that your latest superiotool dump with the proprietary BIOS has irq 0xc9 = 0x40 set. I tried to mirror that. Now the interesting question is: Why does that setting not work for you?
To track this down, I need:
- superiotool dump of proprietary BIOS for board revisions 1.0, 1.1,
2.0, 2.x
- the exact BIOS version of the proprietary BIOS.
I double checked proprietary BIOS (F9), LB with 0xc9 = 0x40 and LB with 0xc9 = 0x0. But all I said previously is still true for my board (rev 1.0):
For proprietary BIOS: 0xc9 = 0x40 flashing ok. For LB with : 0xc9 = 0x0 flashing ok. For LB with : 0xc9 = 0x40 flashing/erase fails.
Narf. This is getting less than pleasant. Probably some SIO config has to be changed as well. I had hoped to avoid that.
Ping me in two weeks if no patch for SIO dumping has appeared till then.
Regards, Carl-Daniel