Purpose
Release NVM update package for NMC4006 target version from 6.80/7.20/8.10 to 8.60
Target Audience
Everyone who needs to update NMC4006 from 6.80/7.20/8.10 to 8.60
Minimum requirement
- The package in this FAQ supports upgrade from 6.80/7.20/8.10 to 8.60 only. When customer's NMC-4006 is older NVM (ex: 6.01), please contact Advantech supports for updating from those versions which are older than 6.80/7.20/8.10
- Linux based OS
- i40e driver up to 2.15.9 or above (see driver requirement)
Steps
1. Download NMC4006NVM86.tgz from attachment
2. Check current nvm version from one of Ethernet device of NMC-4006 (bb1p0 as an example)
example 1: NVM 6.80
# ethtool -i bb1p0
driver: i40e
version: 2.15.9
firmware-version: 6.80 0x80004315 1.1747.0
expansion-rom-version:
bus-info: 0000:b1:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
example 2: NVM 7.20
# ethtool -i bb1p0
driver: i40e
version: 2.10.19.30
firmware-version: 7.20 0x80008d74 1.1747.0
expansion-rom-version:
bus-info: 0000:b1:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
example 3: NVM 8.10
# ethtool -i bb1p0
driver: i40e
version: 2.15.9
firmware-version: 8.10 0x80009e16 1.2829.0
expansion-rom-version:
bus-info: 0000:b1:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
3. Get in unzipped folder and run following command to execute update process. You should understand which device is available to be updated.
"-l nmc-4006.log" specifies the log file for recording output from the nvmupdate utility, if NMC can't success to update NVM file, please forward this log file to Advantech FAE (support@advantech-ncg.zendesk.com ),
# chmod +x nvmupdate64
# ./nvmupdate64e -l nmc-4006.log
Intel(R) Ethernet NVM Update Tool
NVMUpdate version 1.38.3.3
Copyright(C) 2013 - 2022 Intel Corporation.
WARNING: To avoid damage to your device, do not stop the update or reboot or power off the system during this update.
Inventory in progress. Please wait [***+......]
Num Description Ver.(hex) DevId S:B Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) I210 Gigabit Network 3.37(3.25) 1533 00:001 Update not
Connection available
02) Intel(R) I210 Gigabit Network 3.37(3.25) 1533 00:002 Update not
Connection available
03) Intel(R) Ethernet Connection X722 4.48(4.30) 37D3 00:063 Update not
for 10GbE SFP+ available
04) Intel(R) Ethernet Controller XL710 6.128(6.80) 1583 00:177 Update
for 40GbE QSFP+ available
Options: Adapter Index List (comma-separated), [A]ll, e[X]it
Enter selection: 04 04 <-please key-in NMC-4006 (XL710) ID number
Would you like to back up the NVM images? [Y]es/[N]o: Y y <- suggest key-in y to backup old NVMUpdate in progress. This operation may take several minutes.
[****[ 1955.193800] i40e 0000:b1:00.1: Reset Requested! (EMPR)
[ 1955.213877] i40e 0000:b1:00.0: Reset Requested! (EMPR)
[ 1955.444467] i40e 0000:b1:00.1: VF BW shares not restored
[ 1955.684409] i40e 0000:b1:00.0: VF BW shares not restored .....-****
Num Description Ver.(hex) DevId S:B Status
=== ================================== ============ ===== ====== ==============
01) Intel(R) I210 Gigabit Network 3.37(3.25) 1533 00:001 Update not
Connection available
02) Intel(R) I210 Gigabit Network 3.37(3.25) 1533 00:002 Update not
Connection available
03) Intel(R) Ethernet Connection X722 4.48(4.30) 37D3 00:063 Update not
for 10GbE SFP+ available
04) Intel(R) Ethernet Controller XL710 8.96(8.60) 1583 00:177 Update
for 40GbE QSFP+ successful
Power Cycle is required to complete the update process.
Tool execution completed with the following status: All operations completed successfully.
Press any key to exit.
- Wait few minutes for completing the upgrade process, you will find “All operations completed successfully” shown on screen after it completed, and follow the message to exit the utility.
- Power OFF and ON to apply the changes.
- Check nvm version from one of Ethernet device of NMC4006 (bb1p0 as an example)
# ethtool -i bb1p0
driver: i40e
version: 2.15.9
firmware-version: 8.60 0x8000c4a8 1.1747.0
expansion-rom-version:
bus-info: 0000:b1:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
Please check following table, NVM 8.6 default doesn't included Option ROM, but it can keep previous option ROM after nvmupdate flash
version | Original Version | After flash NVM 8.6 |
NVM 6.80 | 6.80 0x80004315 1.1747.0 | 8.60 0x8000c4a8 1.1747.0 |
NVM 7.10 | 7.20 0x80008d74 1.1747.0 | 8.60 0x8000c4a8 1.1747.0 |
NVM 8.10 | 8.10 0x80009e16 1.2829.0 | 8.60 0x8000c4a8 1.2829.0 |
NVM 8.60 | NA | 8.60 0x8000c4a8 0.0.0 |
Check VPD info from Advantech network device (Assume device NMC-4006 on bus da:00.0)
# lspci -s b1:00.0 -vvv |grep -i "Vendor specific"
[V0] Vendor specific: N260
[V1] Vendor specific: V8.60
[V2] Vendor specific: V8.60.01
Check SVID: 13FE and SDID: 002E with the command.
example: NVM 6.8/7.1 to NVM 8.6
# ./nvmupdate64e -i -o
<Instance vendor="8086" device="1583" subdevice="002E" subvendor="13FE" bus="177" dev="0" func="0" PBA="004200-000" port_id="Port 1 of 2" display="Intel(R) Ethernet Controller XL710 for 40GbE QSFP+">
<Module type="PXE" version="1.0.66" update="0">
</Module>
<Module type="EFI" version="2.4.5" update="0">
</Module>
<Module type="NVM" version="8000C4A8" update="0">
</Module>
<Module type="RO" update="0">
</Module>
<VPD>
<VPDField type="String">NMC-4006 </VPDField>
<VPDField type="Readable" key="MN">13FE</VPDField>
<VPDField type="Readable" key="V0">N260</VPDField>
<VPDField type="Readable" key="V1">V8.60</VPDField>
<VPDField type="Readable" key="V2">V8.60.01</VPDField>
</VPD>
<MACAddresses>
<MAC address="74FE482AA051">
</MAC>
</MACAddresses>
</Instance>
<Instance vendor="8086" device="1583" subdevice="0000" subvendor="13FE" bus="177" dev="0" func="1" PBA="004200-000" port_id="Port 2 of 2" display="Intel(R) Ethernet Controller XL710 for 40GbE QSFP+">
<Module type="PXE" version="1.0.66" update="0">
</Module>
<Module type="EFI" version="2.4.5" update="0">
</Module>
<Module type="NVM" version="8000C4A8" update="0">
</Module>
<Module type="RO" update="0">
</Module>
<VPD>
<VPDField type="String">NMC-4006 </VPDField>
<VPDField type="Readable" key="MN">13FE</VPDField>
<VPDField type="Readable" key="V0">N260</VPDField>
<VPDField type="Readable" key="V1">V8.60</VPDField>
<VPDField type="Readable" key="V2">V8.60.01</VPDField>
</VPD>
<MACAddresses>
<MAC address="74FE482AA052">
</MAC>
</MACAddresses>
</Instance>
</DeviceInventory>
example: NVM 8.1 to NVM 8.6
# ./nvmupdate64e -i -o
<Instance vendor="8086" device="1583" subdevice="002E" subvendor="13FE" bus="177" dev="0" func="0" PBA="000200-000" port_id="Port 1 of 2" display="Intel(R) Ethernet Controller XL710 for 40GbE QSFP+">
<Module type="PXE" version="1.1.18" update="0">
</Module>
<Module type="EFI" version="4.4.12" update="0">
</Module>
<Module type="NVM" version="8000C4A8" update="0">
</Module>
<Module type="RO" update="0">
</Module>
<VPD>
<VPDField type="String">NMC-4006 </VPDField>
<VPDField type="Readable" key="MN">13FE</VPDField>
<VPDField type="Readable" key="V0">N260</VPDField>
<VPDField type="Readable" key="V1">V8.60</VPDField>
<VPDField type="Readable" key="V2">V8.60.01</VPDField>
</VPD>
<MACAddresses>
<MAC address="74FE482AA051">
</MAC>
</MACAddresses>
</Instance>
<Instance vendor="8086" device="1583" subdevice="0000" subvendor="13FE" bus="177" dev="0" func="1" PBA="000200-000" port_id="Port 2 of 2" display="Intel(R) Ethernet Controller XL710 for 40GbE QSFP+">
<Module type="PXE" version="1.1.18" update="0">
</Module>
<Module type="EFI" version="4.4.12" update="0">
</Module>
<Module type="NVM" version="8000C4A8" update="0">
</Module>
<Module type="RO" update="0">
</Module>
<VPD>
<VPDField type="String">NMC-4006 </VPDField>
<VPDField type="Readable" key="MN">13FE</VPDField>
<VPDField type="Readable" key="V0">N260</VPDField>
<VPDField type="Readable" key="V1">V8.60</VPDField>
<VPDField type="Readable" key="V2">V8.60.01</VPDField>
</VPD>
<MACAddresses>
<MAC address="74FE482AA052">
</MAC>
</MACAddresses>
</Instance>
</DeviceInventory>
Please check following table, NVM 8.6 nvmupdate utility will keep previous option ROM,
version | Original Version | after flash NVM 8.6 |
NVM 6.80 | 6.80 0x80004315 1.1747.0 | 8.60 0x8000c4a8 1.1747.0 |
NVM 7.20 | 7.20 0x80008d74 1.1747.0 | 8.60 0x8000c4a8 1.1747.0 |
NVM 8.10 | 8.10 0x80009e16 1.2829.0 | 8.60 0x8000c4a8 1.2829.0 |
NVM 8.60 | N/A | 8.60 0x8000c4a8 0.0.0 |
Using nvmupdate upgrades NMC-4006 NVM from 6.8/7.2/8.1 to 8.6 , It will keep PXE function setting after nvmupdate flashing finish .
# chmod +x bootutil64e
# ./bootutil64e
Intel(R) Ethernet Flash Firmware Utility
BootUtil version 1.7.26.3
Copyright (C) 2003-2020 Intel Corporation
Type BootUtil -? for help
Port Network Address Location Series WOL Flash Firmware Version
==== =============== ======== ======= === ============================= =======
1 C400ADABF658 1:00.0 Gigabit NO FLASH Not Present
2 C400ADABF659 2:00.0 Gigabit NO FLASH Not Present
3 000BABF4F096 64:00.0 40GbE YES FLASH Unknown
4 000BABF4F097 64:00.1 40GbE YES FLASH Unknown
5 74FE4804DDFC 218:00.0 40GbE YES UEFI,PXE -------
6 74FE4804DDFD 218:00.1 40GbE YES UEFI,PXE -------
When user needs to disable NMC-4006 NVM 8.6 PXE function, please refer following ticket to set/disable PXE function by Intel/bootutil
Comments
0 comments
Please sign in to leave a comment.