[realtek] Flashing EPROMs on a DFE-530TX+?

Arcadio A. Sincero Jr. asincero@arcadio.net
Wed, 15 Aug 2001 12:02:24 -0400 (EDT)

On Wed, 15 Aug 2001, Donald Becker wrote:
> On Tue, 14 Aug 2001 asincero@arcadio.net wrote:
> > Anybody have any ideas?  What would happen if I hacked libflash.c to bypass
> > trying to identify the flash chip and tell it directly that its an Atmel
> > AT29C256 by hardcoding it in?
> It's worth a try.  If the part is empty, you have no risk.
> If the part is already programmed, try reading the contents to see if
> any non-zero data can be read.

Ok ... I went ahead and changed get_part_id() in libflash.c to simply
return a 3 which would always cause the function to identify the chip as
being an Atmel AT29C256.  I recompiled rtl8139-diag with the modified
libflash.c and then tried to flash the chip using the Etherboot ROM
'eb-5.0.2-mc1-rtl8139.lzrom' which I obtained from
http://www.rom-o-matic.net (which at the time of this writing is still
down unfortunately :-/).  Here's what I got:

libflash.c:v2.03 4/19/2000 Copyright Donald Becker, becker@scyld.comrtl8139-diag.c:v2.03 5/15/2001 Donald Becker (becker@scyld.com)
Index #1: Found a D-Link DFE-538TX (RealTek RTL8139) adapter at 0xc800.
EEPROM size test returned 6, 0x204a4 / 0x2.
 Would write new Default Media entry 0x0000 to offset 6, the current value is 0xe112.

Writing a block of 64 bytes at offset 0..
 Flash ROM write failed at offset 0, 0x00 vs. 0x55.
Failed to load the new Flash BootROM image from file 'eb-5.0.2-mc1-rtl8139.lzrom'.
 Use '-a' or '-aa' to show device registers,
     '-e' to show EEPROM contents, -ee for parsed contents,
  or '-m' or '-mm' to show MII management registers.

Obviously, it didn't work.  Then I tried something else.  I first tried to
save what ever was currently in the Flash EPROM to a file by doing:

	rtl8139-diag -S current

and this worked.  I ended up with a 32k file filled with nothing but
non-zero data.  I then tried to load that file into the Flash EPROM by

	rtl8139-diag -L current

and it worked!  Perhaps I need to convert that Etherboot ROM image to some
other format first before I try to load it into the Flash EPROM?

- Arcadio