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
| Operation | Syntax | Response |
|---|---|---|
| Trigger DFOTA | SCFW"<url>.pack" | RCFW OK / RCFW ERR-… |
| Force (no brick-guard) | SCFW^"<url>.pack" | RCFW OK / RCFW ERR-… |
| Query state | QCFW | RCFW<phase>,<pct> |
Available from firmware v1.09.24.
SCFW — Trigger the update
SCFW"<url>.pack"
SCFW^"<url>.pack"- The URL must start with
http,httpsorftp. 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
| Response | Meaning |
|---|---|
RCFW OK | Update queued successfully |
RCFW ERR-URL | URL does not start with http/https/ftp |
RCFW ERR-CONN | Modem not connected (no active data context) |
RCFW ERR-BAT | Battery is not FULL (use ^ to force) |
RCFW ERR-BUSY | A DFOTA is already in progress |
RCFW ERR-MEM | No 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
QCFWResponse
RCFW<phase>,<pct>| Phase | State | Description |
|---|---|---|
0 | Idle | No DFOTA in progress |
1 | Requested | Update queued, waiting to be triggered |
2 | Downloading | Downloading the .pack package |
3 | Updating | Applying the delta to the modem |
4 | OK | Last update finished successfully |
5 | Error | Last 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< // idleSee Also
Compatibility
💾Firmware:v1.09.24
SP-IOT
SM-IOT
ZE-IOT
Last updated