This utility was apparently writen by John Finlay and came to me
via Richard Schroeder who got it from Greg Beeley. John, if you want
to be credited with your full address or whatever in the Etherboot
documentation, please contact me (Etherboot maintainer).
1/18/2000 Marty Connor (mdc@thinguin.org) added code for the 3C905C
with AT49BV512 Flash memory, and created cromutil and bromutil to
differentiate the versions. cromutil is for 3C905C and bromutil is
for 3C905B.
8.28.2005 I am adding a new version from Jorge L. deLyra that will
replace cromutil.c. I will rename cromutil.c to ocromutil.c
From: delyra@fma.if.usp.br
Subject: Improved version of cromutil.c.
Date: June 22, 2004 12:19:00 AM EDT
To: mdc@thinguin.org
Dear Marty,
Below you will find a new version of the cronutil.c program. Since
the changes were quite large I am sending the program rather than a patch.
I added support for 3C905CX cards with a page-mode super-flash EEPROM, and
included several informative messages, a programming progress report and a
detailed help message. I did all the tests I could with it and it seems to
work correctly for the 3C905CX with either type of EEPROM chip.
A question: is there a similar program for Intel eepro100 cards or for the
Intel or 3COM Gbit cards?
Cheers,
----------------------------------------------------------------
Jorge L. deLyra, Associate Professor of Physics
The University of Sao Paulo, IFUSP-DFMA
For more information: finger delyra@latt.if.usp.br
----------------------------------------------------------------
12/4/2009 The new cromutil version from Jorge L. deLyra can be found in
cromutil.c, whereas the old version can be found in ocromutil.c.
bromutil.c now supports enabling a bootrom workaround that was previously
implemented in the old 3c90x driver. Some 3c90xB cards refuse to load gPXE
after the ROM is burned. The gPXE banner is likely to appear, but gPXE will
crash soon after.
If this is the case try the following commands. It is assumed that you replace
0x6600 with the I/O address of your card which can be acquired with:
(look for a line like 'I/O ports at e400')
$ lspci -v
$ make
$ ./bromutil 0x6600 bootrom
This command will write into the settings EEPROM of the network card. In case
the network card shows any unexpected behavior it is possible to restore the
EEPROM settings with a 3COm provided tool called '3c90xcfg.exe'(google it for
mirrors).
-- Thomas Miletich
Be careful. You can easily erase your Flash memory using these
utilities. Make *sure* to back them up first using the "read"
command. You must "erase" before using "prog" to program the chip with
Etherboot code. This code comes with NO WARRANTY, and you take sole
responsibility and liability for whatever it does. Read the
"romutil.txt" file for more information on commands.
That being said, if you are programming a 3C905C-TXM (for example)
you would do something like this:
$ cd etherboot-x.x.x/contrib
$ tar -zxvf n3c905xutil.tar.gz
$ cd n3c905xutil
$ make
# replace 0x6600 with whatever the IO Addr for your card is!!!!
$ ./cromutil 0x6600 read > 905cbackup.bin
$ ./cromutil 0x6600 erase
$ ./cromutil 0x6600 prog < 3c90x.lzrom
You should now have an Etherboot-enabled 3c905C-TXM.