Intel PXE NICs

From K12LTSP Wiki

Jump to: navigation, search

I picked up some old intel nic's off ebay. I wanted to see if the built in pxe would ltsp boot. Since the cards can be found for as little as $2 each with shipping it was worth trying.

Almost all of the cards I've purchased have the 0.99b version of pxe. Since most people out there have not used these for pxe booting they have not been updated.

Intel provides a tool for upgrading the firmware for Wfm 2.1 (Wired for Management). This is a much better solution than using the original 0.99b.

On the Intel.com website select "Support & Downloads" and in the search box type "proboot.exe" This will get you the download you need. This is a self extracting executable. If you do this on a windows computer you can put a bootable floppy in the drive and extract it to the floppy.

Put the boot floppy in the computer with the Intel card and boot. Just run "ibautil -upgrade" to upgrade the firware.

For me it was not so simple. I don't have any floppy drives laying around and I certainly don't have anything running windows. I do however have wine installed. Running PROBOOT.exe places the files in $HOME/.wine/drive_c/Intel12.0 by default.

The next step is getting 0.99b to boot from our server. There are two changes needed to make this happen.

In /etc/xinted.d/tftp

Change the line that reads:
server_args             = -s /tftpboot

to:
server_args             = -s /tftpboot -r blksize
In the file /etc/sysctl.conf
Add this line:
net.ipv4.ip_no_pmtu_disc = 1

weirdsolutions.com has put together a simple pxe solution for doing dos flash upgrades. Download the file: http://www.weirdsolutions.com/developersCentral/tools/tftp_root.zip

Unzip this in your home directory. It will create a directory called tftp_root. In that direcotry is a file called floppy.img. This file is a FreeDOS boot floppy.

As root mount the disk image with this command:
mount -t vfat -o loop floppy.img /mnt

Copy the Intel software to the floppy image:
cp $HOME/.wine/drive_c/Intel12.0/* /mnt
umount /mnt

Now the files just need to be copied to the tftpboot area. I created a directory called /tftpboot/dos and put the files there.

Now in /etc/dhcpd-k12ltsp.conf I put this entry in the "group" section:

   host ws003 {
       hardware ethernet     00:50:8b:5e:51:00;
       fixed-address         192.168.1.63;
       filename              "/dos/pxelinux.0";

The hardware address of each card is located on a sticker. If the sticker is missing the screen will show it when the card boots up.

Make sure you run the command "/etc/rc.d/init.d/dhcpd reload" after making changes.

You can now PXE boot your dos floppy and upgrade the firmware. The floppy image is transfered to a ramdisk on the client. Make sure you disconnect the power from the client computer after upgrading the firmware.


Jim McQuillan added this:

Intel has updated firmware for alot of their cards on their website.

It's pretty simple to update, but you do need to boot under DOS to do it.

That should give you the ability to use the longer blksize for tftpd, which '-r blksize' disables. The end result will be a slightly faster download of the kernel and initramfs.

It's also possible to replace the PXE code with Etherboot. Those who use non-standard dhcp ports might like to do that. The Etherboot docs explain how to flash the Intel nics with the Etherboot code.

Personal tools