www.hollants.com
August 28, 2008
>
You are here: Home - PXE Boot ROMs - 3Com 3C905x Print version (soon)

Home

Notebooks

Hard & Software

Webstuff

Projects

Verschiedenes

This site

3Com 3C905x PXE Boot ROMs

DISCLAIMER: the information on this page is presented without warranties of any kind, neither expressed nor implied. Any usage is at your own risk. You may violate your local country's copyright regulations -- check that beforehand!

Chip IDs

  • 3Com 3C905B
  • 3Com 3C905C

Compatible Flash ROM chips

  • Atmel AT29C512 (64 KB) (source: 3c90x.txt in Netboot CVS)
  • Atmel AT29C010 (128 KB) (source: 3c90x.txt in Netboot CVS)
  • Atmel AT29C512 (64 KB) (source: various mailing list posts)
  • Atmel AT49BV512 (64 KB) (soldered onto the TX-M NIC)

Flashing using 3Com's own utilities (look for util430.exe) doesn't seem to work with blank Flash ROMs.

Flashing using bromutil/cromutil

Using bromutil / cromutil from the Etherboot distribution you can flash arbitrary .bin images into 3C905B / 3C905C NICs using the Flash ROM chips mentioned above.

However there is no known method so far to generate a .bin image out of the files supplied by 3Com. Therefore you will need a 3C905B or 3C905C card with an already working Boot Agent.

  • bromutil / cromutil must be compiled and linked statically on a Linux workstation.
  • On the target system, boot a Linux rescue system (e.g. from the SuSE Linux CDs/DVD), set up the network with ifconfig and copy over the compiled utilities and the .bin image.
  • Determine the I/O address of the target NIC using lspci -v. As the output is most probably numeric and not in text form, watch for characteristics such as the Vendor ID, the capabilities or compare the listed interrupts with /proc/interrupts.
  • Depending on whether the target NIC employs a 3C905B or a 3C905C, you need to use either bromutil or cromutil:
    • bromutil <I/O address> read >backup.bin saves the current ROM's contents.
    • bromutil <I/O address> prog <bootrom.bin programs the contents of the file "bootrom.bin" into the flash ROM.

The Boot-ROM probably won't work immediately:

  • mbacfg.exe displays "No installed MBAs".
  • romtype.exe and romscan.exe don't detect "Bootware" also.
  • 3c90xcfg.exe however says that the "Boot ROM is enabled".

Don't worry: the trick is that you can now call 3Com's own mbaflash.exe as it now recognizes the image present. Just ignore the version prompt ("v4.30 is already programmed") and you'll get a working boot ROM!

For this reason it also doesn't matter whether you save the existing image of a 3C905B or 3C905C-based NIC: just flash it into the target NIC's ROM. The 3C905C image won't work on a 3C905B-based NIC, of course, but just call mbaflash.exe -- it will program the correct image!

This page last changed:
December 03, 2004

Copyright © 1998-2004 by Pieter Hollants - All rights reserved - Legal terms