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>