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.