Skip to content

gl-mt2500-v2: stop shipping Airoha firmware in the BSP - #10686

Merged
igorpecovnik merged 1 commit into
mainfrom
fix/gl-mt2500-v2-firmware-conflict
Sep 12, 2026
Merged

igorpecovnik merged 1 commit into
mainfrom
fix/gl-mt2500-v2-firmware-conflict

Conversation

@igorpecovnik

@igorpecovnik igorpecovnik commented Sep 12, 2026

Copy link
Copy Markdown
Member

What is broken

Every Gl-mt2500-v2 image build fails when dpkg unpacks the BSP:

dpkg: error processing archive armbian-bsp-cli-gl-mt2500-v2-edge_26.11.0-trunk.44_arm64...deb (--unpack):
 trying to overwrite '/lib/firmware/airoha/EthMD32.dm.bin',
 which is also in package armbian-firmware (26.11.0-trunk.44)

Seen in armbian/ci run 34548029496 (Gl-mt2500-v2_trixie_edge_6.16.y_minimal).

Why

Two packages started claiming the same paths, six days apart:

date event
2026-09-04 #10598 adds this board, whose config downloads airoha/EthMD32.{dm,DSP}.bin into the bsp-cli package
2026-09-10 armbian/firmware 2a9e1c19"airoha: add EN8811H 2.5G PHY firmware" — adds the same two files to armbian-firmware

armbian-firmware is installed first, so the BSP unpack is the one that dies. dpkg will not let two packages own a path, and neither declares a Replaces:.

Nothing was wrong with the board config when it was written — the firmware simply moved into the shared package six days later.

Fix

Drop the whole download hook: both the firmware and the licence text.

  • armbian-firmware provides the firmware now.
  • The licence belongs with whoever ships the blobs, not with a board package that no longer does.
  • It also removes this board's build-time dependency on a GitLab API endpoint (two curl fetches plus sha256 checks that had to be kept in step with an external repo).

The initramfs hook is unchanged and still does add_firmware "airoha/EthMD32.dm.bin" / .DSP.bin; those files now come from armbian-firmware, which is installed before the BSP, so the hook still resolves them.

Net: 8 insertions, 30 deletions.

gl-mt2500-v2 is the only board config that shipped airoha firmware (grep -rln airoha config/boards/), so nothing else needs the same treatment.

Two follow-ups, deliberately not in here

  1. armbian/firmware ships the EN8811H blobs without a LICENSE.airoha (it is not in that repo's LICENSES/). Since this board package no longer carries it either, the licence text is now absent from images. Adding it to armbian/firmware alongside the blobs would be the right home.
  2. The initramfs hook calls add_firmware without || true, whereas board: add Banana Pi R3 Mini #10678 (BPi R3 Mini) uses || true for the same two files. Now that the firmware comes from a separate package, a system without armbian-firmware would fail update-initramfs on every kernel upgrade rather than warn. Worth aligning.

Signed-off-by: Igor Pecovnik igor@armbian.com

@coderabbitai

coderabbitai Bot commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: c6374bc2-9f60-4667-b3a6-4549d070e9c1

📥 Commits

Reviewing files that changed from the base of the PR and between 7c1bb29 and 6940d63.

📒 Files selected for processing (1)
  • config/boards/gl-mt2500-v2.csc

Included review availability: Your plan provides up to 8 included reviews per hour; 7 remain after this review.


📝 Walkthrough

Walkthrough

The GL-MT2500 v2 board configuration no longer downloads EN8811H firmware blobs. It retains license retrieval and relies on the armbian-firmware package for firmware installation.

Changes

Airoha firmware packaging

Layer / File(s) Summary
Update firmware source handling
config/boards/gl-mt2500-v2.csc
The board hook removes EN8811H firmware downloads and SHA-256 validation. It continues to create the license destination and fetch the Airoha license.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~10 minutes

Change: Bug fix

Suggested reviewers: jiay-shi

Merge Risk: ⚪ Minimal · up to 6940d

The change resolves the package ownership conflict without leaving an identified firmware packaging or initramfs regression.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: the GL-MT2500 v2 BSP no longer ships Airoha firmware.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/gl-mt2500-v2-firmware-conflict

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added size/small PR with less then 50 lines 11 Milestone: Fourth quarter release Needs review Seeking for review Hardware Hardware related like kernel, U-Boot, ... labels Sep 12, 2026
@igorpecovnik
igorpecovnik force-pushed the fix/gl-mt2500-v2-firmware-conflict branch from 6940d63 to f71291b Compare September 12, 2026 19:44
armbian-firmware has carried airoha/EthMD32.{dm,DSP}.bin since armbian/firmware
2a9e1c19 ("airoha: add EN8811H 2.5G PHY firmware", 2026-09-10). This board
config has been downloading the same two files into the bsp-cli package since it
was added on 2026-09-04, so from the 10th onwards two packages claimed the same
paths and dpkg refused the unpack:

  dpkg: error processing archive armbian-bsp-cli-gl-mt2500-v2-edge...deb (--unpack):
   trying to overwrite '/lib/firmware/airoha/EthMD32.dm.bin',
   which is also in package armbian-firmware (26.11.0-trunk.44)

Every Gl-mt2500-v2 image build has failed there since.

Drop the download hook entirely -- firmware and licence both. armbian-firmware
provides the firmware now, and the licence belongs with whoever ships the blobs
rather than with a board package that no longer does. That also drops this
board's build-time dependency on a GitLab API endpoint.

The initramfs hook is unchanged and still pulls both files in, just from
armbian-firmware instead of from this package.

gl-mt2500-v2 is the only board config that shipped airoha firmware, so nothing
else needs the same treatment.

Signed-off-by: Igor Pecovnik <igor@armbian.com>
@igorpecovnik
igorpecovnik force-pushed the fix/gl-mt2500-v2-firmware-conflict branch from f71291b to 105613b Compare September 12, 2026 19:45
@igorpecovnik
igorpecovnik merged commit 0315581 into main Sep 12, 2026
13 checks passed
@igorpecovnik
igorpecovnik deleted the fix/gl-mt2500-v2-firmware-conflict branch September 12, 2026 19:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

11 Milestone: Fourth quarter release Hardware Hardware related like kernel, U-Boot, ... Needs review Seeking for review size/small PR with less then 50 lines

Development

Successfully merging this pull request may close these issues.

1 participant