Note: System needs to be power-cycled after CPLD upgrade for the new cpld to take effect.

Services will be interrupted.



Step 1: 

Download cpld update package from the link below.

filename: csg3k_CPLD_MAIN_v23.tar.gz

https://versanetworks.box.com/s/y2x2xcqvj5w752nsid0vuir6ef1c29yb


Step 2: 

Verify that system is CSG3300 or CSG3500. 

MAIN CPLD is the same for both models.


[admin@versa-flexvnf: ~] $  sudo dmidecode -t 1

Handle 0x0001, DMI type 1, 27 bytes

System Information

        Manufacturer: Versa Networks, Inc.

        Product Name: CSG3500 (or) CSG3300

        Version: EVT

        Serial Number: AACA2306003

        UUID: 03000200-0400-0500-0006-000700080009

        Wake-up Type: Power Switch

        SKU Number: CSG3500

        Family: Cloud Services Gateway

[admin@versa-flexvnf: ~] $ 


Step 3: 

Check the current Main CPLD version

[admin@versa-flexvnf: ~] $ vsh connect vsmd

vsm-vcsn0> show chassis cpld info main | grep -i 'cpld version'

 CPLD Version (0x00)             : 23

 FAN CPLD Version (0x5c)         : 12

vsm-vcsn0>


Step 4: 

Extract cpld update files: cpldupd and .jbc

[admin@versa-flexvnf: ~] $ sudo tar -xf csg3k_CPLD_MAIN_v23.tar.gz


[admin@versa-flexvnf: ~] $ cd csg3k_CPLD_MAIN_v23/


[admin@versa-flexvnf: csg3k_CPLD_MAIN_v23] $ ls -l

total 244

-rwxr-x--x 1 root  root  108327 May 12 17:03 cpldupd

-rwxr-x--x 1 root  root  132688 May 12 17:03 CSG3K_ALL_CPLD_R0C_V23_2022_1207.jbc

-rwxrwxrwx 1 admin versa   2326 May 12 17:52 readme.txt

[admin@versa-flexvnf: csg3k_CPLD_MAIN_v23] $ 


Step 5: 

Verify checksum of the cpld update files:

[admin@versa-flexvnf: csg3k_CPLD_MAIN_v23] $  sudo md5sum *

7ed56aefed228a15bbf35ce158347be8  cpldupd

a75a8152add297b20f369a363fbda970  CSG3K_ALL_CPLD_R0C_V23_2022_1207.jbc


Step 6: 

Set permission to executable

[admin@versa-flexvnf: csg3k_CPLD_MAIN_v23] $  sudo chmod a+x *.jbc cpldupd


Step 7: 

Run following command to flash MAIN cpld firmware

$ sudo ./cpldupd -u MAIN CSG3K_ALL_CPLD_R0C_V23_2022_1207.jbc

=== MAIN CSG3K_ALL_CPLD_R0C_V23_2022_1207.jbc ===


4A 41 4D 01 00 00 00 44 00 00 00 8C 00 00 02 BB

00 00 0C CB 00 00 0E CC 00 00 0F 3C 00 00 1E 85

00 01 9A CD 00 02 06 4E 00 02 06 4E 00 00 07 4D

Update CPLD code from memory buffer 0x7f874a36e010, filesize=0x20650

CFG.TCK_SETUP=0

CFG.TCK_HOLD=0

CFG.DO_DISABLE_ISP_CLAMP=1

CFG.DO_REAL_TIME_ISP=1

CFG.DO_FORCE_SRAM_DOWNLOAD=0


Expected CRC:   0xF307

Calculated CRC: 0xF307

SIDEBAND BASE ADDRESS = 380000000000

LPC BASE ADDRESS = fc800000

-->

Device #3 Silicon ID is ALTERA10(05)

Device #2 Silicon ID is ALTERA10(06)

Device #1 Silicon ID is ALTERA10(06)

erasing MAXII device(s)...

erasing MAXII CFM block...

programming CFM block...

verifying CFM block...

DONE

<--

Clock Count=2200363

Function returned success

exec_result: 0, exit code: 0; file format version: 2

spend_time=38s

[admin@versa-flexvnf: ~] $


Step 8: 

Power cycle the system.

Remove both power cords. Wait for about 30 seconds, then plug in power cords.


Step 9: 

After system is power cycled, verify the new cpld version.


[admin@versa-flexvnf: ~] $ vsh connect vsmd


vsm-vcsn0> show chassis cpld info main | grep -i cpld

        Main CPLD Registers

 CPLD Version (0x00)             : 23 <<<==== NEW cpld version

 FAN CPLD Version (0x5c)         : 12


vsm-vcsn0>


<DONE>