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

Donald Becker becker@scyld.com
Wed, 15 Aug 2001 15:59:58 -0400 (EDT)

On Wed, 15 Aug 2001, Arcadio A. Sincero Jr. wrote:
> 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.
> 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'.
> 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.

Non-zero?  Any strings, or an initial 0xaa55, that confirms you are
reading valid data?

>  I then tried to load that file into the Flash EPROM by
> doing:
> 	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?

No, the boot ROM data is a direct image with no formatting.

I'm guessing that somehow the part was initialized by trying to read it
first.  If so, we should try to track down the specific initialization

Donald Becker				becker@scyld.com
Scyld Computing Corporation		http://www.scyld.com
410 Severn Ave. Suite 210		Second Generation Beowulf Clusters
Annapolis MD 21403			410-990-9993