This page contains some issues that people had while using gpxe.
This card is known to not support gpxe while using the MBA v4.0.
gPXE loads, negociate the link speed but the DHCP doesn't grab any valid adress even if the DHCP server make an offer. This is due to a buggy PXE rom, this usually happens on the MBA (Master Boot Agent) v4.0.
3com deliver a firmware upgrade which used to live here; however the upgrade is apparently no longer available direct from 3Com but copies can still be found on other sites. This file has to be decompressed and run in a real dos mode.
Then run mbaflash.exe
If you don't have any dos system or floppy (this become more & more rare theses days), you can use this floppy disk image. Then add an entry in your pxelinux configuration file like :
LABEL flash KERNEL memdisk APPEND dos.img
The dos.img file must be put, in this example, at the root path of your tftp server.
Then boot your PXE and call the flash entry. The freedos environment loads and then call mbaflash.exe
The MBA version is now upgraded to v4.30, gpxe can now be loaded.
Additional notes from a user: In this instance, I could not use a 3com 3c90 to pxe boot, at all, it would just hang, even though I flashed from 4.00 to 4.30 using memdisk, I still could not pxe boot, so somehow I found myself a newer mbaflash.exe This was all done on Debian.
Download a newer mba for the 3com cards (4.31)
curl -O ftp://ftp.hp.com/pub/softlib/software1/ob656/ob656en/3cmba431.exe
Extract with 7zip:
7z x 3cmba431.exe
The first 32 bytes of firmware.img is just the COPYDISK header, so skip it
dd if=firmware.img bs=32 skip=1 of=dos.img
If you can boot from a disk on the machine that has the card you're trying to flash, that would be good, since you can't PXE boot in theory. Hopefully you're using some Linux and you have syslinux and grub2 installed.
sudo cp /usr/share/syslinux/memdisk /boot/
Add the dos diskimage you're going to be flashing from:
sudo mkdir /boot/images sudo cp dos.img /boot/images
Now you can theoretically reboot using memdisk to boot into DOS to flash the 3c90 rom that you couldn't pxeboot from before
nVidia chipsets don't view all devices on the PCI bus in a direct fashion, and there's a bus driver (nvnetbus) necessary to make the network adapter appear as a common PCI Ethernet device on the bus.
Booting Windows XP/2k/etc using the iSCSI / WinAoE driver will not work, due to a missing service (nvnetbus) not being started. While this is not a hardware issue, nor a problem with gPXE, it is included here for informative purposes.
After installing Microsoft iSCSI Boot initiator and executing sanbootconf (and thus making sure the NVENETFD service is started at boot) booting the image over iSCSI will result in BSOD (0x0000007b). This happens even though the NVENETFD service is loaded during boot.
This was tested on Windows XP x64.
After installing WinAoE and making sure the NVENETFD service is started at boot, booting the image over AoE will work well until aoe32.sys is loaded. Upon loading aoe, the system will hang without any network activity. This happens even though the NVENETFD and nvnetbus services are loaded before aoe32.sys.
This is tested on Windows XP and Vista, both 32-bit. Not tested using 64-bit, but the problem is likely to be the same.
the nvnetbus service has to be started before NVENETFD:
in order to do this, the user has to be familiar with CurrentControlSet\Services Subkey Entries (http://support.microsoft.com/kb/103000) and with CurrentControlSet\Control\GroupOrderList Entries (http://technet.microsoft.com/en-us/library/cc976063.aspx).
overview of the steps required to make nvnetbus being started before NVENETFD:
1. navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NVENETFD: a. remember the value of Tag (priority) and increment it by 1 2. navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvnetbus: a. set Group to "NDIS". b. set Start to 0. c. set Tag to the original tag of NVENETFD. 3. navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GroupOrderList\NDIS: a. increment the number of Tags (first four bytes), and add the new tag we just added for NVENETFD at the end of the list (you're adding four more bytes at the end).
* Another option is to use the RIS driver for the nForce card (not verified). The simplest fix is to simply use another network adapter.
Some Intel e1000 cards appear to have problems if the gPXE image burned into their rom is larger than 64kb, even though the eeprom size is 128kb. This is problematic as the default e1000 rom images are around 70kb. It is unknown if it's really a hardware problem(the standard PXE ROM contents seem to use the whole 128kb without problems). It could also be a problem with a specific IBAUTIL.exe version.
IBAUTIL.exe will not complain after flashing and will report a successful flash. After the reboot gPXE does not start.
Get a gPXE image smaller than 64kb. You can achieve this by disabling unneeded features in src/config/general.h iSCSI support, for example, is a good candidate for disabling, as it uses a lot of space.
gpxe undionly driver v1.0.1 hangs when “initialising devices…” (although the chipset declares Intel UNDI v2.1 capability upon boot).
- Buy another NIC. Really. I tried two and both did never work reliably (link problems – either no link detected or DHCP answers missed – could be a firmware issue, but how do I fix the firmware when I need to boot with that NIC??).
- The undionly solution seems to be broken with that chipset. Use r8169 driver instead.
Network card in HP Proliant BL460c G6.
gPXE with undionly.kkpxe driver fails to access network.
Use undionly.kpxe instead. Please note that undionly.kpxe does not support cached DHCP settings, i e “set use-cached 1” will not work.