PowerEdge 2950 LOM (Broadcom NetXtreme II BCM5708) Firmware support for
Wake-on-LAN
Hi,
I'm helping in ESXi 5.1 U3 maintenance on two PE2950 with Broadcom NetXtreme II BCM5708 1000Base-T cards.
When upgrading the FWs for different components I mentioned that the new firmware (bc 4.6.0 UMP 1.1.9) is not supporting WOL for the ESXi kernel:
~ # esxcli network nic get --nic-name=vmnic1 Advertised Auto Negotiation: true Advertised Link Modes: 10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full, 1000baseT/Full Auto Negotiation: true Cable Type: Twisted Pair Current Message Level: 0 Driver Info: Bus Info: 0000:09:00.0 Driver: bnx2 Firmware Version: bc 4.6.0 UMP 1.1.9 Version: 2.2.5k.v50.1 Link Detected: true Link Status: Up Name: vmnic1 PHYAddress: 1 Pause Autonegotiate: true Pause RX: false Pause TX: false Supported Ports: TP Supports Auto Negotiation: true Supports Pause: true Supports Wakeon: false Transceiver: internal Wakeon: None ~ #
The old FW, on the other identical server, is with full support:
~ # esxcli network nic get --nic-name=vmnic1 Advertised Auto Negotiation: true Advertised Link Modes: 10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full, 1000baseT/Full Auto Negotiation: true Cable Type: Twisted Pair Current Message Level: -1 Driver Info: Bus Info: 0000:09:00.0 Driver: bnx2 Firmware Version: bc 2.9.1 Version: 2.0.15g.v50.11-7vmw Link Detected: true Link Status: Up Name: vmnic1 PHYAddress: 1 Pause Autonegotiate: true Pause RX: false Pause TX: false Supported Ports: TP Supports Auto Negotiation: true Supports Pause: true Supports Wakeon: true Transceiver: internal Wakeon: MagicPacket(tm) ~ #
Initially both cards were with the same driver version (2.0.15g.v50.11-7vmw) - even when I updated the card with new FW to the last ESXi 5.1 driver (2.2.5k.v50.1) the WOL feature was not available.
I was wondering if somebody can direct me to the right combination of FW and drivers in order to have the WOL available - it can be even older, but working versions.
If wake on lan is disabled in the NIC settings it will show false for supports wake on lan. You can enable WOL in the Broadcom NICs Boot Agent. During POST you may see a banner message for the Broadcom NICs. Press Ctrl-S, and it will let you enable the WOL option through that menu. If the banner is not there just press ctrl+s during the early part of post.
I forgot to mention (sorry about that) that the BIOS and the NIC boot Agent setups were the first two things I verified. There were nothing related to the NIC configuration in the BIOS, as I expected when saw the Broadcom boot agent prompt.
This is a screenshot from the DRAC
As you can see, the feature is enabled on the agent level as well.
The only difference with the working server is the Firmware, as I specified in my initial post.
That looks like the latest 5708 firmware aside from the more generic versions that do not explicitly state 5708 support. Will it let you set WOL with ethtool? ethtool -s vmnic0 wol g
I gave it a try with two different tools - same negative result:
~ # esxcli network nic list Name PCI Device Driver Link Speed Duplex MAC Address MTU Description ------ ------------- ------ ---- ----- ------ ----------------- ---- ------------------------------------------- vmnic0 0000:005:00.0 bnx2 Up 1000 Full 00:18:8b:44:4f:a9 1500 Broadcom Corporation QLogic 5708 1000Base-T vmnic1 0000:009:00.0 bnx2 Up 1000 Full 00:18:8b:44:4f:ab 1500 Broadcom Corporation QLogic 5708 1000Base-T ~ # esxcli network nic set -w g -n vmnic0 Not Support wol. ~ # ethtool -s vmnic0 wol g Cannot set new wake-on-lan settings: Invalid argument not setting wol ~ #
I'm pretty sure that the same Firmware should fix this problem, but I can't find it for download.
In the same moment I'm really curious why the new one is not supporting something well working before.
I created a bundle from those Firmware files and prepared a bootable USB (Linux ISO) to facilitate the upgrade:
I was using manual mode from the media check start option. The auto-update will go up to the highest available firmare version:
sh-4.1# cd /opt/dell/toolkit/systems/drm_files/ sh-4.1# ./apply_bundles.sh
Force scripts to update to lower version with '-f' option:
sh-4.1# cd /opt/dell/toolkit/systems/drm_files/repository/NetXtreme\ II\ BCM5780/ sh-4.1# sh NETW_FRMW_LX_R214709.BIN -q -f | tee /bundleapplicationlogs/apply_components.log sh-4.1# reboot
next time just specify manually the next version BIN file:
sh-4.1# sh NETW_FRMW_LX_R246418.BIN -q | tee /bundleapplicationlogs/apply_components.log
As you can see, the lowest version is "4.6.8" - shown in the CLI as "bc 4.6.0":
NETW_FRMW_LX_R319248.BIN ~ # esxcli network nic get --nic-name=vmnic1 Advertised Auto Negotiation: true Advertised Link Modes: 10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full, 1000baseT/Full <... omitted ...> Driver Info: Bus Info: 0000:09:00.0 Driver: bnx2 Firmware Version: 6.4.5 bc 5.0.7 UMP 1.1.9 <--- This is the highest version Version: 2.2.5k.v50.1 Link Detected: true <... omitted ...> Supports Pause: true Supports Wakeon: false <--- Transceiver: internal Wakeon: None ~ #
NETW_FRMW_LX_R214709.BIN ~ # esxcli network nic get --nic-name=vmnic1 Advertised Auto Negotiation: true Advertised Link Modes: 10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full, 1000baseT/Full <... omitted ...> Driver Info: Bus Info: 0000:09:00.0 Driver: bnx2 Firmware Version: 4.6.8 bc 4.6.0 UMP 1.1.9 <--- This is the lowest version Version: 2.2.5k.v50.1 Link Detected: true Link Status: Up <... omitted ...> Supports Pause: true Supports Wakeon: false <--- Transceiver: internal Wakeon: None ~ #
NETW_FRMW_LX_R239524.BIN ~ # esxcli network nic get --nic-name=vmnic1 Advertised Auto Negotiation: true Advertised Link Modes: 10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full, 1000baseT/Full <... omitted ...> Driver Info: Bus Info: 0000:09:00.0 Driver: bnx2 Firmware Version: 5.0.9 bc 5.0.4 UMP 1.1.9 <--- Version: 2.2.5k.v50.1 Link Detected: true <... omitted ...> Supports Pause: true Supports Wakeon: false <--- Transceiver: internal Wakeon: None ~ #
...
How can I find the "bc 2.9.1" firmware, used on the other PE2950?
It seems like I found the reason ans it's not in the Firmware at all. I'm going to share this here in order to serve somebody else in the future...
WOL is supported in Broadcom NetXtreme II BCM5708 devices with silicon revisions of B2 or later.
To determine the silicon revision of one Broadcom NetXtreme II device, we can use the 'lspci' command on a linux box, where “10” = revision B0, “11” = revision B1, and “12” = revision B2. For ESXi the 'lspci' is with very limited output, but we can use 'esxcli hardware pci list' to discover the details.
A verification on the PE2950 with working WOL is showing revision B2 (0x12):
Since the revision B1 is not supporting WOL, there are no way to see it working on this server. However, in meanwhile I configured successfully the remote power management via IPMI ;-)
Thank you Josh for your prompt replies and kind cooperation!
DELL-Josh Cr
Community Manager
•
9790 Posts
•
45217 Points
1880
0
Posted February 26th, 2016 16:00
Hi,
If wake on lan is disabled in the NIC settings it will show false for supports wake on lan. You can enable WOL in the Broadcom NICs Boot Agent. During POST you may see a banner message for the Broadcom NICs. Press Ctrl-S, and it will let you enable the WOL option through that menu. If the banner is not there just press ctrl+s during the early part of post.