CPE Firmware
The CPE Firmware page is a catalog of known router firmware versions. There is one row per (manufacturer, model_name, hardware_version) combination. When a CPE phones home via TR-069, the ACS looks up its model here to know what firmware is considered current. The catalog ships pre-seeded with roughly 30 common ISP-grade router models so you do not have to configure each router type by hand as it registers.
This is the firmware-image side of CPE management. The live router inventory — the devices that have actually registered, their WiFi, connected clients, and reboot controls — lives on the CPE Devices page. This page only defines what firmware exists; it does not by itself push anything.
How to get here
Section titled “How to get here”Sidebar -> CPE Firmware. Direct URL: /cpe-firmware.
Requires cpe.firmware.view. Note that the whole CPE route group also requires cpe.view, so a user needs both cpe.view and cpe.firmware.view to load the catalog.
Layout
Section titled “Layout”The catalog is grouped by manufacturer. Each manufacturer is a collapsible card with a header showing the manufacturer name and a model count; inside each card is a table of that manufacturer’s models.
| Element | What it shows |
|---|---|
| Header | ”CPE Firmware Catalog” title, short description, and Add Entry button (if permitted) |
| Filter bar | Search box, Manufacturer dropdown, “Active only” checkbox, entry count |
| Manufacturer card | One per manufacturer, with model count, containing the model table |
Column definitions
Section titled “Column definitions”| Column | Source field | Notes |
|---|---|---|
| Model | model_name | The router model name. |
| HW Version | hardware_version | Hardware revision, e.g. V2.0. May be blank. |
| Latest SW | latest_software_version | The firmware version considered current for this model. |
| Size | file_size_bytes | Rendered as KB / MB. Shows a dash when zero. |
| Firmware URL | firmware_url | Opens the download link in a new tab. If blank, shows an orange “ISP-channel only” marker — firmware is delivered out of band, not from a URL. |
| Notes | notes | Free-text operator notes. |
| Status | is_active | ”Active” (green) or “Disabled” (gray). |
Filters
Section titled “Filters”Search
Section titled “Search”Case-insensitive ILIKE %query% across manufacturer, model_name, and latest_software_version.
Manufacturer
Section titled “Manufacturer”Dropdown populated from the distinct list of manufacturers in the catalog (active entries only). Selecting one applies WHERE manufacturer = ?.
Active only
Section titled “Active only”When checked, restricts the list to is_active = true.
Adding and editing entries
Section titled “Adding and editing entries”Click Add Entry (requires cpe.firmware.create) or the pencil icon on a row (requires cpe.firmware.edit) to open the form. Fields:
| Field | Required | Notes |
|---|---|---|
| Manufacturer | Yes | e.g. Cudy, MikroTik, TP-Link. |
| Model Name | Yes | e.g. WR1300, Archer C6, hAP ac². |
| Hardware Version | No | e.g. V2.0; leave blank if the model has no revision. |
| Latest Software Version | No | e.g. 2.4.22. |
| Firmware Download URL | No | Leave blank for ISP-channel firmware. |
| File Size (bytes) | No | Used only for display. |
| TR-069 FileType | No | Defaults to 1 Firmware Upgrade Image (the TR-069 firmware-upgrade file type). |
| Checksum | No | Optional SHA256 or MD5 hex string. |
| Checksum Algorithm | No | SHA256, MD5, or none. |
| Notes | No | Operator notes. |
| Active | — | When on, the ACS will offer this firmware to matching CPEs. Defaults to on. |
Edits use a field whitelist on the backend, so only the catalog fields above can be written — system columns like id and created_at are protected from mass-assignment.
Deleting entries
Section titled “Deleting entries”The trash icon (requires cpe.firmware.delete) hard-deletes the row after a confirmation prompt. There is no soft delete: a row going away simply means you no longer track that model, and it does not affect any CPE already registered.
Common workflows
Section titled “Common workflows”Register a new router model the ISP starts shipping
Section titled “Register a new router model the ISP starts shipping”- Click Add Entry.
- Fill in Manufacturer and Model Name (required), plus Hardware Version if the model has revisions.
- Set Latest Software Version to the firmware you want treated as current.
- Add the Firmware Download URL, or leave it blank and note “ISP-channel only” if you push firmware out of band.
- Leave Active on and save.
Publish a newer firmware version for an existing model
Section titled “Publish a newer firmware version for an existing model”- Search for the model, or filter by its manufacturer.
- Click the pencil icon on the row.
- Update Latest Software Version, Firmware URL, File Size, and Checksum.
- Save. The row now reflects the new “current” firmware.
Retire a model
Section titled “Retire a model”- Edit the row and turn Active off to stop the ACS offering it, while keeping the record for reference. Or
- Delete the row entirely if you no longer want to track the model at all.
Permissions
Section titled “Permissions”| Permission | Effect |
|---|---|
cpe.view | Required to reach any CPE route, including this catalog. |
cpe.firmware.view | Loads the catalog and the manufacturer list. |
cpe.firmware.create | Shows the Add Entry button and allows creating rows. |
cpe.firmware.edit | Shows the edit (pencil) icon and allows updating rows. |
cpe.firmware.delete | Shows the delete (trash) icon and allows removing rows. |
Related pages
Section titled “Related pages”- CPE Devices — the live inventory of registered TR-069 routers (WiFi, connected clients, reboot). This catalog defines the firmware those devices are checked against.
- NAS / Routers — the BNGs that terminate PPPoE, separate from customer-premises CPE.