[CPLD] How to upgrade the CPLD via ONIE?

Steven_zhangCreated at:Dec 10, 2019 14:02:55Updated at:Dec 11, 2019 09:50:48

Purpose:

 This post shows the procedures to upgrade CPLD via ONIE on switch.

Model:

AS5712-54X

AS5812-54X, AS5812-54T

AS5912-54X, AS5916-54XL, AS5916-54XKS

AS6712-32X

AS6812-32X

AS7712-32X

Preparation:

A. Personal computer 

B. CPLD_Updater

  • Download the CPLD-updater image for your own device.

C. Serial Console cable:

  • A cable which attached in the original box.

D. Console terminal

  • Putty,Teraterm,SecureCRT,etc...

E. Empty USB drive or transport protocol tools

  • USB drive

  • TFTP server

  • FTP server

  • Http file server

  • OpenSSH

Procedure:

STEP1. Reboot the data center and enter the "Accton Diag" mode. (e.g., as6712_32x)

mceclip0.png

STEP2. Check the current CPLD version.

Note: If your model belongs to "AS5712 / AS5812 / AS6712 / AS6812",  please refer to section A. others, please refer to section B. 

 - Section A.

       1.Input "diag_main" command.

    diag# diag_main

       mceclip1.png

       mceclip3.png

       2. Please find "Test read CPLD version" then input corresponding option number and you will 

           see the CPLD version.

       Please enter your choice(Enter 0 to quit): 29
       CPLD-1 version : 4
       CPLD-2 version : 2
       CPLD-3 version : 2
       Item (29) test result : SUCCESS

 - Section B.

       1. Input "cpldutil -ver" command.

       root@(none):/# cpldutil -ver
       CPLD#1 Version: 10 (0x0A)
       CPLD#2 Version: 9 (0x09)
       CPLD#3 Version: 9 (0x09)
       FAN CPLD Version: 08 (0x08)

STEP3. Reboot the switch and then press "ESC" to enter the BIOS setting.

Note: If your model belongs to AS5916/AS7326/AS7716/AS7726 and the current BIOS version is v36 or later, STEP3 should be processed before the upgrade, else please ignore this step.

*set Lock Chipset to: Disable

*set MSR Lock Control to: Disable

1. Check the version and then press "ESC".

mceclip3.png

2. Please follow the red marked.

mceclip1.png

3. Please disable the following red marked

mceclip4.png

4. Save changes and reset.

mceclip5.png

STEP4. Reboot the switch and enter the "ONIE: Rescue" mode.

mceclip0.png

STEP5. Start the upgrade process. Here introduce 5 ways (USB/TFTP/FTP/HTTP/SCP) to upgrade the CPLD.

  • USB drive

       1. Put the CPLD_Updater to the USB drive. (e.g., as6712)

       mceclip5.png                                                     

       2. Insert the USB drive into the data center front panel.

       mceclip1.png

       3. The terminal will show the following message.

       2019043001.jpg

       4.Input "fdisk -l" command to show the storage status (e.g., /dev/sdb)

       ONIE:/ # fdisk -l

       Disk /dev/sda: 8048 MB, 8048869376 bytes
       255 heads, 63 sectors/track, 978 cylinders
       Units = cylinders of 16065 * 512 = 8225280 bytes

       Device Boot Start End Blocks Id System
       /dev/sda1 * 1 979 7860223+ ee EFI GPT
       Partition 1 has different physical/logical beginnings (non-Linux?):
       phys=(0, 0, 1) logical=(0, 0, 2)
       Partition 1 has different physical/logical endings:
       phys=(1023, 254, 63) logical=(978, 140, 58)

      



       Device Boot Start End Blocks Id System
       /dev/sdb1 * 1 488 3911744 b Win95 FAT32
       Partition 1 has different physical/logical beginnings (non-Linux?):
       phys=(1023, 254, 63) logical=(0, 128, 1)
       Partition 1 has different physical/logical endings:
       phys=(1023, 254, 63) logical=(487, 125, 22)

       Note: /dev/sda is original hard drive, eUSB, 8G    

       5. Mount the USB drive and check the mount status.

       ONIE:/mnt # 
       ONIE:/mnt # 
       ONIE:/mnt # 
       /dev/sdb on /mnt/usb type vfat (rw,relatime,fmask=0022,dmask=0022,codepa
       ge=437,iocharset=iso8859-1,shortname=mixed,errors=re

       6. Copy the CPLD_Updater to local storage. (e.g., /tmp)

       ONIE:/mnt/usb # ls
       32X_ES6632BT_V522_20180125.jbc.updater
       System Volume Information
       ONIE:/mnt/usb # cp 32X_ES6632BT_V522_20180125.jbc.updater /tmp

       7. Upgrade the CPLD by "install_url [CPLD_Updater]" command.

       ONIE:/ # 
       ONIE:/tmp # 
       32X_ES6632BT_V522_20180125.jbc.updater
       ONIE:/tmp #

       8. CPLD will be upgraded immediately. After upgrade, the system will automatically reboot.

       mceclip1.png

  • TFTP

       1. Please connect to the TFTP server with Mgmt port. (e.g., AS6712-32x)

           Note: Please use 1G port.

         _____2019-04-24___3.01.34.png

       2. Set the IP address in ONIE and use the ping command to make sure that the TFTP server can communicate with switch. (Server IP: 192.168.0.200)

       ONIE:/ # 
       ONIE:/ # 
       eth0 Link encap:Ethernet HWaddr CC:37:AB:C4:B1:0C
 
       inet6 addr: fe80::ce37:abff:fec4:b10c/64 Scope:Link
       UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
       RX packets:77 errors:0 dropped:0 overruns:0 frame:0
       TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:1000
       RX bytes:7619 (7.4 KiB) TX bytes:7134 (6.9 KiB)
       Memory:dff00000-dff1ffff

    
       PING 192.168.0.200 (192.168.0.200): 56 data bytes
       64 bytes from 192.168.0.200: seq=0 ttl=128 time=9.675 ms
       64 bytes from 192.168.0.200: seq=1 ttl=128 time=0.517 ms
       ^C
       --- 192.168.0.200 ping statistics ---
       2 packets transmitted, 2 packets received, 0% packet loss
       round-trip min/avg/max = 0.517/5.096/9.675 ms

        3. Input "install_url [TFTP file location]" command and then switch will start to upgrade the CPLD automatically.

       ONIE:/ # install_url tftp://192.168.0.200/32X_ES6632BT_V522_20180125.jbc.updater

           mceclip0.png

  • FTP

       1. Please connect to the FTP server with Mgmt port. (e.g., AS6712-32x)

        Note: Please use 1G port.

       _____2019-04-24___3.01.34.png

       2. Set the IP address in ONIE and and use the ping command to make sure that the FTP server can communicate with switch. (Server IP: 192.168.0.200)

       ONIE:/ # 
       ONIE:/ # 
       eth0 Link encap:Ethernet HWaddr CC:37:AB:C4:B1:0C
 
       inet6 addr: fe80::ce37:abff:fec4:b10c/64 Scope:Link
       UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
       RX packets:77 errors:0 dropped:0 overruns:0 frame:0
       TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:1000
       RX bytes:7619 (7.4 KiB) TX bytes:7134 (6.9 KiB)
       Memory:dff00000-dff1ffff

    
       PING 192.168.0.200 (192.168.0.200): 56 data bytes
       64 bytes from 192.168.0.200: seq=0 ttl=128 time=9.675 ms
       64 bytes from 192.168.0.200: seq=1 ttl=128 time=0.517 ms
       ^C
       --- 192.168.0.200 ping statistics ---
       2 packets transmitted, 2 packets received, 0% packet loss
       round-trip min/avg/max = 0.517/5.096/9.675 ms

       3. Input "install_url [FTP account:password@location]" command and and then switch will start to upgrade the CPLD automatically. 

     ONIE:/ # install_url ftp://admin:admin@192.168.0.200/32X_ES6632BT_V522_20180125.jbc.updater

       mceclip1.png

  • HTTP

       1. Please connect to the HTTP server with Mgmt port. (e.g., AS6712-32x)

        Note: Please use 1G port.

       _____2019-04-24___3.01.34.png

       2. Set the IP address in ONIE and and use the ping command to make sure that the HTTP server can communicate with switch.. (Server IP: 192.168.0.200)

       ONIE:/ # 
       ONIE:/ # 
       eth0 Link encap:Ethernet HWaddr CC:37:AB:C4:B1:0C
 
       inet6 addr: fe80::ce37:abff:fec4:b10c/64 Scope:Link
       UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
       RX packets:77 errors:0 dropped:0 overruns:0 frame:0
       TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:1000
       RX bytes:7619 (7.4 KiB) TX bytes:7134 (6.9 KiB)
       Memory:dff00000-dff1ffff

    
       PING 192.168.0.200 (192.168.0.200): 56 data bytes
       64 bytes from 192.168.0.200: seq=0 ttl=128 time=9.675 ms
       64 bytes from 192.168.0.200: seq=1 ttl=128 time=0.517 ms
       ^C
       --- 192.168.0.200 ping statistics ---
       2 packets transmitted, 2 packets received, 0% packet loss
       round-trip min/avg/max = 0.517/5.096/9.675 ms

       3. Input "install_url [HTTP URL]" command and and then switch will start to upgrade the CPLD automatically.

       ONIE:/ # install_url http://192.168.0.200/32X_ES6632BT_V522_20180125.jbc.updater

        209bec5c6b9f14db325240de9edad3ec477ff1e841734ea96417c7e59207f916.png

  • SCP

       1. Please connect to the openSSH server with Mgmt port. (e.g., AS6712-32x)

        Note: Please use 1G port.

       _____2019-04-24___3.01.34.png

       2. Set IP address in ONIE and and use the ping command to make sure that the openSSH server can communicate with switch. (Server IP: 192.168.0.100)

       ONIE:/ # 
       ONIE:/ # 
       eth0 Link encap:Ethernet HWaddr CC:37:AB:C4:B1:0C
 
       inet6 addr: fe80::ce37:abff:fec4:b10c/64 Scope:Link
       UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
       RX packets:77 errors:0 dropped:0 overruns:0 frame:0
       TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
       collisions:0 txqueuelen:1000
       RX bytes:7619 (7.4 KiB) TX bytes:7134 (6.9 KiB)
       Memory:dff00000-dff1ffff

       ONIE:/ #  PING 192.168.0.100 (192.168.0.100): 56 data bytes
       64 bytes from 192.168.0.100: seq=0 ttl=64 time=0.705 ms
       64 bytes from 192.168.0.100: seq=1 ttl=64 time=0.433 ms
       ^C
       --- 192.168.0.100 ping statistics ---
       2 packets transmitted, 2 packets received, 0% packet loss
       round-trip min/avg/max = 0.433/0.569/0.705 ms

       3. Use the "SCP" command to copy the CPLD_Updater from the openSSH server.

          scp [account@server ip]:[installer_file_path] [local_path]

       ONIE:/ # scp jeff_cheng@192.168.0.100:/Users/jeff_cheng/Desktop/ISO/6712       -32x/CPLD/CPLDv522/32X_ES6632BT_V522_20180125.jbc.updater /tmp

       Host '192.168.0.100' is not in the trusted hosts file.
       (ecdsa-sha2-nistp256 fingerprint md5 be:26:8f:8c:2f:26:69:f5:05:7e:30:d2
       :d2:01:e0:92)
       Do you want to continue connecting? (y/n) y
       jeff_cheng@192.168.0.100's password:
       32X_ES6632BT_V522_20180125.jbc.updater 100% 636KB 635.6KB/s 00:00

       4. Upgrade the CPLD by "install_url [CPLD_Updater]" command.

       ONIE:/ # 
       ONIE:/tmp # 
       32X_ES6632BT_V522_20180125.jbc.updater
       ONIE:/tmp #

       mceclip1.png

STEP6. The system will auto warm restart. However, we recommend cold restart after the upgrade. After that, please follow STEP1 to check if it upgraded successfully. 

       1. Enter the "Accton Diag" mode.

       mceclip0.png

       2. Check the current CPLD version.

       - Section A.

       diag# diag_main

       mceclip1.png

       mceclip3.png   

       Please enter your choice(Enter 0 to quit): 29
       CPLD-1 version : 5
       CPLD-2 version : 2
       CPLD-3 version : 2

       Item (29) test result : SUCCESS

       - Section B.

       root@(none):/# cpldutil -ver
       root@(none):/# cpldutil -ver
       CPLD#1 Version: 10 (0x0A)
       CPLD#2 Version: 11 (0x0B)
       CPLD#3 Version: 11 (0x0B)
       FAN CPLD Version: 08 (0x08)

STEP7. After the upgrade, please return to STEP3 and then "enable" the setting back.

mceclip0.png