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: CSG1500_CPLD_MAIN_v32.tar.gz

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


Step 2: 

Verify that system is CSG1500. 

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: CSG1500

        Version: EVT

        Serial Number: AACA2306003

        UUID: 03000200-0400-0500-0006-000700080009

        Wake-up Type: Power Switch

        SKU Number: CSG1500

        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)             : 28

 FAN CPLD Version (0x5c)         : 12

vsm-vcsn0>


Step 4: 

Extract cpld update files: cpldupd and .jbc

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


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


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

total 244

total 232

-rwxr-x--x 1 root  root  108327 Jun  6 07:55 cpldupd

-rwxr-x--x 1 root  root   37544 Jun  6 07:55 cpldutil

-rwxr-x--x 1 root  root   81445 Jun  6 07:55 CSG1500_MAIN_CPLD_V32_20260123.jbc

-rwxrwxrwx 1 admin versa   1191 Jun  6 08:11 readme.txt

[admin@versa-flexvnf: CSG1500_CPLD_MAIN_v32] $ 


Step 5: 

Verify checksum of the cpld update files:

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

7ed56aefed228a15bbf35ce158347be8  cpldupd

5d26e664117fd4e67d60c32d6cf7c176  cpldutil

90be1d36dee6c2e95bce85d29f4cce9d  CSG1500_MAIN_CPLD_V32_20260123.jbc

f37e0d8ba01366baf6230ad9b8293e1c  readme.txt


Step 6: 

Set permission to executable

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


Step 7: 

Run following command to flash MAIN cpld firmware

$ sudo ./cpldupd -u MAIN CSG1500_MAIN_CPLD_V32_20260123.jbc

=== MAIN CSG1500_MAIN_CPLD_V32_20260123.jbc ===


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

00 00 0C E9 00 00 0E 87 00 00 0E F7 00 00 1E 40

00 00 D2 4A 00 01 3E 23 00 01 3E 23 00 00 07 13

Update CPLD code from memory buffer 0x27a88b0, filesize=0x13E25

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:   0x0591

Calculated CRC: 0x0591

SIDEBAND BASE ADDRESS = 380000000000

LPC BASE ADDRESS = fc800000

-->

Device #1 Silicon ID is ALTERA10(06)

erasing MAXII device(s)...

erasing MAXII CFM block...

programming CFM block...

verifying CFM block...

DONE

<--

Clock Count=1155114

Function returned success

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

spend_time=21s

[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)             : 32 <<<==== NEW cpld version

 FAN CPLD Version (0x5c)         : 12


vsm-vcsn0>


<DONE>




CSG1500 MAIN CPLD release notes:

0x32

      - Enable the fan control hyper mode as default.

      - Set fans full speed when one fan fails.


0x28

      - Added hyper mode fan control option.