Disclaimer: Proceed with caution. Firmware upgrades should be performed by qualified technicians only.
SMARTOLT is not responsible for any damage, data loss, or service interruption resulting from incorrect procedures or incomplete upgrades.

This guide provides step-by-step instructions for upgrading your ZTE C3xx OLT from firmware version 1.2.x to 2.1.0. You will need a local FTP server (for example, FileZilla, 3CDaemon, or the MikroTik internal FTP service, if sufficient flash storage is available). This walkthrough does not cover FTP server setup, like ports, users and permissions.

Place the new firmware files on that FTP server before proceeding.

Step 1 – Pre-Upgrade Checks

Identify the current OLT hardware and software status with the command show card.
The most common control card types are SMXA (C320) or SCXN / SCXNT-00 / SCXM / SCTMB (C300).

ZXAN# show card
Rack Shelf Slot CfgType RealType Port    HardVer SoftVer         Status
-------------------------------------------------------------------------------
1    1     0    PRWG    PRWG     N/A     090301                  INSERVICE    
1    1     1    PRWG    PRWG     N/A     090301                  INSERVICE    
1    1     2    GTGH    GTGHK    16      151202  V1.2.5P3        INSERVICE    
1    1     3    GTGH    GTGHK    16      151202  V1.2.5P3        INSERVICE    
1    1     4    GTGH    GTGHK    16      151202  V1.2.5P3        INSERVICE    
1    1     10   SCXM    SCXM     N/A     090700  V1.2.5P3        INSERVICE    
1    1     11   SCXM    SCXM     N/A     090700  V1.2.5P3        STANDBY      
1    1     19   HUVQ    HUVQ     4       120300  V1.2.5P3        INSERVICE    
1    1     20   HUVQ    HUVQ     4       120300  V1.2.5P3        INSERVICE    

Step 2 – Save and backup the running configuration

Save the running configuration so it can be restored later if needed, with the write command.

Then upload the saved configuration file to the FTP server.
Replace the placeholders below with your FTP credentials.
 

ZXAN# write
Backuping old configuration into flash...
Collecting configuration into memory....
Writing configuration into flash.....[OK]

ZXAN# upload cfg startrun.dat ftp ipaddress <ftp_server_IP> path <folder/> user <ftp_user_name> password <ftp_password>
Tip: Keep a local backup copy as well, in case remote FTP access is unavailable during recovery, using the command copy master cfg startrun.dat master cfg startrun.old

Step 3 – Clean Up Old Files

Before uploading new image files, delete unnecessary files for inexistent cards, to free up storage space.
Important: Do not delete files used by active cards.

Files starting with e* are for EPON cards. If you are using EPON, skip deleting those files.


ZXAN# dir img
ZXAN# delete img c*
ZXAN# delete img e*
ZXAN# delete img gtgoa*
ZXAN# delete img gtgod*
ZXAN# delete img gtxo*
ZXAN# delete img x*

Step 4 – Upload new version 2.1.0 files

Transfer the new system image files for version 2.1.0 to the OLT using your FTP server. Make sure you have the files for the correct controller cards and the existent service cards.

ZXAN# download img * ftp ipaddress <ftp_server_IP> path <ftp_folder> user <ftp_user_name> password <ftp_password>

Step 5 – Update the boot sector of each card

This step is very important. Some cards will not start under version 2.1.0 unless their boot sectors are updated. Update only the slots that contain active cards.

ZXAN# update-boot slotno 1
ZXAN# update-boot slotno 2
...
ZXAN# update-boot slotno 20

Step 6 – Reboot the OLT

Once all boot updates are complete, save and reboot the OLT system.

ZXAN# write
ZXAN# reboot
Note: After the first reboot, the OLT may take approximately 20–25 minutes to fully boot up. Do not power off or interrupt the process during this time.

Step 7 – Install Post-Upgrade Patches

After the reboot, remove old patches and install the new patch package for version 2.1.0

ZXAN# file del patch *
ZXAN# file download patch * ftp ipaddress ftp_ip path folder_patch/ user user_name password password_value
ZXAN# patch active package v210_xgp002.2.spat
ZXAN# write
ZXAN# reboot

Step 8 – Post-upgrade validation

After the final reboot, perform these validation checks:

SCXM cards show INSERVICE and STANDBY.

All the other service and uplink cards show status INSERVICE.


ZXAN# show card
Rack Shelf Slot CfgType RealType Port  HardVer SoftVer         Status
-------------------------------------------------------------------------------
1    1     0    PRWG    PRWG     0     V1.0.0                  INSERVICE
1    1     1    PRWG    PRWG     0     V1.0.0                  INSERVICE
1    1     2    GTGH    GTGHK    16    V1.0.0  V2.1.0          INSERVICE
1    1     3    GTGH    GTGHK    16    V1.0.0  V2.1.0          INSERVICE
1    1     4    GTGH    GTGHK    16    V1.0.0  V2.1.0          INSERVICE
1    1     10   SCXM    SCXM     0     V1.0.0  V2.1.0          INSERVICE
1    1     11   SCXM    SCXM     0     V1.0.0  V2.1.0          STANDBY
1    1     19   HUVQ    HUVQ     4     V1.0.0  V2.1.0          INSERVICE
1    1     20   HUVQ    HUVQ     4     V1.0.0  V2.1.0          INSERVICE


Once the OLT is back online, in SmartOLT → OLT settings push the Test connection button, and the new firmware version will be autodetected by the system.

Success: Your ZTE C3xx OLT is now running firmware version 2.1.0.