Netboot Mailing List (by thread)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Addon for the documentation



--pgp-sign-Multipart_Wed_Jul__2_10:18:31_1997-1
Content-Type: multipart/mixed;
 boundary="Multipart_Wed_Jul__2_10:18:31_1997-1"
Content-Transfer-Encoding: 7bit

--Multipart_Wed_Jul__2_10:18:31_1997-1
Content-Type: text/plain; charset=US-ASCII

This is an update to the last version of this document. It contains
all the changes suggested by Evan.

--Multipart_Wed_Jul__2_10:18:31_1997-1
Content-Type: text/plain; charset=US-ASCII

There are a couple of common problems with getting an EPROM recognized
by the   PC. First of   all, you should try  to   make sure, that your
network  card, the actual EPROM  chip and the image  file all agree on
the same size. This means, if your image is
  -  8192 bytes long, you need a 2764 EPROM chip and have to configure
     the card to 8kB
  -  16384 bytes  long,   you need a  27128   EPROM chip  and  have to
     configure the card to 16kB
  -  32768  bytes  long, you  need  a  27256 EPROM  chip  and have  to
     configure the card to 32kB.
There is a very simple naming scheme to all of  the 28pin chips in the
27xx family. The first two digits determine the family; this is always
'27'.  Then  there might  by some  letters  that usually refer  to the
architecture.   In  most  cases  this  is a   'C', which    stands for
CMOS. Every  ones in a while you  might see different letters as these
markings are manufacturer specific. The next digits determine the size
in kilobits. As most people have an easier time with thinking in bytes
rather   than  bits, you should   divide  the number   by  a factor of
eight.  To the best  of my knowledge, the smallest  member in the 27xx
family  was the   2708,  but you  are  unlikely  to  ever  see one  of
them. This is  ancient technology. The largest  chip, that  still fits
into a 28pin socket is the 27512. Everything larger than this requires
more pins. There are two other notable families of chips; the 28xx and
the 29xx series. While they are similar in  design to the 27xx series,
there are   subtle  differences  and  these   chips  are not   usually
interchangeable. The big advantage over the  27xx family is, that both
of  these  other    families  implement   electrically  erasable   and
re-programmable EEPROMs.   For   further information  check with   the
manufacturer's  data  sheets and  have a look   at  the design  of the
FlashCard.    Depending  on the manufacturer,    you  might find other
markings  on  your chip.  Usually, you   will find a reference  to the
access time. Common  values are 250ns,  150ns, and 120ns; if  you have
the choice, avoid chips with  250ns access  time. Other letters  often
refer  to the proper  temperature range, but  these  markings are very
different between different manufacturers.

Some older cards do not support  32kB chips, so you  might want to try
to  get a  smaller image file.  You  should almost always  be  able to
create an image file  that fits into  16kB; if you use compression and
do not enable all of the features, then you will even be able to build
images that fit into 8kB. As a general rule,  it is preferable to have
smaller images, because  this will leave more  buffers for DOS;  under
Linux there is (usually) no noticeable difference.

Sometimes, you might be   unable to  get hold  of  an EPROM  with  the
required size. Nowadays, 27256 EPROMs seem  to be the most popular and
anything smaller than this might be hard  to find.  As the 27xx series
of  chips was  designed to   be backwards  compatible, you can  almost
always  replace a  27256 for  one of  the  smaller chips.   If you are
extremely unlucky, this might not work with  your equipment, but it is
at least  worth a try  if you cannot otherwise  get any  2764 or 27128
chips.

There are a couple of  things to watch out  for, though, if you intend
to  substitute the EPROM  with one of the   bigger models.  The bigger
EPROMs have  one or  two additional address   lines. Depending  on the
layout of  your network card,  these additional lines  might be pulled
high, low or left floating. Thus the best solution is, to create a new
image that has exactly the same size as the EPROM by attaching several
copies  of the original  image file to each  other. E.g. if you had an
image called "ne.rom" that  was 16kB, but you want  to burn it into  a
32kB   EPROM you would   do "cat ne.rom  ne.rom   > ne-27256.rom". The
corresponding   DOS command   is  "copy   /b  ne.rom    +  /b   ne.rom
ne-27256.rom".

You  should now configure the  ethernet card as  if you  were using an
EPROM that is exactly  the same size as the  original image. So in the
above example, you  would configure your  card for an 27128 EPROM even
though you plug in a 27256 chip.

After burning  the EPROM and  configuring the network card, you should
be all set to boot from the card. If this does  not work though, there
are a couple of suggestions for locating possible problems.

Use your EPROM burner to read out  the contents of  the EPROM and make
sure, that it contains the data that you  want it to have. Compare the
data against the original image file.

Start DOS and launch the "debug" application. Try  to locate the EPROM
and try to read its contents. Typing '?' will give you a brief summary
of  the commands. Usually, the EPROM  will be  mapped somewhere in the
address range from 0xC8000 to 0xE8000. DOS uses segmented adresses, so
you   will    have  to   specify  these     numbers  as  C800:0000  to
E800:0000.  Please note, that the  first number contains _four_ rather
than _five_  digits. Just strip of  the  last digit, if  your ethernet
program uses the five digit notation.

E.g.  if you expect the image to be mapped at  D000, you would type "d
D000:0000".  You  should now see  a hexdump  that corresponds  to  the
first few bytes of  the ROM image file. You  can use the UNIX  command
"od -tx1 ne.rom" to verify that the values are correct.  If you do not
find the EPROM  image anywhere, then you should  test if you are using
the    "debug" command  correctly; verify   the   contents at  address
C000:0000.  This is, where graphics cards put their ROM image; you can
probably read some  kind of  copyright  message within  the first  few
lines of  the memory dump.  After  successfully locating  the start of
the  boot image,   you  can now  check  that   it is  mapped  all  the
way.   Assuming that you   have a 16kB   image  that starts at address
D000:0000, the last used  address would be D3FF:000F.  As the last few
bytes of the image  might be unused, you  might want to check  from --
say -- D300:0000  to D400:0000.  You do   this by typing "d  D300:0000
1000".

Using "debug", you  can spot  some  of  the more obvious  mistakes.  A
common problem is that your  network card has  not been configured  to
match the size of the  image file and/or  the EPROM type. As a result,
you will either see only part of the image (not neccessarily the first
part, though) or you will see the image repeated after every 8kB, 16kB
or 32kB boundary. If you suspect that this might be the case, then you
should check  every 8kB  boundary. As 8kB  equals 0x2000,  you need to
increment the segmented addresses in steps of 200.

There have been reports of ethernet cards, that map some constant data
in the last few  bytes of the  ROM image.  This  is supposedly done to
help with    autodetection,  but  it causes    serious   problems with
"etherboot" and "netboot".  You will  notice this when you compare the
entire  ROM dump against  the  image file  that  you  burned into  the
EPROM. If you happen  to have one of  these cards, please report to us
and we will provide you with a fix.

If you  do not find the  image at all, or if  there are errors  in the
data, then  the first thing  to  check are  your  BIOS settings.  Some
motherboards can map  RAM into the  space where you  would want to map
your EPROM.  Make sure that this is  not happening.  Also, even though
you ideally want  the EPROM to  be cached,  some  motherboards seem to
have  problems with this  configuration. It  might  be worth  a try to
disable caching for this memory range. If you believe that all of your
BIOS settings are correct, then the next  thing to check is that there
are no  other   extension cards   that try  to  use  the  same  memory
space. Some network cards come with test programs that try to discover
those problems, but this  does not always  work reliably. If in doubt,
remove  all other unneeded  extension  cards and  see if  that makes a
difference.   If you  use  a network card, that  can  be accessed in a
memory mapped mode (e.g. WD80x3 cards), then make sure that you do not
map  the    RAM buffer  into    the  same  space as   the   EPROM data
(incidentally,  make sure that the  RAM buffer is  never cached by the
motherboard).  Some cards  can be run  both in NE2000 and WD80x3 mode;
these cards  have   been reported to  not   map any   EPROM data  when
configured in WD80x3 compatibility mode.  With most  cards you need to
explicitly  enable  mapping of the  EPROM,   so double-check that this
feature is turned on. If all of this fails, try  to get a faster EPROM
chip. Usually,  EPROM chips that are at  least as fast as 150ns should
be OK; chips  that only do 250ns will  probably have difficulties with
some motherboard designs.

If you discover that  none of these suggestions  were helpful  in your
particular case,  then try to collect  as much information  as you can
and report to the mailing list and/or the authors. We will try to help
you directly and then update this document accordingly.


--Multipart_Wed_Jul__2_10:18:31_1997-1
Content-Type: text/plain; charset=US-ASCII

--
Markus Gutschke                         Internet: markus@infoscape.com
Infoscape, Inc                          Phone:    +1-415-537-3778
657 Mission Street, Suite 200
San Francisco, CA 94105

Disclaimer: The above message represents my personal opinion; It does
            not constitute an offical statement by Infoscape!

--Multipart_Wed_Jul__2_10:18:31_1997-1--

--pgp-sign-Multipart_Wed_Jul__2_10:18:31_1997-1
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP MESSAGE-----
Version: 2.6.2

iQCVAwUBM7qNaxqJqDLErwMxAQG/wQP/c9//KAV810r3MbdeKwhAlE3eLxr1vbV7
5ps8ltPi8LT6T/RQ8W5vxQy00xza5HS6vrp2Jj6FI8nauY6gKw0/mG7mmKx6uEIk
okMF55stWaGQiFSGvWqJW7pNquBQGI5bXPekVBoB9WRcT0jluiLUyJumbeyOYtDh
rXJaZwgcibA=
=K8WI
-----END PGP MESSAGE-----

--pgp-sign-Multipart_Wed_Jul__2_10:18:31_1997-1--



For requests or suggestions regarding this mailing list archive please write to netboot@gkminix.han.de.