1

I'm repurposing some old servers as budget compute farm diskless nodes and am trying to get iPXE to do iSCSI boot on an HP DL145 G3 which has an embedded Broadcom NetXtreme 5715 dual-ported NIC.

After too many headaches with other solutions I decided to give iPXE a try, first by booting it from a DVD. (Evnetually I would want to PXE chain or use USB keys but I wanted to keep it simple first.) I'm using iPXE 1.0.0+ (b757) which I downloaded from ipxe.org just today as an ISO.

I get to the iPXE prompt, but when I try to use dhcp net0 or dhcp net1 to get IP addresses, these commands fail:

Waiting for link-up on net0... failed: Down (http://ipxe.org/38086101)
Could not configure net0: Down (http://ipxe.org/38086101)

The referenced page indicates this error corresponds to media being unplugged etc., but both ports are plugged into a switch and in fact connectivity is fine if I boot into a locally installed OS.

I've tried using ifopen to try to manually open the links but the issue remains. If I use ifstat, I get output such as:

net0: 00:18:71:xx:xx:xx using 14e4-1678 on PCI08:04.0 (closed)
  [Link:down, TX:0 TXE:0 RX:0 RXE:0]
  [Link status: Down (http://ipxe.org/38086101)]
net1: 00:18:71:xx:xx:xx using 14e4-1678 on PCI08:04.1 (open)
  [Link:down, TX:0 TXE:0 RX:0 RXE:0]
  [Link status: Down (http://ipxe.org/38086101)]

There are no interesting BIOS settings other than the integrated NIC's option ROM enable, which is enabled. The system BIOS appears to be the latest version, and I don't see any firmware update for the NICs on HP's site.

I have also tried the same iPXE disc in another system (a desktop computer) and it raises the link fine.

As far as I can tell this is the latest version of iPXE. I'm guessing maybe iPXE's kernel drivers are not dealing with this particular model NIC correctly. (I've confirmed the PCI identifier displayed is correct for this model but I don't know if there is a driver specifically for it.)

I've considered that chain booting might bypass the issue by going through UNDI, but I'm scared to add more complexity to a setup that already is not working!

Anything I may be missing here, or any other ideas?

NiKiZe
  • 1,189
  • 7
  • 17
Kevin
  • 1,540
  • 4
  • 22
  • 34
  • What kind of switch is this machine connected to and how is the machine's port configured? If the switch is running spanning tree, is it disabled on this port? Most likely, the port is down at the switch because the switch hasn't confirmed that the topology is loop free. While the switch is working on that, the PXE agent gives up waiting. – David Schwartz Feb 08 '13 at 09:16
  • @David Actually, I had originally cabled the machine directly to the storage server (not through a switch at all, save a vSwitch in ESXi), since at the moment it has extra ports available. That likewise worked with a local OS but didn't work with iPXE. In fact, it even got a network install of Windows Server started, albeit that ran into other problems. I only added a simple unmanaged switch in desperation just in case iPXE was magically messing up the Auto-MDIX, but it didn't make any difference. – Kevin Feb 08 '13 at 11:31

1 Answers1

2

You're using the tg3 driver, and it is known to have some issues on certain models of HP hardware. You might have luck if you apply the patches mentioned in this mailing-list thread:

http://lists.ipxe.org/pipermail/ipxe-devel/2012-August/001718.html

You might also get it to work by using undionly.kpxe to avoid using an iPXE-native driver.

I also want to mention that it has been reported in the past that the tg3 driver had problems to get linkup when using gigabit, but it worked on a 100Mbit switch. You might like to try this out just to confirm.

Robin Smidsrød
  • 233
  • 1
  • 4
  • 1
    Thank you for the confirmation & tips. undionly.kpxe did work. I was hoping not to have to chain from PXE just for testing, but with a bit of research it wasn't too hard. – Kevin Feb 08 '13 at 18:42