Floppy version works but EPROM version doesn't work. There is
a program called rom-scan (Linux, FreeBSD and DOS versions) in the
directory contrib/rom-scan which will help detect problems. Rom-scan
will only work on ISA ROMs though.
- If the EPROM is not detected at all then the contents of
the EPROM are not visible to the BIOS. Check that you have enabled
the EPROM with any jumpers or soft configuration settings. Check
that you do not have any conflicts in the memory address of
the EPROM and any other hardware. Perhaps you have to prevent
it from being mapped out by your BIOS settings. Or perhaps you
have to shadow it with RAM. Maybe you put the code in the wrong
half or wrong quarter of the EPROM. Maybe the access time of
the EPROM is not low enough. You can also use the debug program
under BIOS to examine the memory area in question.
- If rom-scan says the EPROM is present but not active,
then something prevented the BIOS from seeing it as a valid
extension BIOS. This could be truncation of the EPROM window,
maybe you have a larger EPROM in a slot meant for a smaller
one. Maybe there is a checksum error in the EPROM due to
some bits not properly programmed or the EPROM not being fast
enough. In one case that we know of, the 3c503 network card,
the ASIC actually returns 2 bytes of 80 80 in the end locations
of the EPROM space. This apparently is a kind of signature. The
makerom program in Etherboot compensates for this, but if the
pattern is not 80 80, then the code needs to be modified.
- If rom-scan says the EPROM is present and active, but
BIOS does not see it, then perhaps the EPROM is located in an
area that the BIOS does not scan. The range scanned is supposed
to be 0xC0000 to 0xEF800 in increments of 2kB but I have seen
some BIOSes that continue the scan into the 0xF0000 page.
Note that rom-scan will also detect other extension BIOSes mounted on your
computer, for example VGA BIOSes and SCSI adapter BIOSes. This is normal.
For PCI NICs there may be a different reason why the ROM does not work.
The PCI IDs of the ROM must match those of the NIC controller chip or
the BIOS will ignore the ROM. The floppy version does not undergo this
check since it isn't directly called from the BIOS. As mentioned before
in the
configuration instructions, you must use
the ROM image with the correct PCI IDs for your NIC.