[3c90xutil] Update bromutil.c and cromutil.c.
[people/pcmattman/gpxe.git] / contrib / 3c90xutil / README
1 This utility was apparently writen by John Finlay and came to me
2 via Richard Schroeder who got it from Greg Beeley. John, if you want
3 to be credited with your full address or whatever in the Etherboot
4 documentation, please contact me (Etherboot maintainer).
5
6 1/18/2000 Marty Connor (mdc@thinguin.org) added code for the 3C905C
7 with AT49BV512 Flash memory, and created cromutil and bromutil to
8 differentiate the versions.  cromutil is for 3C905C and bromutil is
9 for 3C905B.
10
11 8.28.2005 I am adding a new version from Jorge L. deLyra that will
12 replace cromutil.c.  I will rename cromutil.c to ocromutil.c
13
14   From:         delyra@fma.if.usp.br
15   Subject:      Improved version of cromutil.c.
16   Date:         June 22, 2004 12:19:00 AM EDT
17   To:           mdc@thinguin.org
18
19   Dear Marty,
20
21        Below you will find a new version of the cronutil.c program. Since
22   the changes were quite large I am sending the program rather than a patch.
23   I added support for 3C905CX cards with a page-mode super-flash EEPROM, and
24   included several informative messages, a programming progress report and a
25   detailed help message. I did all the tests I could with it and it seems to
26   work correctly for the 3C905CX with either type of EEPROM chip.
27
28   A question: is there a similar program for Intel eepro100 cards or for the
29   Intel or 3COM Gbit cards?
30                                           Cheers,
31
32   ----------------------------------------------------------------
33           Jorge L. deLyra,  Associate Professor of Physics
34               The University of Sao Paulo,  IFUSP-DFMA
35          For more information: finger delyra@latt.if.usp.br
36   ----------------------------------------------------------------
37
38 12/4/2009 The new cromutil version from Jorge L. deLyra can be found in
39 cromutil.c, whereas the old version can be found in ocromutil.c.
40
41 bromutil.c now supports enabling a bootrom workaround that was previously
42 implemented in the old 3c90x driver. Some 3c90xB cards refuse to load gPXE
43 after the ROM is burned. The gPXE banner is likely to appear, but gPXE will
44 crash soon after.
45 If this is the case try the following commands. It is assumed that you replace
46 0x6600 with the I/O address of your card which can be acquired with:
47 (look for a line like 'I/O ports at e400')
48  $ lspci -v
49
50     $ make
51     $ ./bromutil 0x6600 bootrom
52
53 This command will write into the settings EEPROM of the network card. In case
54 the network card shows any unexpected behavior it is possible to restore the
55 EEPROM settings with a 3COm provided tool called '3c90xcfg.exe'(google it for
56 mirrors).
57
58   -- Thomas Miletich
59
60 Be careful. You can easily erase your Flash memory using these
61 utilities.  Make *sure* to back them up first using the "read"
62 command. You must "erase" before using "prog" to program the chip with
63 Etherboot code.  This code comes with NO WARRANTY, and you take sole
64 responsibility and liability for whatever it does.  Read the
65 "romutil.txt" file for more information on commands.
66
67 That being said, if you are programming a 3C905C-TXM (for example)
68 you would do something like this:
69
70     $ cd etherboot-x.x.x/contrib
71     $ tar -zxvf n3c905xutil.tar.gz
72     $ cd n3c905xutil
73     $ make
74     # replace 0x6600 with whatever the IO Addr for your card is!!!!
75     $ ./cromutil 0x6600 read > 905cbackup.bin
76     $ ./cromutil 0x6600 erase
77     $ ./cromutil 0x6600 prog < 3c90x.lzrom
78
79 You should now have an Etherboot-enabled 3c905C-TXM.
80