openwisp / openwisp/openwisp-controller

[feature] Add board_name field to Device model for DTB board identification

Open
#1,491 0 comments 0 reactions 1 assignee View on GitHub

@atif09 is already working on this.

Since Sep 18, 2026.

enhancement gsoc
Dominant language
Python
Stars
773
Forks
315
Avg merge
2d 16h
Merged PRs (30d)
14

Description

Is your feature request related to a problem? Please describe.

NOTE : This is a follow-up issue related to the GSoC 2026 project: Automatic Extraction of OpenWrt Firmware Image Metadata

The firmware upgrader module currently pairs firmware images to devices only via Device.model == FirmwareImage.board (exact match).

Multi-board OpenWrt images (one image supporting several hardware variants, distinguished only by DTB compatible strings) can't have a single board value, so they always require manual confirmation. Metadata extraction already populates each image's compatible list (openwisp-firmware-upgrader#437), but Device has no comparable field to match against.

Describe the solution you'd like

Add board_name field to the Device model to store the device's DTB board identifier (e.g. tplink,archer-c7-v2):

  • CharField, blank/nullable, indexed if firmware-upgrader will filter on it
  • Auto-populated from registration data, not user-editable (same treatment as os/system)
  • Exposed in the REST API device serializer
  • Migration included

This issue only adds the field. Populating it is a separate issue in openwisp-config

Describe alternatives you've considered

Keep pairing limited to board only, leaving multi-board images permanently dependent on manual confirmation. Works, but means a human has to intervene even when the device's hardware is unambiguous from its DTB identifier.

Additional context

Device.model is already populated the same way: read from the device during registration and stored automatically. board_name follows the identical mechanism, just carrying the DTB-format identifier instead of the human-readable one.

Depends on openwisp-config#282
Depends on openwisp-firmware-upgrader#493

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.