Skip to Content

CFW Command — Modem DFOTA

Remotely update the cellular modem firmware (DFOTA) by downloading a delta package, with phase and progress telemetry.


What is it for?

📡 Main use cases:

  • ⬆️ Update the cellular modem firmware in the field, without physical access
  • 🌐 Fix network or operator compatibility via remote update
  • 📊 Monitor the phase and progress of an ongoing update
  • 🏭 Force an update on the test bench, ignoring the battery check

DFOTA updates the modem firmware, not the device application firmware. It is a critical operation: an interruption mid-flash can render the modem unusable, which is why the device requires FULL battery unless explicitly overridden.


Commands

OperationSyntaxResponse
Trigger DFOTASCFW"<url>.pack"RCFW OK / RCFW ERR-…
Force (no brick-guard)SCFW^"<url>.pack"RCFW OK / RCFW ERR-…
Query stateQCFWRCFW<phase>,<pct>

Available from firmware v1.09.24.


SCFW — Trigger the update

SCFW"<url>.pack" SCFW^"<url>.pack"
  • The URL must start with http, https or ftp. Quotes are optional.
  • The ^ prefix forces the update skipping the battery brick-guard (intended for the test bench). Without ^, the device requires FULL battery.
  • The package is a directional delta with the name format <from>-<to>: it is applied over a specific source version to bring the modem to a target version.

Internally the device launches the update only with an active data context and monitors progress via modem notifications.

SCFW responses

ResponseMeaning
RCFW OKUpdate queued successfully
RCFW ERR-URLURL does not start with http/https/ftp
RCFW ERR-CONNModem not connected (no active data context)
RCFW ERR-BATBattery is not FULL (use ^ to force)
RCFW ERR-BUSYA DFOTA is already in progress
RCFW ERR-MEMNo memory to store the URL

Examples

// Trigger a normal update (requires FULL battery) >SCFW"http://fota.rinho.com.ar/dfota/v1-v2.pack"< >RCFW OK< // Force on the bench, ignoring the battery check >SCFW^"http://fota.rinho.com.ar/dfota/v1-v2.pack"< >RCFW OK< // Invalid URL >SCFWfota.rinho.com.ar/v1-v2.pack< >RCFW ERR-URL<

QCFW — Query phase and progress

QCFW

Response

RCFW<phase>,<pct>
PhaseStateDescription
0IdleNo DFOTA in progress
1RequestedUpdate queued, waiting to be triggered
2DownloadingDownloading the .pack package
3UpdatingApplying the delta to the modem
4OKLast update finished successfully
5ErrorLast update finished with an error

The <pct> field (3 digits, 000-100) indicates the progress of the updating phase. The phase is preserved after finishing, so QCFW lets you query the result of the last update remotely.

Examples

// Query during download >QCFW< >RCFW2,045< // phase 2 (downloading), 45% // Query with the update finished >QCFW< >RCFW4,100< // phase 4 (OK), 100% // Query with no update in progress >QCFW< >RCFW0,000< // idle

See Also

Compatibility

💾Firmware:v1.09.24
SP-IOT
SM-IOT
ZE-IOT
Last updated