Instructions to update X722 NICs NVM firmware in CSG1500
vni-0/12 to vni-0/15 (eth13 to eth16)
Note: It is strongly recommended to log the serial console output for debugging purpose
/////////////////////////////////////////////////////////////////////////////////////////////////////////
Step 1:
Download the file named "CSG1500_x722_NVM_6p20.tar.gz" from the link below and extract the 3 files listed below:
https://versanetworks.box.com/s/g78sdacwby9lu18ijmfzcr3ox5fur4u1
1. eeupdate64e
2. lanconf64e
3. LBG_B2_CS4223_4x10G_NCSI_6p20_80003D55.bin
Extract the files:
[admin@versa-flexvnf: ~] $ sudo tar -xf CSG1500_x722_NVM_6p20.tar.gz
[admin@versa-flexvnf: ~] $ ls -l
drwxrwxrwx 2 admin versa 4096 Jun 7 12:12 CSG1500_x722_NVM_6p20
-rwxrwxrwx 1 root root 3960195 Jun 7 12:12 CSG1500_x722_NVM_6p20.tar.gz
[admin@versa-flexvnf: ~] $ cd CSG1500_x722_NVM_6p20/
/home/admin/CSG1500_x722_NVM_6p20
[admin@versa-flexvnf: CSG1500_x722_NVM_6p20] $
Verify the checksum of the files:
[admin@versa-flexvnf: CSG1500_x722_NVM_6p20] $ ls -l
total 13776
-rw-r----- 1 admin versa 3529688 Sep 14 2022 eeupdate64e
-rw-r----- 1 admin versa 4567864 Sep 14 2022 lanconf64e
-rw-r----- 1 admin versa 6004736 Jun 5 17:50 LBG_B2_CS4223_4x10G_NCSI_6p20_80003D55.bin
[admin@versa-flexvnf: CSG1500_x722_NVM_6p20] $ md5sum *
f1302f1e054ad1a3e6bbf02818d284c8 eeupdate64e
fcfa2a4a52ca672944eb8e47bb193978 lanconf64e
ad0ed0f0cac28acb3ef66bb4b51fc55e LBG_B2_CS4223_4x10G_NCSI_6p20_80003D55.bin
[admin@versa-flexvnf: CSG1500_x722_NVM_6p20] $
Step 2:
Stop Versa services
[admin@versa-flexvnf: ~] $ vsh stop
* Stopping versa-flexvnf...
Step 3:
Record the system model name and the serial number
[admin@versa-flexvnf: ~] $ sudo dmidecode -t 1
Handle 0x0001, DMI type 1, 27 bytes
System Information
Manufacturer: Versa Networks, Inc.
Product Name: CSG1500
Version: EVT
Serial Number: AACA2051013
UUID: 03000200-0400-0500-0006-000700080009
Wake-up Type: Power Switch
SKU Number: CSG1500
Family: Cloud Services Gateway
[admin@versa-flexvnf: ~] $
Step 4:
Check and make sure the four X722 10G SFP+ ports are detected as highlighted below
[admin@versa-flexvnf: ~] $
[admin@versa-flexvnf: ~] $ lspci | grep Ethernet
08:00.0 Ethernet controller: Intel Corporation I210 Gigabit Network Connection (rev 03)
17:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
17:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
17:00.2 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
17:00.3 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
19:00.0 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ (rev 02)
19:00.1 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ (rev 02)
1b:00.0 Ethernet controller: Intel Corporation Ethernet Controller 10G X550T (rev 01)
1b:00.1 Ethernet controller: Intel Corporation Ethernet Controller 10G X550T (rev 01)
65:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
65:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
65:00.2 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
65:00.3 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
b7:00.0 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GbE SFP+ (rev 04)
b7:00.1 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GbE SFP+ (rev 04)
b7:00.2 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GbE SFP+ (rev 04)
b7:00.3 Ethernet controller: Intel Corporation Ethernet Connection X722 for 10GbE SFP+ (rev 04)
[admin@versa-flexvnf: ~] $
Step 5:
Check and make sure X722 ports (eth13, eth14, eth15, eth15) are detected.
Record the MAC addresses of the ports
[admin@versa-flexvnf: ~] $ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
5: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:ef brd ff:ff:ff:ff:ff:ff
30: eth9: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:f9 brd ff:ff:ff:ff:ff:ff
31: eth10: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:fa brd ff:ff:ff:ff:ff:ff
32: eth11: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:fb brd ff:ff:ff:ff:ff:ff
33: eth12: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:fc brd ff:ff:ff:ff:ff:ff
34: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:f3 brd ff:ff:ff:ff:ff:ff
35: eth4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:f4 brd ff:ff:ff:ff:ff:ff
36: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:f1 brd ff:ff:ff:ff:ff:ff
37: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:f2 brd ff:ff:ff:ff:ff:ff
38: eth5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:f5 brd ff:ff:ff:ff:ff:ff
39: eth6: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:f6 brd ff:ff:ff:ff:ff:ff
40: eth7: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:f7 brd ff:ff:ff:ff:ff:ff
41: eth8: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:f8 brd ff:ff:ff:ff:ff:ff
42: eth13: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:fd brd ff:ff:ff:ff:ff:ff
43: eth14: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:fe brd ff:ff:ff:ff:ff:ff
44: eth15: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:ff brd ff:ff:ff:ff:ff:ff
45: eth16: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4c:00 brd ff:ff:ff:ff:ff:ff
[admin@versa-flexvnf: ~] $
Step 6:
Check and record the current NVM firmware version of the four X722 ports (eth13, eth14, eth15, eth16)
[admin@versa-flexvnf: ~] $ ethtool -i eth13
driver: i40e
version: 2.10.19.82
firmware-version: 4.30 0x80001fce 0.0.0
expansion-rom-version:
bus-info: 0000:b7:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
[admin@versa-flexvnf: ~] $ ethtool -i eth14
driver: i40e
version: 2.10.19.82
firmware-version: 4.30 0x80001fce 0.0.0
expansion-rom-version:
bus-info: 0000:b7:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
[admin@versa-flexvnf: ~] $ ethtool -i eth15
driver: i40e
version: 2.10.19.82
firmware-version: 4.30 0x80001fce 0.0.0
expansion-rom-version:
bus-info: 0000:b7:00.2
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
[admin@versa-flexvnf: ~] $ ethtool -i eth16
driver: i40e
version: 2.10.19.82
firmware-version: 4.30 0x80001fce 0.0.0
expansion-rom-version:
bus-info: 0000:b7:00.3
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
[admin@versa-flexvnf: ~] $
Step 7:
Go to the folder where the firmware file and update utilities are downloaded.
Set permisison for the files to be executed
[admin@versa-flexvnf: CSG1500_x722_NVM_6p20] $ sudo chmod a+x * *.*
Step 8:
Run lanconf64e
[admin@versa-flexvnf: CSG1500_x722_NVM_6p20] $ sudo ./lanconf64e
Step 9:
Select "OK" at the screen below
Step 10:
Select the first X722 NIC to program, hit Enter
e.g. NIC 14) Intel(R) Ethernet Connection X722 for 10GbE SFP+ 8086-37D3 182:00.0
Step 11:
Select "EEPROM/Flash" from the menu as shown below, hit Enter
Step 12:
Select "NVM Image"
Step 13:
Record the current NVM firmware (e.g. 4.30 MAP4.30 (0x80001FCE) )
Select "Update Image"
Step 14:
Select the NVM firmware .bin file (e.g. LBG_B2_CS4223_4x10G_NCSI_6p20_80003D55.bin)
Firmware update process will begin once the NVM firmware .bin file is selected.
Step 15:
During the firmware upgrade process, a message similar as shown below may be displayed.
Step 16:
Once the firmware upgrade process is done, a message similar as shown below may be displayed.
Select "OK" to continue
Step 17:
Press "ESC" key ~3 times to exit.
A message similar as shown below may be displayed.
Press "Esc" one more time to exit to the NIC list page.
Step 18:
Select "Exit" at the bottom of the list to exit from the lanconf64e utility
Step 19:
At the Linux prompt, issue the following commands
[admin@versa-flexvnf: ~] $ sudo ./eeupdate64e /BUS=0xb7 /DEV=00 /FUN=0 /WW 0x981 0x1090
[admin@versa-flexvnf: ~] $ sudo ./eeupdate64e /BUS=0xb7 /DEV=00 /FUN=0 /WW 0x983 0xC090
[admin@versa-flexvnf: ~] $ sudo ./eeupdate64e /BUS=0xb7 /DEV=00 /FUN=0 /WW 0x985 0x1091
[admin@versa-flexvnf: ~] $ sudo ./eeupdate64e /BUS=0xb7 /DEV=00 /FUN=0 /WW 0x987 0xC091
[admin@versa-flexvnf: ~] $ sudo ./eeupdate64e /BUS=0xb7 /DEV=00 /FUN=0 /WW 0x989 0x1092
[admin@versa-flexvnf: ~] $ sudo ./eeupdate64e /BUS=0xb7 /DEV=00 /FUN=0 /WW 0x98b 0xC092
[admin@versa-flexvnf: ~] $ sudo ./eeupdate64e /BUS=0xb7 /DEV=00 /FUN=0 /WW 0x98d 0xC093
[admin@versa-flexvnf: ~] $ sudo ./eeupdate64e /BUS=0xb7 /DEV=00 /FUN=0 /WW 0x98f 0x1093
Step 20:
At the Linux prompt, issue the ethtool commands below to check the NVM firmware of the four X722 NICs (eth13, eth14, eth15, eth16) and verify the NVM version has been updated.
[admin@versa-flexvnf: ~] $ sudo ethtool -i eth13
driver: i40e
version: 2.10.19.82
firmware-version: 6.20 0x80003d55 1.2935.0
expansion-rom-version:
bus-info: 0000:b7:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
[admin@versa-flexvnf: ~] $ sudo ethtool -i eth14
driver: i40e
version: 2.10.19.82
firmware-version: 6.20 0x80003d55 1.2935.0
expansion-rom-version:
bus-info: 0000:b7:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
[admin@versa-flexvnf: ~] $ sudo ethtool -i eth15
driver: i40e
version: 2.10.19.82
firmware-version: 6.20 0x80003d55 1.2935.0
expansion-rom-version:
bus-info: 0000:b7:00.2
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
[admin@versa-flexvnf: ~] $ sudo ethtool -i eth16
driver: i40e
version: 2.10.19.82
firmware-version: 6.20 0x80003d55 1.2935.0
expansion-rom-version:
bus-info: 0000:b7:00.3
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
[admin@versa-flexvnf: ~] $
Step 21:
Check and verify the MAC addresses of the four NICs are still intact with Versa OUI (ac:43:30:xx:xx:xx)
[admin@versa-flexvnf: ~] $ ip link
...
42: eth13: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:fd brd ff:ff:ff:ff:ff:ff
43: eth14: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:fe brd ff:ff:ff:ff:ff:ff
44: eth15: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4b:ff brd ff:ff:ff:ff:ff:ff
45: eth16: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ac:43:30:f8:4c:00 brd ff:ff:ff:ff:ff:ff
[admin@versa-flexvnf: ~] $
Step 22:
Power cycle the system from power cord.
Remove power cord, wait for ~ 15 seconds, and plug in the power cord.
Step 23:
After system is power cycled, check and make sure all interfaces are detected in VOS CLI, and
Versa MACs (OUI: ac:43:30:xx:xx:xx) are still intact with the NICs
admin@versa-flexvnf-cli> show interfaces brief | tab | nomore
NAME MAC OPER ADMIN TENANT VRF IP
--------------------------------------------------------------------------------------------
eth-0/0 ac:43:30:f8:3d:97 up up 0 global 10.42.145.190/20
tvi-0/0 n/a up up - -
tvi-0/0.0 n/a pdown up 1 Versa-Provider-Control-VR
tvi-0/1 n/a up up - -
tvi-0/1.0 n/a pdown up 1 Versa-Provider-Control-VR
vni-0/0 ac:43:30:f8:3d:19 down up - -
vni-0/0.1 ac:43:30:f8:3d:19 down up 1 WAN1-Transport-VR
vni-0/0.0 ac:43:30:f8:3d:19 down up 1 WAN1-Transport-VR
vni-0/1 ac:43:30:f8:3d:1a down up - -
vni-0/1.1 ac:43:30:f8:3d:1a down up 1 WAN1-Transport-VR
vni-0/1.0 ac:43:30:f8:3d:1a down up 1 WAN1-Transport-VR
vni-0/10 ac:43:30:f8:3d:a3 down down - -
vni-0/100 02:aa:bb:cc:dd:01 down up - -
vni-0/100.0 02:aa:bb:cc:dd:01 down up 1 WAN1-Transport-VR
vni-0/101 02:aa:bb:cc:dd:02 down up - -
vni-0/101.0 02:aa:bb:cc:dd:02 down up 1 WAN1-Transport-VR
vni-0/102 02:aa:bb:cc:dd:03 down down - -
vni-0/103 02:aa:bb:cc:dd:04 down down - -
vni-0/11 ac:43:30:f8:3d:a4 down down - -
vni-0/12 ac:43:30:f8:4b:fd down up - -
vni-0/12.0 ac:43:30:f8:4b:fd down up 1 global 192.168.3.1/24
vni-0/13 ac:43:30:f8:4b:fe down up - -
vni-0/14 ac:43:30:f8:4b:ff down up - -
vni-0/15 ac:43:30:f8:4c:00 down up - -
vni-0/2 ac:43:30:f8:3d:9b down up - -
vni-0/2.1 ac:43:30:f8:3d:9b down up 1 WAN1-Transport-VR
vni-0/2.0 ac:43:30:f8:3d:9b down up 1 WAN1-Transport-VR
vni-0/3 ac:43:30:f8:3d:9c down up - -
vni-0/3.1 ac:43:30:f8:3d:9c down up 1 WAN1-Transport-VR
vni-0/3.0 ac:43:30:f8:3d:9c down up 1 WAN1-Transport-VR
vni-0/4 ac:43:30:f8:3d:9d down up - -
vni-0/4.1 ac:43:30:f8:3d:9d down up 1 WAN1-Transport-VR
vni-0/4.0 ac:43:30:f8:3d:9d down up 1 WAN1-Transport-VR
vni-0/5 ac:43:30:f8:3d:9e down up - -
vni-0/5.0 ac:43:30:f8:3d:9e down up 1 global 192.168.1.1/24
vni-0/6 ac:43:30:f8:3d:9f down up - -
vni-0/6.0 ac:43:30:f8:3d:9f down up 1 global 192.168.2.1/24
vni-0/7 ac:43:30:f8:3d:a0 down down - -
vni-0/8 ac:43:30:f8:3d:a1 down down - -
vni-0/9 ac:43:30:f8:3d:a2 down down - -
[ok][2023-06-07 18:31:17]
admin@versa-flexvnf-cli>
<DONE>