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?