About me

Paolo Iannelli Picture

Paolo Iannelli

Big Daddy at Mega Labs

Location
Amsterdam Area, Netherlands
Industry
Information Technology and Services
Interests
C, Python, Big Data, Scalability, High Availability, Performance
Description
Expert Software Engineer with more than 12 years of experience.
Strong in critical thinking, problem solving and high performance architectures.
Paolo Iannelli Labs Rss

Enable PXE FLASH on Intel server’s NIC cards Intel PRO 100 / 1000 MT and others with IBAUTIL and BOOTUTIL

Posted on : 19-05-2011 | By : Paolo Iannelli | In : Hardware Upgrade, System Administration

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

9

Do you have an Intel NIC card (single, dual or quad) that doesn’t show any PXE ROM during server’s startup, therefore being unable to boot your server from PXE?
I have the solution for you.

From Intel’s website, looking at the page about “Intel Boot Agent” we can read :

Intel Boot Agent: When enabled, the computer can initiate PXE/RPL boot if a valid flash image is present on the NIC.

NOTE:

  • Desktop adapters are normally shipped with both WOL and the Boot Agent (for PXE) enabled.
  • Server adapters are normally shipped with both WOL and the Boot Agent (for PXE) disabled.

To enable or disable these features you MUST use IBAUTIL.

So, if also you thought “WTF? Shouldn’t be the other way round?”, then we are on same wavelength.

Preparing boot disk

In order to solve the problem, you need to use the IBAUTIL / BOOTUTIL utility and this must be run only under a DOS environment.
To make things easier, I prepared a DR-DOS boot image that you can use to boot from USB or, if you have a DRAC/ILO/IPMI interface, to mount it directly as virtual floppy.
BOOTUTIL is actually a newer version of IBAUTIL and I recommend you to use it on newer and old adapters. For old adapters like Intel Pro/100 BOOTUTIL should work fine, but if it doesn’t, use IBAUTIL ;)

If you have a USB stick, you may use the ZIP version, unpack it and prepare the stick with HP USB Disk Storage Format Tool. Once the USB drive is formatted with a bootable boot sector, you will only need to copy the ZIP content to the drive. The ISO CD is tested and works well also on old HP iLO100 controllers

Flashing your devices

After your server started in DR-DOS environment, you should be able to type

and the result will be something like this :

The example you see above is one of the worse one : when you get the message “FLASH Not Present”, it can means 2 things : either the FLASH ROM is disabled or the FLASH is physically missing from the device, therefore you won’t be able to flash any PXE ROM to it.

Here there is a list of most commonly used commands (replace ibautil with bootutil if you want to use that) :

Enable FLASH ROM on all adapters
  • ibautil -all -flashenable
Disable FLASH ROM on all adapters
  • ibautil -all -flashdisable
Enable Setup Menu on all adapters
  • ibautil -all -setupenable
Disable Setup Menu on all adapters
  • ibautil -all -setupdisable
Enable WOL on all adapters
  • ibautil -all -wolenable
Disable WOL on all adapters
  • ibautil -all -woldisable
Install a new PXE FLASH in all adapters
  • ibautil -all -install pxe
Upgrade FLASH in all adapters
  • ibautil -all -upgrade
Upgrade FLASH in all adapters with PXE and iSCSI support
  • bootutil -all -up=combo
Upgrade FLASH in all adapters with only PXE support
  • bootutil -all -up=pxe

To work only on a specific nic, you may use the parameter -nic=X instead of -all, where X is the NIC number.

In the image I included also latest flash versions so you can flash almost any Intel Card.

If you wonder what is the Setup Menu, I can tell you that is something like the following that you can trigger on boot :

After a successful flashing, you will get something like this :

I hope this was informative for you and if you have any questions, please leave me a comment below !

Comments (9)

Thanks! You just made my day :)

Thanks so much for this post without it I would have been tearing my hair out – especially with Intel’s lengthy albeit poor documentation. Cheers and keep up the great work!

hi

very good article but unfortunately it didn’t help. i bought 10 old pro 100s cards – they seemed to be unused. as i had worked with this cards before i had a cf-card handy with bootutil and bootimg.flb – ready for flashing

to save some time – lol – i’ve wasted much more time troubleshooting now – i put 5 of the nics into an asus p4p800 and booted up.

bootutil -up=pxe -all
but only one card was updated to the 4.x version

the others stated flash not present

tried in 4 different mainboards (pentium i 200mmx, p3 1000mhz, another asus p4p800vm), older version of bootutil, ibautil ibabuild even eeupdate didn’t fix it.

dumped the working card:
eeupdate -dump

restored this .eep file to a “broken” one
eeupdate -d filename
also tried
eeupdate -d filename -nochksum

none of the other 9 cards can be upgraded.

but all cards seem more or less identical (i.e. chips, layout, labels)

and all show during bootup – i can even enter the menu (ctrl+s) and change options – so flash is present and valid

type is eepro 100s – 1229

so i think they can’t be all broken – i guess it must have something to do with the age (they might have been never powered up in years – old pxe is from 2000 3.0xx)

maybe i’ll try with ethtool and linux –

any suggestions?

do you have older version of bootutil or ibautil which you could send via pm?

thx
guido

Hey Guido,

I had very similar experiences with some cards.

I must say that I also lost entire days to troubleshoot everything and I managed to solve the problem with the following procedure (hoping it will work also for you) :

1) Boot the image or iso provided (I will upload them very soon to another file hosting service, so you can download them)
2) Issue this command :
bootutil -ALL -UP=PXE -FILE=BOOTIMG.FLB

Can you please let me know also the exact model of those cards? I had this problem with some Intel 1000MT/PT Server Edition.

Let me know !

hello paolo

thanks in advance, i kept trying most of this day/afternoon, with no luck, even flashrom.org didn’t help – as far as i can see there are different flash-chips on the cards,

sst 29le512 64kilobyte?
sst 29ee512 64kilobyte?
sst nh29ee010 128kilobyte?
sst mpf39df020a 256kilobyte?

you think another version of bootutil (i.e. older version?) will do the job?
how about counterfeid cards?

cu
guido

Guido,

in the same image there is “ibautil” that is actually the utility for legacy ethernet cards.

Did you try already to use that ? Command syntax is the same as bootutil.

Be sure to specify the flash image filename with the option -file bootimg.flb

Alternatively you can try to flash another boot image (take it from here : http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&DwnldID=19186%20)

and embed it in the image you already have.

If you still have troubles with that or you solved the problem in a different way let me know!

Else, if you can, you can ship me one of those cards and I will make some tests as well.

Cheers!

How should we do this for broadcom cards? (BCM5716 for example ;))

So helpful! I was going crazy trying to figure out why my computer wouldn’t PXE boot. Thanks!

You’re welcome ! :)

Write a comment