On Jan 14, 2008 5:30 PM, Jouni Mettälä jtmettala@gmail.com wrote:
On Jan 14, 2008 4:25 PM, Uwe Hermann uwe@hermann-uwe.de wrote:
On Sun, Jan 13, 2008 at 09:08:17PM +0200, Jouni Mettälä wrote:
It now boots with filo. This time with different filo Config file. #
means
these lines were commented out.
What did you change to make FILO boot from your disk?
I am not sure if commenting #SUPPORT_PCI = 1 #PCI_BRUTE_SCAN = 1 out or adding DEBUG_ALL = 1 or using just fallback image instead of normal and fallback affected this.
Keyboard isn't working yet. Tested ps/2 keyboard. Using kernel as boot
file
Does a USB keyboard work? (does the board have onboard-USB?)
I'll test USB keyboard as soon as possible (I'll hope today)
Some of the 440BX boards have problems with the PS/2 keyboard, I haven't yet found out if it's superio-related or some more general problem in the code somewhere...
Please check the patch for the Abit BE6-II V2.0 I just (re)posted. Is your board identical to that one or is it really the "BE6" (without "II" or "V2.0")? If it's not exactly the same, please post some more information about it, e.g. 'lspci -tvnn', 'superiotool -dV', 'flashrom -V', and the output of 'getpir' (a file called 'irq_table.c').
ide_search_updated.patch didn't make keyboard working.
There reads ABIT-BE6 without II or V2
Files added using original bios.
Does a USB keyboard work? (does the board have onboard-USB?)
USB keyboard works.
flashrom couldn't detect flash chip. w29c020-12 or sst29ee010.
Any ideas to get flashrom to recognize flash chip. Output of flashrom -V (version 3082) is attached. Chip is original W29C020-12.
Booting memtest from hard drive didn't give any errors in 4h49min :) (MemMap LinuxBIOS)
I will be happy if I could test even experimental patches to get more memory working.
Stefan: You added AE49F2008 support in r2504. Do you have any data sheets of that chip and/or related ones?
On 29.01.2008 15:40, Jouni Mettälä wrote:
Any ideas to get flashrom to recognize flash chip. Output of flashrom -V (version 3082) is attached. Chip is original W29C020-12.
Sorry, it seems that some specific board enable is missing. Or the chip is not a Winbond W29C020, but manufactured by ASD.
Hm. I just found a web site which claims that ASD chips are Winbond OEM or the other way round. Try this hacky patch:
Index: flashchips.c =================================================================== --- flashchips.c (Revision 3086) +++ flashchips.c (Arbeitskopie) @@ -32,7 +32,7 @@ probe_29f040b, erase_29f040b, write_29f040b}, {"Am29F016D", AMD_ID, AM_29F016D, 2048, 64 * 1024, probe_29f040b, erase_29f040b, write_29f040b}, - {"AE49F2008", ASD_ID, ASD_AE49F2008, 256, 128, + {"AE49F2008", ASD_ID, 0x97, 256, 128, probe_jedec, erase_chip_jedec, write_jedec}, {"At29C040A", ATMEL_ID, AT_29C040A, 512, 256, probe_jedec, erase_chip_jedec, write_jedec},
Regards, Carl-Daniel
Carl-Daniel Hailfinger wrote:
Stefan: You added AE49F2008 support in r2504. Do you have any data sheets of that chip and/or related ones?
Can't find any.
Sorry. I don't seem to have that flash type anymore either.
On Jan 29, 2008 5:20 PM, Carl-Daniel Hailfinger wrote
Sorry, it seems that some specific board enable is missing. Or the chip is not a Winbond W29C020, but manufactured by ASD.
Hm. I just found a web site which claims that ASD chips are Winbond OEM or the other way round. Try this hacky patch:
{"AE49F2008", ASD_ID, ASD_AE49F2008, 256, 128,
{"AE49F2008", ASD_ID, 0x97, 256, 128,
Regards, Carl-Daniel
flashrom -V gives (only relevant part added) Probing for AE49F2008, 256 KB probe_jedec: id1 0x25, id2 0x97 AE49F2008 found at physical address 0xfffc0000. Flash part is AE49F2008 (256 KB).
Now flashrom rocognizes at least one chip with this board :)
On 29.01.2008 17:44, Jouni Mettälä wrote:
On Jan 29, 2008 5:20 PM, Carl-Daniel Hailfinger wrote
Sorry, it seems that some specific board enable is missing. Or the chip is not a Winbond W29C020, but manufactured by ASD.
Hm. I just found a web site which claims that ASD chips are Winbond OEM or the other way round. Try this hacky patch:
{"AE49F2008", ASD_ID, ASD_AE49F2008, 256, 128,
{"AE49F2008", ASD_ID, 0x97, 256, 128,
Regards, Carl-Daniel
flashrom -V gives (only relevant part added) Probing for AE49F2008, 256 KB probe_jedec: id1 0x25, id2 0x97 AE49F2008 found at physical address 0xfffc0000. Flash part is AE49F2008 (256 KB).
Now flashrom rocognizes at least one chip with this board :)
Does that mean it doesn't recognize any other chips on that board? In that case, we really are dealing with a missing board enable routine and my patch just papers over the bug. Do you have another board where the chip fits and where an unpatched flashrom recognizes it?
Regards, Carl-Daniel
Does that mean it doesn't recognize any other chips on that board? In that case, we really are dealing with a missing board enable routine and my patch just papers over the bug. Do you have another board where the chip fits and where an unpatched flashrom recognizes it?
Yes flashrom doesn't recognize these chips (patched and unpatched) AT-29C020, W29C020C-90B, supported by flashrom Uniflash recognizes sst29ee010 chip and writes it. Chip is unsupported by flashrom. Writing with flashrom would be much more comfortable.
Unfortunately I don't have another board which recognizes this W29C020-12 chip.
On 29.01.2008 18:16, Jouni Mettälä wrote:
Does that mean it doesn't recognize any other chips on that board? In that case, we really are dealing with a missing board enable routine and my patch just papers over the bug. Do you have another board where the chip fits and where an unpatched flashrom recognizes it?
Yes flashrom doesn't recognize these chips (patched and unpatched) AT-29C020, W29C020C-90B, supported by flashrom Uniflash recognizes sst29ee010 chip and writes it. Chip is unsupported by flashrom.
We can change that. SST29EE010 has id1=0xBF, id2=0x07 SST29VE010 has id1=0xBF, id2=0x08
What does "flashrom -V" tell you about the sst29ee010 in the abit be6? Most of the id1=xx, id2=xx lines of the output should match one of the lines above. Please try to get verbose flashrom readings from all of these chips. We can add support for them once we know how their ID as it appears to flashrom.
Writing with flashrom would be much more comfortable.
Indeed. However, Uniflash uses some routines to switch on the relevant board enable wires, so flashrom may be missing something.
Unfortunately I don't have another board which recognizes this W29C020-12 chip.
OK, we'll see what we can work out.
Regards, Carl-Daniel
On Jan 29, 2008 7:35 PM, Carl-Daniel Hailfinger wrote:
Please try to get verbose flashrom readings from all of these chips. We can add support for them once we know how their ID as it appears to flashrom.
Attached flashrom -V output of some chips: Two of SST29EE010 seems to have
different output.
On 29.01.2008 19:58, Jouni Mettälä wrote:
On Jan 29, 2008 7:35 PM, Carl-Daniel Hailfinger wrote:
Yes flashrom doesn't recognize these chips (patched and unpatched) AT-29C020, W29C020C-90B, supported by flashrom Uniflash recognizes sst29ee010 chip and writes it. Chip is unsupported by flashrom. Writing with flashrom would be much more comfortable.
Unfortunately I don't have another board which recognizes this W29C020-12 chip.
Please try to get verbose flashrom readings from all of these chips. We can add support for them once we know how their ID as it appears to flashrom.
Attached flashrom -V output of some chips: Two of SST29EE010 seems to have different output.
Thanks. Analysis follows: The AT29C020 is not recognized at all although we tested support for it recently. In you case, the response to the probe is garbage. The SST29EE010 is not recognized at all. We do not currently support it, but even with my patch to support it, detection will fail because the response to the probe is garbage. The W29C020 is not recognized at all. It is supported, but the response to the probe is garbage.
That either means the delay in probing is too short (AT29C020 only) or the probing never reaches the chip (decoding problem or missing board enable) or you have BIOS ROM shadowing turned on.
The success with AE49F2008 might have been fake (it was pure luck that some garbage response looked like a semi-valid chip ID).
Do you have any other board which recognizes the AT29C020 or the SST29EE010?
This is a patch to test with:
Index: flashrom-sst29le010/flash.h =================================================================== --- flashrom-sst29le010/flash.h (Revision 3098) +++ flashrom-sst29le010/flash.h (Arbeitskopie) @@ -199,7 +199,10 @@ #define SST_25VF032B 0x254A #define SST_25VF040B 0x258D #define SST_25VF080B 0x258E +#define SST_29EE010 0x07 +#define SST_29LE010 0x08 /* also SST29VE010 */ #define SST_29EE020A 0x10 +#define SST_29LE020 0x12 /* also SST29VE020 */ #define SST_28SF040 0x04 #define SST_39SF010 0xB5 #define SST_39SF020 0xB6 Index: flashrom-sst29le010/jedec.c =================================================================== --- flashrom-sst29le010/jedec.c (Revision 3098) +++ flashrom-sst29le010/jedec.c (Arbeitskopie) @@ -95,7 +95,7 @@ * needs 10 ms according to the data sheet, but it has been tested * to work reliably with 20 us. Allow a factor of 2 safety margin. */ - myusec_delay(40); + myusec_delay(10000);
/* Read product ID */ id1 = *(volatile uint8_t *)bios; Index: flashrom-sst29le010/flashchips.c =================================================================== --- flashrom-sst29le010/flashchips.c (Revision 3098) +++ flashrom-sst29le010/flashchips.c (Arbeitskopie) @@ -62,8 +62,14 @@ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read}, {"SST25VF016B", SST_ID, SST_25VF016B, 2048, 256, probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write, generic_spi_chip_read}, + {"SST29EE010", SST_ID, SST_29EE010, 128, 128, + probe_jedec, erase_chip_jedec, write_jedec}, + {"SST29LE010", SST_ID, SST_29LE010, 128, 128, + probe_jedec, erase_chip_jedec, write_jedec}, {"SST29EE020A", SST_ID, SST_29EE020A, 256, 128, probe_jedec, erase_chip_jedec, write_jedec}, + {"SST29LE020", SST_ID, SST_29LE020, 256, 128, + probe_jedec, erase_chip_jedec, write_jedec}, {"SST28SF040A", SST_ID, SST_28SF040, 512, 256, probe_28sf040, erase_28sf040, write_28sf040}, {"SST39SF010A", SST_ID, SST_39SF010, 128, 4096,