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>