CSG1300 BIOS+CPLD Upgrade Procedure
Note: This procedure requires serial console access, a USB dongle and physical access to the system for power cycling.
Step 1: Copy files
1.1 Download and the extract the latest BIOS files and CPLD files from the links below to a USB dongle
BIOS files:
https://versanetworks.box.com/s/b7fds8cgj2mrmi5pqt5qpzcaf7djvds0
- AfuEfix64.efi (BIOS flash utility)
- CSG1300_bios_v46.01.05.00.bin (BIOS binary file)
CPU CPLD files:
CPU CPLD Versa 4.2
https://versanetworks.box.com/s/8o7pbmsn2ykd6d1c2oyfcd0nx7gleux0
Note: Before upgrading CPLD, please check and make sure BIOS version is the latest compatible version with the CPLD.
If BIOS version is up-to-date, step 2 BIOS upgrade process can be skipped.
[admin@Perf-Branch3: ~] $ sudo dmidecode -t 0
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: American Megatrends Inc.
Version: v46.01.05.00
Release Date: 06/23/2021
Step 2: BIOS Upgrade
2.1 Plug in the USB and boot up the system. On the serial console, at the BIOS POST screen, press "DEL" key to enter BIOS setup.
Version 2.19.1266. Copyright (C) 2020 American Megatrends, Inc.
BIOS Date: 08/07/2020 12:34:12 CSG1300 Ver: v46.0b.03.00
Boot BIOS : Master BIOS
Press <DEL> or <ESC> to enter setup.
2.1 In the BIOS Setup, go to "Save & Exit" and select the boot option "UEFI: Built-in EFI Shell"
Aptio Setup Utility - Copyright (C) 2020 American Megatrends, Inc.
Main Advanced IntelRCSetup Security Boot Save & Exit
/----------------------------------------------------+-------------------------\
| Save Options | |
| Save Changes and Reset | |
| Discard Changes and Reset | |
| | |
| Default Options | |
| Restore Defaults | |
| | |
| Boot Override | |
| Generic Flash Disk 8.07 | |
| UEFI: Generic Flash Disk 8.07, Partition 1 |-------------------------|
| P5: KINGSTON RBUSNS8180S3128GJ |><: Select Screen |
| P4: TS16ZBTMM1600 |^v: Select Item |
| UEFI OS (P4: TS16ZBTMM1600) |Enter: Select |
| UEFI: Built-in EFI Shell |+/-: Change Opt. |
| |F1: General Help |
| |F2: Previous Values |
| |F3: Optimized Defaults |
| |F4: Save & Exit |
| |ESC: Exit |
\----------------------------------------------------+-------------------------/
Version 2.19.1266. Copyright (C) 2020 American Megatrends, Inc.
2.3 At EFI Shell prompt, type in "FS2:" to go into USB folder where the BIOS files are saved.
Check if BIOS flash utility (AfuEfix64.efi) and BIOS binary file (CSG1300_bios_vxx.xx.xx.xx.bin ) are present.
UEFI Interactive Shell v2.1
EDK II
UEFI v2.60 (American Megatrends, 0x0005000D)
Mapping table
FS2: Alias(s):HD1a0c0b:;BLK8: PciRoot(0x0)/Pci(0x15,0x0)/USB(0x0,0x0)/USB(0x2,0x0)/HD(1,MBR,0x00000000,0x800,0xF3B800)
FS0: Alias(s):HD0e65535a1:;BLK1:
PciRoot(0x0)/Pci(0x14,0x0)/Sata(0x4,0xFFFF,0x0)/HD(1,GPT,AB88E51E-A490-40FF-BBE9-3C8F21F798AF,0x800,0x200000)
FS1: Alias(s):HD0e65535a2:;BLK2:
PciRoot(0x0)/Pci(0x14,0x0)/Sata(0x4,0xFFFF,0x0)/HD(2,GPT,FB6851AE-7D51-46B0-B5B4-3D5ECD1FA8DA,0x200800,0x200000)
BLK7: Alias(s):
PciRoot(0x0)/Pci(0x15,0x0)/USB(0x0,0x0)/USB(0x2,0x0)
BLK0: Alias(s):
PciRoot(0x0)/Pci(0x14,0x0)/Sata(0x4,0xFFFF,0x0)
BLK3: Alias(s):
PciRoot(0x0)/Pci(0x14,0x0)/Sata(0x5,0xFFFF,0x0)
BLK4: Alias(s): PciRoot(0x0)/Pci(0x14,0x0)/Sata(0x5,0xFFFF,0x0)/HD(1,MBR,0x0000D93B,0x800,0xAE8B000)
BLK5: Alias(s):
PciRoot(0x0)/Pci(0x14,0x0)/Sata(0x5,0xFFFF,0x0)/HD(2,MBR,0x0000D93B,0xAE8BFFE,0x3FF0002)
BLK6: Alias(s):
PciRoot(0x0)/Pci(0x14,0x0)/Sata(0x5,0xFFFF,0x0)/HD(2,MBR,0x0000D93B,0xAE8BFFE,0x3FF0002)/HD(1,MBR,0x00000000,0xAE8C000,0x3FF0000)
Press ESC in 3 seconds to skip startup.nsh or any other key to continue.
Shell> FS2:
FS2:\> cd CSG1300_bios_v46.01.05.00
FS2:\CSG1300_bios_v46.01.05.00\> ls
AfuEfix64.efi CSG1300_bios_v46.01.05.00.bin
2.4 Type in the following command highlighted in yellow to update BIOS.
Please check and make sure BIOS upgrade process is completed as shown below.
FS2:\CSG1300_bios..\> AfuEfix64.efi CSG1300_bios_v46.01.05.00.bin /p /b /n /k /me
+---------------------------------------------------------------------------+
| AMI Firmware Update Utility v5.12.02.2028 |
| Copyright (c) 1985-2019, American Megatrends International LLC. |
| All rights reserved. Subject to AMI licensing agreement. |
+---------------------------------------------------------------------------+
Reading flash ............... done
- ME Data Size checking . ok
- FFS checksums ......... ok
- Check RomLayout ........ ok.
Erasing Boot Block .......... done
Updating Boot Block ......... done
Verifying Boot Block ........ done
Erasing Main Block .......... done
Updating Main Block ......... done
Verifying Main Block ........ done
Erasing NVRAM Block ......... done
Updating NVRAM Block ........ done
Verifying NVRAM Block ....... done
Erasing NCB Block ........... done
Updating NCB Block .......... done
Verifying NCB Block ......... done
- Upload the ME image data to BIOS ME module..... done
- Update success for GBEA
- Update success for GBEB
- Successful Update Recovery Loader to OPRx!!
- Successful Update MFSB!!
- Successful Update FTPR!!
- Successful Update factory data partitions!!
- ME Entire Image update success !!
WARNING : System must power-off to have the changes take effect!
2.5 Note: in order to upgrade CPLD at the same time, system does not need to be power-cycled at this moment.
Type in "exit" to exit back to BIOS Boot Override menu.
FS2:\CSG1300_bios..\> exit
Step 3: CPU CPLD Upgrade
3.1 In BIOS setup menu "Save & Exit", select "UEFI OS (P4: ---)" to go to diagOS
Aptio Setup Utility - Copyright (C) 2020 American Megatrends, Inc.
Main Advanced IntelRCSetup Security Boot Save & Exit
/----------------------------------------------------+-------------------------\
| Save Options | |
| Save Changes and Reset | |
| Discard Changes and Reset | |
| | |
| Default Options | |
| Restore Defaults | |
| | |
| Boot Override | |
| Generic Flash Disk 8.07 | |
| UEFI: Generic Flash Disk 8.07, Partition 1 |-------------------------|
| P5: KINGSTON RBUSNS8180S3128GJ |><: Select Screen |
| P4: TS16ZBTMM1600 |^v: Select Item |
| UEFI OS (P4: TS16ZBTMM1600) |Enter: Select |
| UEFI: Built-in EFI Shell |+/-: Change Opt. |
| |F1: General Help |
| |F2: Previous Values |
| |F3: Optimized Defaults |
| |F4: Save & Exit |
| |ESC: Exit |
\----------------------------------------------------+-------------------------/
Version 2.19.1266. Copyright (C) 2020 American Megatrends, Inc.
3.2 System will boot into DiagOS.
Product: CSG1300
Accton Diagnostic Image: 0b.0b.01.13
Kernel Version: Linux 4.14.132
Kernel Build Date: Nov 12 14:22:45 CST 2020
Build Date: Thu Nov 12 14:12:53 CST 2020
net.ipv6.conf.all.disable_ipv6 = 1
NVDIR= /mnt/ssd11
Welcome to Accton diagnostic!
root@(none):/#
3.3 At the command prompt, type in "mount" to check the USB mounted.
root@(none):/# mount
rootfs on / type rootfs (rw)
devtmpfs on /dev type devtmpfs (rw,relatime,size=16414204k,nr_inodes=4103551,mode=755)
proc on /proc type proc (rw,relatime)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=666)
tmpfs on /dev/shm type tmpfs (rw,relatime,mode=777)
tmpfs on /tmp type tmpfs (rw,relatime)
tmpfs on /run type tmpfs (rw,nosuid,nodev,relatime,mode=755)
sysfs on /sys type sysfs (rw,relatime)
/dev/sda1 on /mnt/ssd11 type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/sda2 on /mnt/ssd12 type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/sdb1 on /mnt/ssd21 type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
/dev/sdb2 on /mnt/ssd22 type ext4 (rw,relatime,data=ordered)
/dev/sdc1 on /mnt/usb11 type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro)
root@(none):/#
3.4 Go to the USB folder where CPLD files are saved and execute the command highlighted in yellow below to update CPLD.
root@(none):/# cd /mnt/usb11/CSG1300_DNV_CPLD_V42/
root@(none):/..# cpldupd -u CPU_DNV CSG1300_DNV_CPLD_V42.jbc
Example output:
=== CPU_DNV CSG1300_DNV_CPU_V40.jbc ===
4A 41 4D 01 00 00 00 44 00 00 00 8C 00 00 02 E2
00 00 10 1D 00 00 11 72 00 00 11 E2 00 00 21 C7
00 01 66 61 00 01 D9 29 00 01 D9 29 00 00 07 D6
Update CPLD code from memory buffer 0x25618b0, filesize=0x1D92B
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: 0xCD0A
Calculated CRC: 0xCD0A
SIDEBAND BASE ADDRESS = 880000000
-->
Device #1 IDCODE is 0310A0DD
Warning: ignore CFM1 flag
Check Max 10 FPGA backup data ...
erasing Max 10 FPGA CFM0 block at sector 4 ...
erasing Max 10 FPGA CFM0 block at sector 5 ...
programming Max 10 FPGA CFM0 block at sector 4 ...
programming Max 10 FPGA CFM0 block at sector 5 ...
verifying Max 10 FPGA CFM0 block at sector 4 ...
verifying Max 10 FPGA CFM0 block at sector 5 ...
DONE
<--
Clock Count=4271739
Function returned success
exec_result: 0, exit code: 0; file format version: 2
spend_time=94s
3.5. Once Upgrade procedure is completed, please power-cycle the system (unplugg both power cords, wait for 10 seconds and plug them back in)
3.6. Boot the system into VOS and verify the CPLD version
Note: CPLD version should be changed before and after upgrade
Method 1 to check CPLD version: (supported in ALL VOS releases)
[admin@versa-flexvnf: ~] $ sudo i2cdetect -l
i2c-0 smbus SMBus iSMT adapter at dffba000 SMBus adapter <<<< iSMT is on i2c bus 0
i2c-1 smbus SMBus I801 adapter at e000 SMBus adapter
[admin@versa-flexvnf: ~] $ sudo i2cget -y 0 0x65 1 <<< i2c bus corresponding to iSMT in the above command
0x42 <<<<<<< CPLD version
Method 2 to check CPLD version:
Note: Command shown below, "vsm-vcsn0> show chassis cpld info cpu," is ONLY supported in VOS 21.1.3 or higher. This command is NOT SUPPORTED in VOS 21.1.2 or lower.
[admin@versa-flexvnf: ~] $ vsh connect vsmd
vsm-vcsn0> show chassis cpld info cpu
CPU CPLD Registers
--------------------------------------
BOARD Info (0x00) : 0a
CPLD Version (0x01) : 42
System State Control (0x20) : 0f
Reset Device 1 (0x21) : 7f
Reset Device 2 (0x22) : 07
Reset Device 3 (0x23) : 01
Interrupt State (0x30) : 08
Interrupt IF (0x31) : 18
Interrupt Mask (0x32) : 07
Watchdog Timer target (0x35) : cc
Watchdog Timer ev record (0x36) : cc
Watchdog Timer enable (0x37) : cc
Watchdog Timer count (0x38) : cc
Thermal Status (0x41) : 1f
USB Protec (0x44) : 03
PEX8714 status (0x45) : 03
vsm-vcsn0>
BIOS & CPLD upgrade DONE!