Which OpenWrt is this: official, ImmortalWrt, iStoreOS or vendor firmware?
Outcome
Section titled “Outcome”- Tell whether the device runs official OpenWrt, ImmortalWrt, iStoreOS or vendor firmware.
- Read the distribution, version, revision, target, architecture and hardware model.
- Know whether the package manager is
apkoropkg, and which feeds belong to it. - Choose the right sysupgrade/vendor image instead of flashing the wrong one.
Start with three read-only commands
Section titled “Start with three read-only commands”ubus call system boardcat /etc/openwrt_releaseThe four key fields are release.distribution, release.version, release.target and model.
ExpectedYou can see distribution, version, target and model.
command -v apkcommand -v opkgcat /etc/apk/arch 2>/dev/nullopkg print-architecture 2>/dev/nulluname -aDo not guess the package manager from the version number: official 25.12 usually uses apk, 24.10 uses opkg, but forks/vendor images may differ. Trust the command that exists.
ExpectedYou know whether it is apk or opkg, and the CPU architecture.
x86:
cat /sys/class/dmi/id/sys_vendorcat /sys/class/dmi/id/product_namecat /sys/class/dmi/id/board_namecat /sys/class/dmi/id/board_versioncat /sys/class/dmi/id/bios_versionARM/router:
cat /tmp/sysinfo/modelcat /tmp/sysinfo/board_namemodel is not the hardware revision; one model can have multiple revisions. Use the label, board_name and the vendor download page before flashing.
ExpectedThe model and board name match the device label.
Decision table
Section titled “Decision table”| Field/sign | Official OpenWrt | ImmortalWrt | iStoreOS | Vendor firmware |
|---|---|---|---|---|
release.distribution |
OpenWrt |
usually ImmortalWrt |
usually iStoreOS/vendor |
vendor |
| Feeds | downloads.openwrt.org |
ImmortalWrt feeds | iStoreOS feeds | vendor store |
| Package manager | apk (25.12) or opkg (24.10) |
check the command | usually opkg |
may be absent/restricted |
| Web UI | LuCI | LuCI + custom | iStoreOS UI | vendor UI |
| Upgrade image | OpenWrt sysupgrade | ImmortalWrt image | iStoreOS image | vendor firmware |
| Support | OpenWrt community | ImmortalWrt community | iStoreOS community | vendor |
Do not mix OpenWrt official feeds into ImmortalWrt/iStoreOS, or flash another model’s sysupgrade; ABI, kernel and partition layouts may not match.
Why the “About” page is not enough
Section titled “Why the “About” page is not enough”- Some vendor images reskin LuCI but are not official OpenWrt underneath.
DISTRIB_DESCRIPTIONcan be customized and is not sufficient by itself.- The same version number does not imply the same target/profile.
- The package manager and feeds are what actually matter when installing plugins.
Cross-check ubus call system board, /etc/openwrt_release and the package manager.
Choose the upgrade image
Section titled “Choose the upgrade image”ubus call system boardFocus on:
release.target(e.g.x86/64,mediatek/filogic);board_name;model;- current version/revision.
For official devices, use the OpenWrt Firmware Selector with the exact target/model. ImmortalWrt/iStoreOS/vendor devices use their own download pages. Never cross-flash a sysupgrade from another model or target.
ExpectedYou can find an exact match in the firmware selector/vendor page.
- Upgrading an existing OpenWrt usually uses
sysupgrade. - First install from vendor firmware usually uses a
factory/vendor transition image. - x86 may use combined/ext4 images written differently.
- If unsure, read the device page; do not guess from the filename.
ExpectedYou know whether this is sysupgrade or a factory/vendor image.
Failure branches and recovery
Section titled “Failure branches and recovery”ubus is missing or fails
Section titled “ubus is missing or fails”It may be vendor firmware or a non-OpenWrt system. Check the web UI “About/System” and the device label; do not flash OpenWrt blindly.
Web UI only, no SSH
Section titled “Web UI only, no SSH”Vendor firmware may disable SSH. Check the vendor documentation/warranty first; do not flash just to get root. If you need vendor features, use the vendor upgrade path.
Packages will not install
Section titled “Packages will not install”- Package manager does not match the firmware (
apkvsopkg); - feed architecture/version mismatch;
- kernel module ABI mismatch;
- feeds from another fork are mixed in.
Go back to ubus call system board and the package manager, confirm the source, then debug.
Wrong image / bricked device
Section titled “Wrong image / bricked device”Stop flashing. Use the device’s failsafe, TFTP or vendor recovery procedure. If you have no recovery path, do not try “one more image”.
E1 status and sources
Section titled “E1 status and sources”- This is E1: fields, decision table and image-selection method are based on public documentation; no device was captured in this environment.
- Forks/vendor outputs may differ; run
tests/recipes/which-openwrt.mdon a real device, record the fields and screenshots, then promote to E2. - This page only identifies firmware; it does not provide cross-model flashing or vendor-restriction bypasses.
Sources
Independent OpenWrt notes. Every page states the firmware, device, package manager and way back.
Icons: Solar by 480 Design, CC BY 4.0