Camera Firmware Update Manager
(August 6th, 2018)
This document covers the Camera Firmware Update Manager (aka CFUM) and some of the important features of the capability. There are two other documents that you should leverage to make use of CFUM:
Viakoo’s Camera Firmware Update Manager (CFUM) is an optional feature for both VIAKOO_PREEMPTIVE and VIAKOO_PREDICTIVE customers that provides a comprehensive, enterprise-class solution for device upgrades. The solution works across a variety of camera models and VMS manufactures. It is scalable and supports large numbers of devices deployed across complex organizational and geographic networks all from a single console.
There are three intended users of CFUM:
- Security Executives wanting to know whether their infrastructure is compliant and having auditable procedures around upgrades.
- Senior Techs who need a safe and secure way to define firmware policies, test firmware for various kinds of camera makes and models before enabling more junior techs to perform batch upgrades.
- Junior Techs who may be responsible for getting a distributed infrastructure in compliance in a foolproof ways.
Process of Managing Camera Firmware Compliance
CFUM provides a platform on which you can:
- Define standards of compliant firmware versions for each make & model in your inventory
- Assess your inventory to its compliance with these manually inputted standards
- Test firmware files on representative devices
- Scheduling batch upgrade jobs
- Audit the outcomes and adhere to policies and procedures
This document is laid out in the following sections:
- Firmware Profiles & Compliance - Concepts behind CFUM
- Quick Overview - Overview of main screens
- Getting Started - Step-by-step of how to start leveraging CFUM
Firmware Profiles & Compliance
A cornerstone in Viakoo’s CFUM is the way users can securely and safely specify firmware versions for each make and model of camera in their inventory in the definition of Firmware Profiles. The Firmware Profile allows users to define and share firmware specifications in a way that is safe and secure. A Firmware Profile associates the following things in single bundle:
- Camera Make
- Camera Model
- Firmware File
- Firmware Version
Firmware Administrators load firmware files into Viakoo as part of the process of creating a new Firmware Profile object. Firmware Profiles are always associated with a specific make and model. The file and its associated profile are “untrusted” in this initial state and must go through a validation (“Test Upgrade”) with at least one device of that make and model.
The first SUCCESSFUL upgrade will permanently associate the Firmware Profile with the Firmware Version string the camera returns following the upgrade. This guarantees that the file submitted to Viakoo actually works for the given make and model AND is actually a specific firmware version. This protects users from submitting the wrong file for a large upgrade or mistyping the firmware version string associated with a specific file.
Following a successful upgrade, the Firmware Profile becomes eligible for Publishing. A Published Firmware Profile is then eligible for “bulk” upgrade jobs (i.e., upgrading more than one device in a single job) as well as it makes the Firmware Profile available for other users to use in upgrade jobs as well.
The Viakoo system automatically tags every camera as either being COMPLIANT, NONCOMPLIANT, or UNKNOWN with respect to user define firmware standards.
By “publishing” a firmware profile into a specific context (e.g,. for their entire company, one of their regions or down to a single site), Users are defining a version of firmware that is “COMPLIANT” for any device of the same associated make and model. This creates a situation where it is easy for users to identify the state of their inventory of devices as well as which devices need to be upgraded
Firmware administrators have control to use published Firmware Profiles to set or unset compliance definitions at any contextual level in their organizational hierarchy. For example, a given version of Firmware may contain a critical fix for nearly all their infrastructure. Publishing this at their “Company” level instructs Viakoo to determine compliance for all cameras of the associated make and model according to their compliance with this FW Profile’s firmware version. However, a particular site may be running an older version of VMS software that does not currently support this version of firmware. For this site, the Firmware Administrator can “unset” this profile. This will cause Viakoo to tag devices in this site only of this make, model and firmware as “NONCOMPLIANT,” but only for devices in this local context.
Multiple Firmware Profiles
Because some VMS’s can support a range of firmware versions for a particular make and model, Firmware Administrators can define more than one Firmware Profile for a particular make and model. Device compliance status (see “Compliance View” below for further explanation of “Compliance Status”) will be based on the combination of all published firmware profiles that are “set” or “unset” for its context.
Because published Firmware Profiles are used to define compliance, Firmware Administrators may want to define compliance without having to submit a file. This can happen for the following reasons:
- All devices are already running a compliant version of firmware so there is no device to use in “testing” a new Firmware Profile.
- A particular make of device in your inventory doesn’t yet have supported drivers in the Viakoo Agents but firmware versions have been captured from the VMS configuration.
- Firmware Administrators want to get a compliance assessment without having to go through the process of doing numerous test upgrades.
For these reasons, Viakoo allows Firmware Administrators to create “Version-Only” Firmware Profiles. These profiles cannot be used to upgrade cameras, but users can submit a profile with simply aa manually entered version to use in compliance checks.
High-Level Tour of CFUM
The ‘Firmware’ tab will appear in the your Dashboard. If you don’t see it, ask your Viakoo rep for details.
Under the “Firmware” tab, there are three primary sub-tabs:
- Compliance to provide a high-level dashboard view and an easy way to view inventory
- Upgrade Jobs to provide a view of executed, running and scheduled upgrade jobs.
Profiles to show and define firmware compliance definitions down to each make and model of camera
The Compliance subtab provides a global scope of your firmware compliance of your devices from whatever your current navigation context might be.
Any device in your infrastructure can be in one of 3 compliance states:
- COMPLIANT(GREEN) - It is running a version of firmware that has been approved for its context based on published firmware profiles.
- NONCOMPLIANT(RED) - It is not running a “Compliant” version of firmware OR it is running a version that is explicitly “Not Compliant” based on published profiles.
- UNKNOWN(GREY) - Either it is a model which has no explicit “Compliant” or “Not Compliant” profile definition; or it is a model of camera or VMS that does not support collecting firmware values at this time.
The COMPLIANCE sub-tab provides a view of all cameras and their compliance levels as well as a breakdown by camera manufacture (make). By clicking on the inner circle of any camera make, you can drill down to view all the models of the selected manufacturer.
Since firmware levels and firmware files are associated with individual models of devices, not only does this view summarize the compliance status of your inventory for each model of the chosen manufacturer, the system supports this process by letting you launch upgrade jobs or add firmware profiles directly from this point.
Launching Upgrade Jobs
You can launch an upgrade job directly from the compliance view by simply selecting a make and then click the “Upgrade Cameras” button for the model of camera you wish to upgrade.
This takes you a control that makes you select on from the available published versions of firmware (firmware profile) defined and tested for the given make and model of camera. This is necessary because you may have more than one available firmware files for a given make & model of camera, or you not have any, in which case you’ll have to go through the process of submitting and testing firmware profiles (see “Getting Started”).
After you select a firmware profile to use in an upgrade job, you will be given a chance to configure the job itself. The control transforms into a view that allows you to:
- Give the job a label (title) so you can recognize it later,
- Schedule when you want the job to run (could be right away),
- Select all or individual cameras that should be in the upgrade job.
- then Submit the job or Cancel it.
Because the list can be quite large, you may want to filter the list down to cameras at a particular site or running on a recorder. The filter button allows you to prune the list of cameras to just those that meet clear criteria. In this way, a 1000 cameras can be paired down to a manageable few to select from.
Monitoring Upgrade Jobs
Upgrade jobs take time since upgrading a single camera can take several minutes to start and several minutes to complete. When you launch an upgrade job, the upgrade status of a device can be in one of the following states:
- PENDING - waiting to begin the upgrade process
- IN PROGRESS - upgrade command has been issued to the device and the system is waiting for the upgrade to complete.
- SUCCESS - the camera has completed the upgrade and is now running the new version of firmware.
- REVERTED - the camera is functioning but something has interrupted the process such that it is still running the firmware it was running prior to the upgrade. This can happen if the login credentials for the camera don’t work (e.g., incorrect user name or password)or the camera rejects the firmware and rolls back to the version it was running before the upgrade, or
- FAILED - if after the upgrade has started, it fails to return to life.
CANCELLED - If a user ABORTS (“STOPS”) and upgrade job before the upgrade can begin.
This translates into outcome displays to indicate when jobs are pending, what’s happening to jobs that are in progress and what happened for jobs that have completed.
Each row in the Upgrade Jobs overview gives a summary of a separate job that is broken down as follows:
Clicking on a job will take you to a detailed job review where you can examine the outcome of the job on each individual device.
From this view, you can see the progress of each individual device as it upgrades and review details about each completed job.
The Profiles sub-tab of CFUM provides a summary of all published profiles for the current context (see above). For Firmware Administrators (i.e., users whose role is Administrator(FW) for the current context), this is also the place they can go to create, test and publish new Firmware Profiles as well as set or unset compliance using published profiles.
For Staff users or Administrative users who are not Firmware Administrators, they will see a more reduced form of this view:
In this way, Firmware Administrators can define and test firmware profiles, publishing the profiles that fit their infrastructure's requirements, and then overall firmware compliance ratings will be automatically derived from these settings and other members of the team can leverage these published profiles to execute bulk upgrades.
Please review the "CFUM Getting Started Guide" and "CFUM Support Matrix" for more information on CFUM.
Note: Because compliance settings are determined whenever the Viakoo system reads data from your sites, camera compliance status and overview dashboards information will not happen instantaneously but will occur whenever the data gets processed for each site in turn. Depending on your product settings that could be up to 20 minutes to 1 hour.
Moreover, compliance settings are based on firmware version numbers (or strings). Viakoo agents get this information directly from the cameras themselves if there is a supported driver or from the VMS (if that is supported from the VMS). Check the CFUM Support Matrix document in this section.