Software/Firmware Upgrade through API

Configuration Backup

Although the system configuration will not change upon the software upgrade, creating a backup file of the configuration is mandatory by exporting the complete configuration before any software upgrade.

 

The MCM-9000 software is delivered on a USB Flash disk (DoK). Besides Online and Offline Software Upgrade, it is possible to do software upgrades through API.

To perform a Software or Firmware upgrade through API, follow the below steps:

 

1. Download Latest Files

Login to TagVS Storage Center and download the latest files: "MCM-9000_vxxxx.rar" (software) and "Firmware_vxxxx.rar" (firmware).

2. Upload Software to Device

Use the following command to upload software to the GUI.

POST Resource URL : http://{host}/api/2.0/system_files/command/UploadFile/software

Please refer to API documentation here.

For Example, http://192.168.10.131/api/2.0/system_files/command/UploadFile/software

Under the body section on the POSTMAN, insert the KEY as data[File][0], upload the MCM file to upgrade under the VALUE field as shown below, and click Send.

Screenshot 2024-01-25 103717.png
{ "Task": { "id": 773281, "device_id": 9898, "type": "Software Ingest", "type_id": 23, "mode": "Starting", "mode_id": 1, "status": null, "description": null, "total": 0, "completed": 0, "time_remained": 0, "modified": "1706159122746" } }

 

3. Select the next boot image

Use the following command to GET “next_boot_image“ from the response.

GET Resouce URL : http://{host}/api/2.0/devices/{id}/.json

Please refer to API documentation here.

Screenshot 2024-01-11 160402.png

 

For example, http://192.168.10.131/api/2.0/devices/9898/.json

 

{ "Device": { "id": 9898, "is_conected_device": 1, "title": "MCM9000-SN:9898", "color": "#8f6ce0,#abd93f", "sys_up_time": "1702843699579", "sys_running_time": "2128004930", "current_time": "1704971704509", "stack_title": null, "series": "MCM-9000 Series", "model": "MCM-9000", "serial": "9898", "version": "6.3.5", "hardware_desc": "Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz (x16), 16 GB Ram", "capability_desc": "88 Channels", "license_sharing": 1, "active_licenses": 5.6, "total_licenses": 0, "active_weight": 25, "total_weight": 68, "active_decoders": 5, "active_recorders": 0, "active_fingerprints": 3, "active_descramblers": 0, "active_uncompressed": 0, "active_encoders": 0, "working_mode_id": 1, "current_active_image": 1, "next_boot_image": 2, "modified": "1704971704509", "status_stack_title": null, "ntp_offset": 177.411, "ntp_offset_age": 5, "ntp_drift": null, "ntp_sync": 1, "max_rec_time": 0, "cur_rec_bandwidth": 0, "status_id": 4, "ip_address": "192.168.10.131", "licensed_features": 254, "license_expiration": null, "Ldap": { "enabled": 0, "host": "", "port": 389, "version": 3, "secured": 0, "bindDN": "uid=test,ou=people,dc=testlab,dc=com", "network_id": 0, "bindPassword": "", "baseSearchDN": "dc=testlab,dc=com", "userLoginAttribute": "uid", "userSearchFilter": "(objectClass=*)", "groupMembershipAttribute": "memberuid", "groupSearchDN": "cn=mcm9000,ou=group,dc=testlab,dc=com" }, "statistics": { "cpu_freq": { "min": 2.29, "avg": 2.29, "max": 2.29 } }, "stacking_multicast": "229.245.235.211", "stacking_port": "65513", "cloud_license": "TjJTjL0H0XCNoHQXJQFCA8qGcFOHCU0PYO8BwesR", "license_server_host": "lic.srvc.tagvs.com", "disable_http_access": "0", "disable_ftp_access": "0", "disable_ftps_access": "0", "nmos_settings": "registry=1.1.1.1:1111", "ndi_discovery_servers": null, "ssh_admin_password": null, "nielsen_monitoring_license": null } }

The “next_boot_image” id is needed in step 4 to select the right image to be upgraded.

 

4. Set next boot image from the dropdown

By default the current image is choosen in the dropdown list of the Next Boot Image. To choose the latest image uploaded use the image_id. Here, the latest image to be upgraded is the Image-2 | firmware:1.1.8 software:6.3.7. Hence, image_id = 2. (image_id is the id from next_boot_image in step 3)

Use the following command to choose the image from the drop down list.

GET Resource URL : http://{host}/api/2.0/devices/switchBootImage/{image_id}/.json

Please refer to API documentation here.

For example, http://192.168.10.131/api/2.0/devices/switchBootImage/2/.json

 

{ "Task": { "id": 355905, "device_id": 9898, "type": "Switch Boot Image", "type_id": 4, "mode": "Starting", "mode_id": 1, "status": null, "description": null, "total": 0, "completed": 0, "time_remained": 0, "modified": "1704971865885" } }

5. Finally reboot the System

Use the following command to reboot the System.

GET Resource URL : http://{host}/api/2.0/devices/command/hardReset/.json

Please refer to API documentation here.

For example, http://192.168.10.131/api/2.0/devices/command/hardReset/.json