You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

flash-2.txt 5.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. Subject: Look Mom, no PROM burner! (eepro100b flashing instructions) :-)
  2. Date: Sun, 23 Jan 2000 01:53:08 -0500
  3. x-sender: mdc%thinguin.org@cdi.entity.com
  4. x-mailer: Claris Emailer 2.0v3, January 22, 1998
  5. From: Marty Connor <mdc@thinguin.org>
  6. To: "Netboot List" <netboot@baghira.han.de>
  7. Mime-Version: 1.0
  8. Content-Type: text/plain; charset="US-ASCII"
  9. Message-ID: <1263512144-341319205@entity.com>
  10. Continuing the Etherboot World Domination theme, I noticed that there was
  11. a PCI ethernet card on my bookshelf that still contained the original
  12. vendor's code in its flash memory. The card virtually cried out to be
  13. flashed with Etherboot 4.4.1. :-)
  14. After having figured out how to flash the 3C905C last week, and owing to
  15. the fact that the temperature here in Cambridge, Massachusetts (USA) has
  16. dropped well below freezing, I decided to explore the possibility of
  17. flashing the Intel eepro100b that was sitting on my bookcase.
  18. After determining that it was unlikely that one could flash the chip in
  19. user mode under linux like the 3C509C, I turned to other options. (the
  20. reason is that the flash is memory mapped to a place that causes a core
  21. dump if accessed. i suppose one could to patch the kernel to flash the
  22. card, or add a linux device driver, but... :-)
  23. By the way, If you are ever looking for Linux utilities for Ethernet
  24. cards, you may want to check out:
  25. http://cesdis.gsfc.nasa.gov/linux/diag/
  26. which is a treasure trove of tools for manipulating and testing Ethernet
  27. cards, all with source, courtesy of Donald Becker.
  28. At this point, I felt it was time to make a virtual trip to the Intel
  29. site (http://www.intel.com/), and search for utilities that might work
  30. with the eepro100B. I found two candidates: FUTIL and FBOOT. I
  31. downloaded, decompressed, and transferred them to a DOS formatted floppy.
  32. Next I determined (after a few tries) that F8 will let me get to DOS
  33. instead of booting windows. (I tend to avoid Windows when I can).
  34. I first tried FUTIL.EXE. No good. It told me it didn't recognize the
  35. flash on my eepro100B. how unfortunate. and I had such hopes :-)
  36. Next I tested FBOOT.EXE (available at
  37. http://support.intel.com/support/network/adapter/pro100/100PBOOT.htm)
  38. This program did in fact recognize my eepro100b card.
  39. The thing about FBOOT however, is that it thinks it only can load certain
  40. files. I of course needed to load an Etherboot image. It appeared to
  41. have no option for doing that. Things looked grim.
  42. Then I noticed that FBOOT was kind enough to do the following dialog:
  43. Select Option (U)pdate or (R)estore: U
  44. I chose Update and it then offered to back up my flash rom for later
  45. restore:
  46. Create Restore Image (Y)es or (N)o: Y
  47. I chose "Y" and it proceeded to write a file of my flash memory, which
  48. contained the Intel code.
  49. Writing FLASH image to file... 100%
  50. It then erased the device:
  51. Erasing FLASH Device... 100%
  52. and then programmed it with fresh code (stored inside the program, no
  53. doubt):
  54. Programming FLASH Device... 100%
  55. So now I had a backup of the Intel boot code in a file strangely called:
  56. 2794FC60.FLS
  57. Hmmmm, interesting name. The MAC address of the card is 09902794FC60.
  58. They just name the file with the last 4 octets of the MAC address and
  59. .FLS. The file is exactly 65536 bytes, which would make sense for a 64K
  60. Flash Memory device.
  61. Then I got to thinking, I wonder how carefully the "restore" part of
  62. FBOOT looks at what it is loading? What if I took an Etherboot .rom
  63. file, padded it with 48K of 0xFFs and named it 2794FC60.FLS. What if I
  64. then told FBOOT.EXE to "restore" that?
  65. Well, I guess by now, you know it worked :-)
  66. The card came up with the delightful Etherboot banner, Did DHCP, tftp,
  67. and started a kernel.
  68. The only unfortunate part is that you need to do this under DOS because
  69. you seem to need to be in real mode to program the card. Oh well,
  70. sacrifices have to be made :-)
  71. So, in summary, to prepare Etherboot image for flashing into the Intel
  72. EEPRO100B card with FBOOT, you need to first make an eepro100.rom file,
  73. as usual.
  74. Then, see how large it is, with an "ls -l eepro100.rom". the answer will
  75. probably be 16,384. You need to pad it with hex FFs to make it 64K for
  76. FBOOT. I used the following two lines to create the flash image file.
  77. $ perl -e 'print "\xFF" x 49152' > 48kpad.bin
  78. $ cat eepro100.rom 48kpad.bin > 2794FC60.FLS
  79. Next write it to a DOS Floppy:
  80. $ mount -t msdos /dev/fd0 /mnt/floppy
  81. $ cp 2794FC60.FLS /mnt/floppy
  82. $ umount /mnt/floppy
  83. Now you need to get to DOS. You could actually use a bootable DOS floppy
  84. with FBOOT.EXE and 2794FC60.FLS on it. I started a Windows box and hit
  85. F8 right before Windows started, and chose option 5, "Command Prompt
  86. Only", which gives you DOS. This program can't run in a DOS window under
  87. Windows or anything like that. You need to be in real DOS.
  88. Next it's time to run FBOOT. It will detect your ethernet card(s), ask
  89. you which one you want to program, and let you choose it from a menu.
  90. now the fun part:
  91. Select Option (U)pdate or (R)estore: R
  92. Erasing FLASH Device... 100%
  93. Writing FLASH image from file... 100%
  94. Time to reboot and let Etherboot take over.
  95. So there you go, a way to make Intel EEPRO100Bs play nicely with
  96. Etherboot. Maybe we should put these instructions in the Etherboot
  97. contrib directory so people who have eepro100b cards will be able to
  98. avoid 3C905C envy :-)
  99. I hope this helps a few people out.
  100. Regards,
  101. Marty
  102. ---
  103. Name: Martin D. Connor
  104. US Mail: Entity Cyber, Inc.; P.O. Box 391827; Cambridge, MA 02139; USA
  105. Voice: (617) 491-6935, Fax: (617) 491-7046
  106. Email: mdc@thinguin.org
  107. Web: http://www.thinguin.org/