Skip to content

Phone Firmware

The Phone Firmware screen lets administrators install, upgrade, and uninstall vendor firmware bundles independently of one another. The list comes from a catalog file shipped by the thirdlane-phone-firmware package; each row corresponds to a single firmware RPM in the thirdlane-firmware yum repository.

What changed from Template Bundles

Previously a single “Template Bundles” RPM combined per-vendor templates and firmware. As phone vendors shipped larger firmware images (Yealink alone is now over 2 GB), bundling the two together made every install push 5 GB of files to disk - even on systems that only needed a couple of phones.

Templates and firmware are now separate concerns:

  • Templates install automatically with the platform via the thirdlane-phone-templates-mte (multi-tenant) or thirdlane-phone-templates-ste (single-tenant) RPM. They cover all supported phones at once and do not appear in the Configuration Manager UI - there is nothing for an administrator to do.
  • Firmware is admin-managed on this screen. Each vendor (or model family, when a vendor is too big to ship as one RPM) is its own bundle. Install only the bundles you actually need.

If a phone you’ve configured doesn’t have firmware installed, nothing breaks - the phone simply won’t be able to download a firmware update during provisioning. Configuration files are still served as usual.

The grid

ColumnMeaning
VendorDisplay name from the catalog (e.g. Yealink, Yealink (T5X family)).
BundleRPM name (e.g. yealink-firmware, yealink-firmwareT5X).
ModelsComma-separated list of phone models whose firmware ships in this bundle.
Size, GBDisk footprint after install, read from repo metadata at fetch time (%{installsize} in GiB).
Installed VersionCurrently-installed RPM version, or blank if not installed.
Available VersionLatest version available in the thirdlane-firmware repo.

Per-row actions

  • Install - yum install <bundle> -y. Use this for a fresh install.
  • Upgrade - yum update <bundle> -y. Use this when Available Version is newer than Installed Version.
  • Uninstall - yum remove <bundle> -y. Confirms before removing because phones whose firmware is provisioned from the bundle will no longer be able to download new firmware files (existing config files are unaffected).

Operations can take several minutes for large bundles (multi-GB Yealink images); the UI shows a progress prompt and refreshes the row when finished.

Firmware files install to local disk on the manager (under the provisioning directory, typically /home/PlcmSpIp/FIRMWARE-<VENDOR>/...) and are served to phones from there. When the deployment is configured for external provisioning with S3 transport, a background cron job rsyncs the new files up to the configured bucket - the Phone Firmware screen itself never installs directly to S3.

Catalog file

The screen reads /home/PlcmSpIp/thirdlane-phone-firmware.txt, which is dropped by the thirdlane-phone-firmware RPM. The file is INI-style:

[fanvil-firmware]
vendor=Fanvil
models=pa2, v62, v64, v65, v66, v67, w611w, x210, x210i, x301, ...
[yealink-firmwareT5X]
vendor=Yealink (T5X family)
models=T53, T53C, T53W, T54W, T57W, T58A, T58W

Section header is the RPM name. The catalog supplies vendor and models (UI presentation only); the bundle’s installed size comes straight from repo metadata (dnf repoquery --queryformat '%{installsize}') so it always reflects the actual rpm. Older catalogs that still carry size= lines are accepted but the value is ignored. If the catalog file is missing the grid is empty and a hint suggests installing thirdlane-phone-firmware.

Updates

Because the renamed packages live in the thirdlane yum repo and start with thirdlane-, the platform’s System Update Manager tracks thirdlane-phone-templates-{mte,ste} and thirdlane-phone-firmware automatically. The per-vendor firmware RPMs (fanvil-firmware, yealink-firmware, …) are intentionally not surfaced there - they are managed only on this screen, so admins can pick when (and which) firmware to upgrade.

Provisioning settings vs phone firmware

This screen only manages the firmware files that phones download. The provisioning-server settings (HTTP/HTTPS/FTP/TFTP toggles, credentials, external server URL) live on Provisioning Settings. The Managed Device form shows a small badge near the top listing which of those services are currently enabled, so you can confirm at a glance that the phone you’re editing can actually fetch its files.

Custom templates

To customize templates beyond what ships in thirdlane-phone-templates-{mte,ste}, use /etc/asterisk/user_provisioning/ (system-wide) or /etc/asterisk/user_provisioning/<tenant>/ (per-tenant). The platform looks at models.txt in user_provisioning/ first, then provisioning/. Template files are searched in the same order: user_provisioning/<tenant>/, user_provisioning/, then provisioning/. Never modify files under /etc/asterisk/provisioning/ - they are overwritten on every template-package upgrade.

To request a firmware bundle for an unsupported phone, contact support@thirdlane.com.