Hi all,
On Thursday, Oct 12, 2006, Uwe Hermann said:
I'd really, really like to see a bunch of popular, cheap, mainstream boards supported out of the box. IMHO this is really essential to get more developers on board.
Looking at a few random shops here in Germany, it seems that the most popular brands are Asus, ASRock, MSI, Gigabyte for mainbaords in the price range of 40-80 Euros.
So; we've acquired a couple of machines based on an Asus A8N-VM CSM board (http://usa.asus.com/products4.aspx?l1=3&l2=15&l3=210&model=766&a...), with an Opteron 150. Uwe, this board costs $80 at Newegg so I guess it falls into your cheap & common category.
This is the lspci output:
0000:00:00.0 RAM memory: nVidia Corporation C51 Host Bridge (rev a2) 0000:00:00.1 RAM memory: nVidia Corporation C51 Memory Controller 0 (rev a2) 0000:00:00.2 RAM memory: nVidia Corporation C51 Memory Controller 1 (rev a2) 0000:00:00.3 RAM memory: nVidia Corporation C51 Memory Controller 5 (rev a2) 0000:00:00.4 RAM memory: nVidia Corporation C51 Memory Controller 4 (rev a2) 0000:00:00.5 RAM memory: nVidia Corporation C51 Host Bridge (rev a2) 0000:00:00.6 RAM memory: nVidia Corporation C51 Memory Controller 3 (rev a2) 0000:00:00.7 RAM memory: nVidia Corporation C51 Memory Controller 2 (rev a2) 0000:00:02.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1) 0000:00:03.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1) 0000:00:04.0 PCI bridge: nVidia Corporation C51 PCI Express Bridge (rev a1) 0000:00:05.0 VGA compatible controller: nVidia Corporation C51 PCI Express Bridge (rev a2) 0000:00:09.0 RAM memory: nVidia Corporation MCP51 Host Bridge (rev a2) 0000:00:0a.0 ISA bridge: nVidia Corporation MCP51 LPC Bridge (rev a2) 0000:00:0a.1 SMBus: nVidia Corporation MCP51 SMBus (rev a2) 0000:00:0b.0 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2) 0000:00:0b.1 USB Controller: nVidia Corporation MCP51 USB Controller (rev a2) 0000:00:0d.0 IDE interface: nVidia Corporation MCP51 IDE (rev a1) 0000:00:0e.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1) 0000:00:0f.0 IDE interface: nVidia Corporation MCP51 Serial ATA Controller (rev a1) 0000:00:10.0 PCI bridge: nVidia Corporation MCP51 PCI Bridge (rev a2) 0000:00:10.1 0403: nVidia Corporation MCP51 High Definition Audio (rev a2) 0000:00:14.0 Bridge: nVidia Corporation MCP51 Ethernet Controller (rev a1) 0000:00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration 0000:00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map 0000:00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller 0000:00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control 0000:03:00.0 Ethernet controller: Intel Corporation: Unknown device 105e (rev 06) 0000:03:00.1 Ethernet controller: Intel Corporation: Unknown device 105e (rev 06) 0000:04:05.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 80) 0000:04:08.0 Ethernet controller: Intel Corporation 82545GM Gigabit Ethernet Controller (rev 04)
The intel ethernet controllers are plug in cards.
The SuperIO chip is - according to the URL pasted above - an Nvidia nforce 430MCP. The actual chip on the mainboard reads:
Nvidia P5080239 0534A2 MCP51-N-A2 GH 9940.1
The bios rom is an SST 49LF0048.
I tried flashrom. No dice:
# ./flashrom -V Calibrating delay loop... Setting up microsecond timing loop 601M loops per second ok No LinuxBIOS table found. Warning: Unknown system. Flash detection will most likely fail. Trying Am29F040B, 512 KB probe_29f040b: id1 0xff, id2 0xff Trying Am29F016D, 2048 KB probe_29f040b: id1 0xff, id2 0xff Trying At29C040A, 512 KB probe_jedec: id1 0xff, id2 0xff Trying Mx29f002, 256 KB probe_29f002: id1 0xec, id2 0x66 Trying SST29EE020A, 256 KB probe_jedec: id1 0xec, id2 0x66 Trying SST28SF040A, 512 KB probe_28sf040: id1 0xff, id2 0xff Trying SST39SF010A, 128 KB probe_jedec: id1 0x50, id2 0x0 Trying SST39SF020A, 256 KB probe_jedec: id1 0xec, id2 0x66 Trying SST39SF040, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST39VF020, 256 KB probe_jedec: id1 0xec, id2 0x66 Trying SST49LF040B, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF040, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF020A, 256 KB probe_jedec: id1 0xec, id2 0x66 Trying SST49LF080A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF002A/B, 256 KB probe_jedec: id1 0xec, id2 0x66 Trying SST49LF003A/B, 384 KB probe_jedec: id1 0x6d, id2 0xe1 Trying SST49LF004A/B, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF008A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying Pm49FL002, 256 KB probe_jedec: id1 0xec, id2 0x66 Trying Pm49FL004, 512 KB probe_jedec: id1 0xff, id2 0xff Trying W29C011, 128 KB probe_jedec: id1 0x50, id2 0x0 Trying W29C020C, 256 KB probe_jedec: id1 0xec, id2 0x66 Trying W49F002U, 256 KB probe_jedec: id1 0xec, id2 0x66 Trying W49V002A, 256 KB probe_jedec: id1 0xec, id2 0x66 Trying W49V002FA, 256 KB probe_jedec: id1 0xec, id2 0x66 Trying W39V040A, 512 KB probe_jedec: id1 0xff, id2 0xff Trying W39V040B, 512 KB probe_jedec: id1 0xff, id2 0xff Trying M29F040B, 512 KB probe_29f040b: id1 0xff, id2 0xff 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 F49B002UA, 256 KB probe_jedec: id1 0xec, id2 0x66 Trying LHF00L04, 1024 KB probe_lhf00l04: id1 0xff, id2 0xff No EEPROM/flash device found.
This is with the SST part switched in (biossavior). Similar problem with the biossavior set to RD1:
# ./flashrom -V Calibrating delay loop... Setting up microsecond timing loop 601M loops per second ok No LinuxBIOS table found. Warning: Unknown system. Flash detection will most likely fail. Trying Am29F040B, 512 KB probe_29f040b: id1 0xff, id2 0xff Trying Am29F016D, 2048 KB probe_29f040b: id1 0xff, id2 0xff Trying At29C040A, 512 KB probe_jedec: id1 0xff, id2 0xff Trying Mx29f002, 256 KB probe_29f002: id1 0xcf, id2 0x6f Trying SST29EE020A, 256 KB probe_jedec: id1 0xcf, id2 0x6f Trying SST28SF040A, 512 KB probe_28sf040: id1 0xff, id2 0xff Trying SST39SF010A, 128 KB probe_jedec: id1 0xff, id2 0xff Trying SST39SF020A, 256 KB probe_jedec: id1 0xcf, id2 0x6f Trying SST39SF040, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST39VF020, 256 KB probe_jedec: id1 0xcf, id2 0x6f Trying SST49LF040B, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF040, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF020A, 256 KB probe_jedec: id1 0xcf, id2 0x6f Trying SST49LF080A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF002A/B, 256 KB probe_jedec: id1 0xcf, id2 0x6f Trying SST49LF003A/B, 384 KB probe_jedec: id1 0xa3, id2 0xb8 Trying SST49LF004A/B, 512 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF008A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying Pm49FL002, 256 KB probe_jedec: id1 0xcf, id2 0x6f 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 0xcf, id2 0x6f Trying W49F002U, 256 KB probe_jedec: id1 0xcf, id2 0x6f Trying W49V002A, 256 KB probe_jedec: id1 0xcf, id2 0x6f Trying W49V002FA, 256 KB probe_jedec: id1 0xcf, id2 0x6f Trying W39V040A, 512 KB probe_jedec: id1 0xff, id2 0xff Trying W39V040B, 512 KB probe_jedec: id1 0xff, id2 0xff Trying M29F040B, 512 KB probe_29f040b: id1 0xff, id2 0xff 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 F49B002UA, 256 KB probe_jedec: id1 0xcf, id2 0x6f Trying LHF00L04, 1024 KB probe_lhf00l04: id1 0xff, id2 0xff No EEPROM/flash device found.
Is there any hope for this board? If so; what should I try next?
Thanks, Ward.
Hi,
On Thu, Oct 12, 2006 at 03:18:23PM -0400, Ward Vandewege wrote:
The SuperIO chip is - according to the URL pasted above - an Nvidia nforce 430MCP. The actual chip on the mainboard reads:
Nvidia P5080239 0534A2 MCP51-N-A2 GH 9940.1
I couldn't find a datasheet after a quick search,but maybe I missed it. Does anybody have the datasheet?
The bios rom is an SST 49LF0048.
I think this is a 49LF004B (notice 8 vs. B). Can you confirm that?
Trying SST49LF004A/B, 512 KB probe_jedec: id1 0xff, id2 0xff
This should have worked and returned id1 0xbf, id2 0x60.
Thechip ID is the same as the one of the SST 49LF004A (which is supported by flashrom). According to the datasheet they should also be otherwise compatible.
I guess there's some motherboard-specific fixup required before flashrom will work. You can use Uniflash or another board which is known to work for flashing in the mean time, I guess...
HTH, Uwe.
On Thu, Oct 12, 2006 at 11:43:08PM +0200, Uwe Hermann wrote:
The bios rom is an SST 49LF0048.
I think this is a 49LF004B (notice 8 vs. B). Can you confirm that?
That's correct. Should have paid more attention.
Trying SST49LF004A/B, 512 KB probe_jedec: id1 0xff, id2 0xff
This should have worked and returned id1 0xbf, id2 0x60.
Thechip ID is the same as the one of the SST 49LF004A (which is supported by flashrom). According to the datasheet they should also be otherwise compatible.
I guess there's some motherboard-specific fixup required before flashrom will work.
There must be, because flashrom also does not detect the other rom chip in the bios savior, which works fine in the tyan boards.
You can use Uniflash or another board which is known to work for flashing in the mean time, I guess...
Yes... or try to debug this to make flashrom work. How would I go about that?
Thanks, Ward.
* Ward Vandewege ward@gnu.org [061012 21:18]:
I tried flashrom. No dice:
# ./flashrom -V Calibrating delay loop... Setting up microsecond timing loop 601M loops per second ok No LinuxBIOS table found. Warning: Unknown system. Flash detection will most likely fail.
Ok. Above line is a good sign. It did not recognize the north bridge. Please apply the attached patch and report to the list if it solves the problem.
If it still fails:
* please send lspci -n as well * send flashrom -V again...
Hi Stefan,
On Fri, Oct 13, 2006 at 07:01:50PM +0200, Stefan Reinauer wrote:
- Ward Vandewege ward@gnu.org [061012 21:18]:
I tried flashrom. No dice:
# ./flashrom -V Calibrating delay loop... Setting up microsecond timing loop 601M loops per second ok No LinuxBIOS table found. Warning: Unknown system. Flash detection will most likely fail.
Ok. Above line is a good sign. It did not recognize the north bridge. Please apply the attached patch and report to the list if it solves the problem.
Yep, that helped!
I've read both the original flash image and the bios-savior one. Reading is *very* fast, not more than 2 seconds for the 512KB image.
I've also tried burning the original image (read via flashrom) to the bios savior, but that failed:
# ./flashrom -v -w orig.img Calibrating delay loop... ok No LinuxBIOS table found. Enabling flash write on NVidia MCP51...OK Pm49FL004 found at physical address: 0xfff80000 Flash part is Pm49FL004 (512 KB) Flash image seems to be a legacy BIOS. Disabling checks. Programming Page: 0007 at address: 0x00070000 Verifying flash - FAILED
Writing was *very* slow - it took wel over a minute before it was done.
So; here's flashrom -V for the bios savior flash part:
# ./flashrom -V Calibrating delay loop... Setting up microsecond timing loop 601M loops per second ok No LinuxBIOS table found. Enabling flash write on NVidia MCP51...OK Trying Am29F040B, 512 KB probe_29f040b: id1 0xff, id2 0xff Trying Am29F016D, 2048 KB probe_29f040b: id1 0xff, id2 0xff Trying At29C040A, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying Mx29f002, 256 KB probe_29f002: id1 0x9d, id2 0x6e Trying SST29EE020A, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST28SF040A, 512 KB probe_28sf040: id1 0xff, id2 0xff Trying SST39SF010A, 128 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST39SF020A, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST39SF040, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST39VF020, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF040B, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF040, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF020A, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF080A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF002A/B, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF003A/B, 384 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF004A/B, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF008A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying Pm49FL002, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying Pm49FL004, 512 KB probe_jedec: id1 0x9d, id2 0x6e Pm49FL004 found at physical address: 0xfff80000 Flash part is Pm49FL004 (512 KB) OK, only ENABLING flash write, but NOT FLASHING.
And here's lspci -n:
# lspci -n 0000:00:00.0 0500: 10de:02f0 (rev a2) 0000:00:00.1 0500: 10de:02fa (rev a2) 0000:00:00.2 0500: 10de:02fe (rev a2) 0000:00:00.3 0500: 10de:02f8 (rev a2) 0000:00:00.4 0500: 10de:02f9 (rev a2) 0000:00:00.5 0500: 10de:02ff (rev a2) 0000:00:00.6 0500: 10de:027f (rev a2) 0000:00:00.7 0500: 10de:027e (rev a2) 0000:00:02.0 0604: 10de:02fc (rev a1) 0000:00:03.0 0604: 10de:02fd (rev a1) 0000:00:04.0 0604: 10de:02fb (rev a1) 0000:00:05.0 0300: 10de:0240 (rev a2) 0000:00:09.0 0500: 10de:0270 (rev a2) 0000:00:0a.0 0601: 10de:0260 (rev a2) 0000:00:0a.1 0c05: 10de:0264 (rev a2) 0000:00:0b.0 0c03: 10de:026d (rev a2) 0000:00:0b.1 0c03: 10de:026e (rev a2) 0000:00:0d.0 0101: 10de:0265 (rev a1) 0000:00:0e.0 0101: 10de:0266 (rev a1) 0000:00:0f.0 0101: 10de:0267 (rev a1) 0000:00:10.0 0604: 10de:026f (rev a2) 0000:00:10.1 0403: 10de:026c (rev a2) 0000:00:14.0 0680: 10de:0269 (rev a1) 0000:00:18.0 0600: 1022:1100 0000:00:18.1 0600: 1022:1101 0000:00:18.2 0600: 1022:1102 0000:00:18.3 0600: 1022:1103 0000:03:00.0 0200: 8086:105e (rev 06) 0000:03:00.1 0200: 8086:105e (rev 06) 0000:04:05.0 0c00: 1106:3044 (rev 80) 0000:04:08.0 0200: 8086:1026 (rev 04)
Suggestions?
Thanks, Ward.
* Ward Vandewege ward@gnu.org [061013 20:05]:
I've read both the original flash image and the bios-savior one. Reading is *very* fast, not more than 2 seconds for the 512KB image.
That sounds fine.
I've also tried burning the original image (read via flashrom) to the bios savior, but that failed:
# ./flashrom -v -w orig.img Calibrating delay loop... ok No LinuxBIOS table found. Enabling flash write on NVidia MCP51...OK Pm49FL004 found at physical address: 0xfff80000 Flash part is Pm49FL004 (512 KB) Flash image seems to be a legacy BIOS. Disabling checks. Programming Page: 0007 at address: 0x00070000 Verifying flash - FAILED
can you do a -Vv to find out where it fails? And try writing several times, then verifying to see if that helps...
Can you also try and check whether there's something else then 0xff in the addresses that failed?
Writing was *very* slow - it took wel over a minute before it was done.
This is ugly, but probably not unusually slow. :(
On Fri, Oct 13, 2006 at 08:24:55PM +0200, Stefan Reinauer wrote:
- Ward Vandewege ward@gnu.org [061013 20:05]:
I've read both the original flash image and the bios-savior one. Reading is *very* fast, not more than 2 seconds for the 512KB image.
That sounds fine.
I've also tried burning the original image (read via flashrom) to the bios savior, but that failed:
# ./flashrom -v -w orig.img Calibrating delay loop... ok No LinuxBIOS table found. Enabling flash write on NVidia MCP51...OK Pm49FL004 found at physical address: 0xfff80000 Flash part is Pm49FL004 (512 KB) Flash image seems to be a legacy BIOS. Disabling checks. Programming Page: 0007 at address: 0x00070000 Verifying flash - FAILED
can you do a -Vv to find out where it fails? And try writing several times, then verifying to see if that helps...
# ./flashrom -Vv -w orig.img Calibrating delay loop... Setting up microsecond timing loop 601M loops per second ok No LinuxBIOS table found. Enabling flash write on NVidia MCP51...OK Trying Am29F040B, 512 KB probe_29f040b: id1 0xff, id2 0xff Trying Am29F016D, 2048 KB probe_29f040b: id1 0xff, id2 0xff Trying At29C040A, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying Mx29f002, 256 KB probe_29f002: id1 0x9d, id2 0x6e Trying SST29EE020A, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST28SF040A, 512 KB probe_28sf040: id1 0xff, id2 0xff Trying SST39SF010A, 128 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST39SF020A, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST39SF040, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST39VF020, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF040B, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF040, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF020A, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF080A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF002A/B, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF003A/B, 384 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF004A/B, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF008A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying Pm49FL002, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying Pm49FL004, 512 KB probe_jedec: id1 0x9d, id2 0x6e Pm49FL004 found at physical address: 0xfff80000 Flash part is Pm49FL004 (512 KB) Flash image seems to be a legacy BIOS. Disabling checks. Programming Page: 0007 at address: 0x00070000 Verifying flash address: 0x00000008 - FAILED
Tried it a couple of times, same problem each time.
Can you also try and check whether there's something else then 0xff in the addresses that failed?
How do I do that?
Writing was *very* slow - it took wel over a minute before it was done.
This is ugly, but probably not unusually slow. :(
OK :) No big deal, really.
Thanks, Ward.
* Ward Vandewege ward@gnu.org [061013 20:37]:
Pm49FL004 found at physical address: 0xfff80000 Flash part is Pm49FL004 (512 KB) Flash image seems to be a legacy BIOS. Disabling checks. Programming Page: 0007 at address: 0x00070000 Verifying flash address: 0x00000008 - FAILED
oh right after 8 bytes... thats wild, it did not really get far.
Tried it a couple of times, same problem each time.
ok, some timing problem in the code, almost sure. I remember the same code worked fine with my PMC4 bios savior...
Can you also try and check whether there's something else then 0xff in the addresses that failed?
How do I do that?
flashrom -r failed_bios.rom xxd -g1 failed_bios.rom|head -10
Stefan
On Fri, Oct 13, 2006 at 09:32:12PM +0200, Stefan Reinauer wrote:
- Ward Vandewege ward@gnu.org [061013 20:37]:
Pm49FL004 found at physical address: 0xfff80000 Flash part is Pm49FL004 (512 KB) Flash image seems to be a legacy BIOS. Disabling checks. Programming Page: 0007 at address: 0x00070000 Verifying flash address: 0x00000008 - FAILED
oh right after 8 bytes... thats wild, it did not really get far.
Tried it a couple of times, same problem each time.
ok, some timing problem in the code, almost sure. I remember the same code worked fine with my PMC4 bios savior...
It works fine with our bios savior in the tyan boards.
Can you also try and check whether there's something else then 0xff in the addresses that failed?
How do I do that?
flashrom -r failed_bios.rom xxd -g1 failed_bios.rom|head -10
Ah, ok, of course. Here is the image I'm trying to burn back to the bios savior:
# xxd -g1 orig.img |head -n10 0000000: ff ff ff ff ff ff ff ff 8c a5 02 00 96 fb 3e 2f ..............>/ 0000010: 10 00 5a aa ff ff 1b 00 00 00 00 00 89 a5 02 00 ..Z............. 0000020: 1f 58 05 00 2d c8 8d de fd d6 24 ae d7 fd fb 7b .X..-.....$....{ 0000030: cc 33 30 c0 73 31 55 15 69 01 a2 ca e4 b6 42 12 .30.s1U.i.....B. 0000040: cd 18 b0 a8 0a ac b6 06 2a e0 08 01 4b f9 ab 95 ........*...K... 0000050: 71 73 37 b1 aa a9 d9 0a 29 9b 67 8f 29 aa e5 c5 qs7.....).g.)... 0000060: f7 8a b5 ce 35 72 e7 b9 29 30 05 26 0e c4 05 39 ....5r..)0.&...9 0000070: 48 2b ce 45 37 38 88 91 7e cb 62 a4 b4 00 04 6f H+.E78..~.b....o 0000080: ff f6 f0 1a bd f7 9c be ef 75 dd 77 dd 6b bd d6 .........u.w.k.. 0000090: bd ef 83 de fd ae eb 5f 6b bd fb c5 fb c5 ef 97 ......._k.......
So; first 8 bytes are all ff.
Thanks, Ward.
* Ward Vandewege ward@gnu.org [061013 23:10]:
# xxd -g1 orig.img |head -n10 0000000: ff ff ff ff ff ff ff ff 8c a5 02 00 96 fb 3e 2f ..............>/ 0000010: 10 00 5a aa ff ff 1b 00 00 00 00 00 89 a5 02 00 ..Z............. 0000020: 1f 58 05 00 2d c8 8d de fd d6 24 ae d7 fd fb 7b .X..-.....$....{ 0000030: cc 33 30 c0 73 31 55 15 69 01 a2 ca e4 b6 42 12 .30.s1U.i.....B. 0000040: cd 18 b0 a8 0a ac b6 06 2a e0 08 01 4b f9 ab 95 ........*...K... 0000050: 71 73 37 b1 aa a9 d9 0a 29 9b 67 8f 29 aa e5 c5 qs7.....).g.)... 0000060: f7 8a b5 ce 35 72 e7 b9 29 30 05 26 0e c4 05 39 ....5r..)0.&...9 0000070: 48 2b ce 45 37 38 88 91 7e cb 62 a4 b4 00 04 6f H+.E78..~.b....o 0000080: ff f6 f0 1a bd f7 9c be ef 75 dd 77 dd 6b bd d6 .........u.w.k.. 0000090: bd ef 83 de fd ae eb 5f 6b bd fb c5 fb c5 ef 97 ......._k.......
So; first 8 bytes are all ff.
can you try to erase the chip, read it and see if its all FF?
something like:
flashrom -e flashrom -r tmp.out xxd -g1 tmp.out|cut -c9- |sort -u
should not spit out more than a line of ff ff ff ff ...
And maybe try the attached patch, maybe play a little with the delay,...
*10,*100,*500,*1000
Stefan
* Stefan Reinauer stepan@coresystems.de [061014 00:01]:
And maybe try the attached patch, maybe play a little with the delay,...
*10,*100,*500,*1000
sorry, wrong diff :-( I messed it up.
The new one is correct.
On Fri, Oct 13, 2006 at 11:58:25PM +0200, Stefan Reinauer wrote:
- Ward Vandewege ward@gnu.org [061013 23:10]:
# xxd -g1 orig.img |head -n10 0000000: ff ff ff ff ff ff ff ff 8c a5 02 00 96 fb 3e 2f ..............>/ 0000010: 10 00 5a aa ff ff 1b 00 00 00 00 00 89 a5 02 00 ..Z............. 0000020: 1f 58 05 00 2d c8 8d de fd d6 24 ae d7 fd fb 7b .X..-.....$....{ 0000030: cc 33 30 c0 73 31 55 15 69 01 a2 ca e4 b6 42 12 .30.s1U.i.....B. 0000040: cd 18 b0 a8 0a ac b6 06 2a e0 08 01 4b f9 ab 95 ........*...K... 0000050: 71 73 37 b1 aa a9 d9 0a 29 9b 67 8f 29 aa e5 c5 qs7.....).g.)... 0000060: f7 8a b5 ce 35 72 e7 b9 29 30 05 26 0e c4 05 39 ....5r..)0.&...9 0000070: 48 2b ce 45 37 38 88 91 7e cb 62 a4 b4 00 04 6f H+.E78..~.b....o 0000080: ff f6 f0 1a bd f7 9c be ef 75 dd 77 dd 6b bd d6 .........u.w.k.. 0000090: bd ef 83 de fd ae eb 5f 6b bd fb c5 fb c5 ef 97 ......._k.......
So; first 8 bytes are all ff.
can you try to erase the chip, read it and see if its all FF?
something like:
flashrom -e flashrom -r tmp.out xxd -g1 tmp.out|cut -c9- |sort -u
should not spit out more than a line of ff ff ff ff ...
It looks like the erase simply did not work (note that this chip contains an old tyan s2882 image) - the image I read out after the erase is identical to what I read out before the erase:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 05 95 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 01 02 03 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 01 aa 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 50 00 df .............P.. 00 00 00 00 00 00 00 00 00 00 c0 00 11 22 10 00 .............".. 00 00 00 00 00 00 00 00 00 00 e9 93 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 c8 00 11 22 10 00 00 ............"... 00 00 00 00 00 00 00 00 01 02 03 04 05 06 07 00 ................ 00 00 00 00 00 00 00 00 08 0a 41 4d 49 42 49 4f ..........AMIBIO 00 00 00 00 00 00 00 00 10 02 00 00 01 aa aa aa ................ 00 00 00 00 00 00 00 00 20 00 90 03 0f 93 00 00 ........ ....... 00 00 00 00 00 00 00 00 48 00 00 00 00 aa aa aa ........H....... 00 00 00 00 00 00 00 00 4a 00 00 00 00 aa aa aa ........J....... 00 00 00 00 00 00 00 00 50 01 00 00 00 aa aa aa ........P....... 00 00 00 00 00 00 00 00 50 50 74 22 10 00 00 00 ........PPt".... 00 00 00 00 00 00 00 00 ff ff ff ff 78 56 00 00 ............xV.. 00 00 00 00 00 00 00 01 02 03 00 00 00 00 ff ff ................ 00 00 00 00 00 00 00 f9 a6 e6 00 00 06 00 46 2d ..............F- 00 00 00 00 00 00 01 02 03 00 00 00 00 01 54 89 ..............T. 00 00 00 00 00 00 03 52 52 43 43 48 48 00 00 00 .......RRCCHH... 00 00 00 00 00 00 0c f2 5c f3 45 f5 6f a7 f5 99 .........E.o...
...
The verbose output from the erase is:
# ./flashrom -E -V Calibrating delay loop... Setting up microsecond timing loop 601M loops per second ok No LinuxBIOS table found. Enabling flash write on NVidia MCP51...OK Trying Am29F040B, 512 KB probe_29f040b: id1 0xff, id2 0xff Trying Am29F016D, 2048 KB probe_29f040b: id1 0xff, id2 0xff Trying At29C040A, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying Mx29f002, 256 KB probe_29f002: id1 0x9d, id2 0x6e Trying SST29EE020A, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST28SF040A, 512 KB probe_28sf040: id1 0xff, id2 0xff Trying SST39SF010A, 128 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST39SF020A, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST39SF040, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST39VF020, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF040B, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF040, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF020A, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF080A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying SST49LF002A/B, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF003A/B, 384 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF004A/B, 512 KB probe_jedec: id1 0x9d, id2 0x6e Trying SST49LF008A, 1024 KB probe_jedec: id1 0xff, id2 0xff Trying Pm49FL002, 256 KB probe_jedec: id1 0x9d, id2 0x6e Trying Pm49FL004, 512 KB probe_jedec: id1 0x9d, id2 0x6e Pm49FL004 found at physical address: 0xfff80000 Flash part is Pm49FL004 (512 KB) Erasing flash chip
Thanks, Ward.
On Sat, Oct 14, 2006 at 12:42:06AM +0200, Stefan Reinauer wrote:
- Stefan Reinauer stepan@coresystems.de [061014 00:01]:
And maybe try the attached patch, maybe play a little with the delay,...
*10,*100,*500,*1000
OK; with 200 microseconds, no difference:
Pm49FL004 found at physical address: 0xfff80000 Flash part is Pm49FL004 (512 KB) Flash image seems to be a legacy BIOS. Disabling checks. Programming Page: 000007 at address: 0x00070000 Verifying flash address: 0x00000008 - FAILED
Same thing with 10, 100, 500, 1000.
Thanks, Ward.
Hi Stefan,
Any other suggestions to get flashrom to work on this board? Things I could try?
Thanks, Ward.
On Mon, Oct 16, 2006 at 11:21:24AM -0400, Ward Vandewege wrote:
On Sat, Oct 14, 2006 at 12:42:06AM +0200, Stefan Reinauer wrote:
- Stefan Reinauer stepan@coresystems.de [061014 00:01]:
And maybe try the attached patch, maybe play a little with the delay,...
*10,*100,*500,*1000
OK; with 200 microseconds, no difference:
Pm49FL004 found at physical address: 0xfff80000 Flash part is Pm49FL004 (512 KB) Flash image seems to be a legacy BIOS. Disabling checks. Programming Page: 000007 at address: 0x00070000 Verifying flash address: 0x00000008 - FAILED
Same thing with 10, 100, 500, 1000.
Thanks, Ward.
-- Ward Vandewege ward@fsf.org Free Software Foundation - Senior System Administrator
-- linuxbios mailing list linuxbios@linuxbios.org http://www.openbios.org/mailman/listinfo/linuxbios
!DSPAM:4533a49051261293511683!
Ward Vandewege.