The OpenWrt Firmware Selector

hmmm...i have it running on 23.05.0

It has just failed to build for some architectures in 23.05.
You should check the fail logs before claiming that something was intentionally dropped...

Package freeradius3-common is missing dependencies for the following libraries:
make[3]: *** [Makefile:775: /builder/shared-workdir/build/sdk/bin/packages/arm_cortex-a9_vfpv3-d16/packages/freeradius3-common_3.0.26-2_arm_cortex-a9_vfpv3-d16.ipk] Error 1

And packages repo source logs shows that freeradius was fixed yesterday to build also when libpcre is present. So, after the next buildbot round the downloadable package should again be there.

1 Like

Got it. I just looked at the manifests, saw it hadn't been there for a few months and made the incorrect assumption that it was abandoned. (Even worse, I did in fact read Jeffery's commit and it just completely passed in one eye and out the other.)

I whipped up a script that checks for broken package builds, compares them to what you have installed and tells you if an auc upgrade will succeed (I hope it does, anyhow :neutral_face:).

If you download that to your router, and run it like this:

$ wget
$ chmod +x
$ ./ --check --version-to 23.05.2

it should show you the currently broken packages for your device, and an indicator as to whether that will cause an issue. Here's example output on my x86 VM, take note of the "package build failures" section, where we see that cloudflared and wifidog are currently broken on in 23.05.2 for that device.

$ ./ --check -V 23.05.2
Board-name    generic
Target        x86/64
Package-arch  x86_64
Version-from  SNAPSHOT r24750-f1de1a090f (kernel 6.1.70)
Version-to    23.05.2 r23630-842932a63d (kernel 5.15.137)
Image-prefix  openwrt-23.05.2-x86-64-generic
Root-FS-type  ext4
Sys-type      combined-efi
Image-file    openwrt-23.05.2-x86-64-generic-ext4-combined-efi.img.gz
Build-at      2023-11-14T13:38:11.000000Z

Default package analysis:
  dnsmasq             - default package replaced/provided by dnsmasq-full
  libgcc              - default package replaced/provided by libgcc1
  libustream-mbedtls  - Warning: default package is not present
  nftables            - default package replaced/provided by nftables-json

There are currently package build failures for 23.05.2 x86_64:
  cloudflared      - Package not installed locally, you should be ok
  shared-mime-info - Package not installed locally, you should be ok
Details at

Installed packages replaced in 23.05.2:
  No changes detected.

Installed packages not available in 23.05.2:
  No issues, all packages present.

Done, logged 76 of 259 entries in ./pkg-scan-installed.txt

To just print out the packages you need to append to the list on the firmware selector, use this:

$ ./ --list
auc bind-dig btop conntrack curl diffutils dmidecode dnsmasq-full ethtool fdisk gawk grep grub2 grub2-efi htop iperf3 iptables-nft kmod-lib-lzo kmod-nft-dup-inet kmod-nft-xfrm less libudev-zero lscpu luasocket luci luci-app-adblock luci-app-attendedsysupgrade luci-app-sqm luci-app-statistics luci-ssl-openssl luci-theme-openwrt-2020 mtr-json nmap ntpdate openssh-sftp-server pciutils snort3 strace tc-tiny tcpdump usbutils vim-full

Some caveats:

  1. The output from --list may contain packages that conflict with the default packages for your platform. The above example contains one such case, with dnsmasq-full, which replaces the basic dnsmasq package. The solution is simply to delete the replaced package (dnsmasq in this example) from the list of default packages to avoid a build conflict.

  2. You can get a full list of top-level packages by using --list --defaults. In this case, you'd use the generated list to replace the whole package list in the Firmware Selector. This might not work if you are upgrading versions and packages were renamed, added or deleted. For example, with some MediaTek devices the jump from 22.03 to 23.05 contains a refactoring of the kmods such that the 5G radio wouldn't work until you added a missing set of packages. When jumping versions it's probably best to just use --list and do some manual fixes to the resulting full list.


A monumental step to making firstboot setup go smoothly. Works like a charm.

1 Like

Facing issues with firmware selector in combination with "Script to run on first boot (uci-defaults)". Actually whatever I tried to include into such custom script so far lets the build process finalize without error, but after burning the sdcard image onto card and flash devices firmware, nothing gets executed on first boot, neither any existence of the new uci-defaults can be found in folder /rom/etc/uci-defaults. Am I missing something?

I am using official firmware selector for the device: Bananapi BPi-R3

Thanks for your help.

I got "Impossible package selection" error when trying to build a customized snapshot.

Collected errors:
 * opkg_install_cmd: Cannot install package kmod-mt76x2.
 * opkg_install_cmd: Cannot install package kmod-mt76x2.
make[2]: *** [Makefile:189: package_install] Error 255
make[1]: *** [Makefile:154: _call_manifest] Error 2
make: *** [Makefile:274: manifest] Error 2

BTW, my router is D-Link DIR-860L B1 used as an access point, need to add the following packages:

wpad-mbedtls irqbalance tc-tiny luci-app-sqm ip6tables-nft

now REQUEST BUILD fail.!
Firefox 120 said

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at

Looks like the Firmware Selector is out of action for the moment. The sysupgrade files are fine to download. But the "Request build" option just gives a red bar, even on the default options.


Yes, something is broken on the server. @aparcar: any idea?

1 Like

Same here as everyone. You can still build with the image builder. I have made a couple of images lately.

1 Like

its alive, its alive!!! :troll: :troll: :woman_zombie: :man_zombie: :man_zombie:

it works flawesly but

today i've had errors with it (pressed custom packages and request build and got a red box frame like some kind of error prompt so i will leave this to report the error

Confirming the firmware selector is not working for me either. I can download a basic sysupgrade image but no ability to customize packages. I'm trying to flash a new router with the latest SNAPSHOT.

What I find interesting is the firmware selector page's SNAPSHOT version shows up as r24624 but auc is trying to update to r24600. I am currently using r24586.

Can anyone confirm if luci is installed on the default sysupgrade image found here?

If I can access luci with the default sysupgrade, I can easily configure internet access and update my packages. If not, I could technically use vi to get it connected to the Internet, but I would rather not unless I have no other option.

firmware selector appears to be not working me either, last night, and now this morning.
Trying to add cfdisk and luci to BPI-R3 image.

I would like to see something that says it is in working mode, please wait, or something to that effect while it is actually in work, otherwise, there is no feedback to the user as to what is doing, or not.

1 Like

i think is in beta so there would be more features in the future, i cherish the fact they made it

1 Like

Yes, VERY useful to have!

i also learned to build images by myself, is not that hard to do, you just have to install virtualbox, ubuntu or any linux distro, enable clipboard bidirectional , look a tutorial of how to add shared foldera between virtual machine and windows, i reccommend debian, then if some error pop up copy and paste the error in google, look the tutorial here copy and paste change some things hit enter and you are good to go, at first i have tought the local image builder would last building my custom image like 1 hour but it taken me 1 minute and is lightweight , however the online image builder is awesome, i tested it yesterday before it exploded and is very useful, i think the error is with javascript because i debugged in console the error, but they would know what to do, i submitted the debug to them in other thread, good luck friend

Oh look, the firmware selector is back online and, working, yey!
"Build successful"



Thank you to whoever fixed this! :wink:


I'm seeing odd behavior using various sysupgrade methods when trying to update to the latest SNAPSHOT.

They are:

  1. When trying to build an image from the firmware selector with custom packages, the selector page shows SNAPSHOT r24683 as available. As soon as I customize the packages and click the request build link it immediately finishes with build successful and shows the version as r24652.

  2. When using auc, it said SNAPSHOT r24683 was available but no packages were found and exits with nothing to update ...

  3. LuCI attended sysupgrade with advanced mode on brought up the r24683 version, listed my packages then successfully built and upgraded my routers.

Now when I check with auc, it reports the following:

Running:   SNAPSHOT r24683-4cc6e7192f on mediatek/filogic (glinet,gl-mt6000)
Available: SNAPSHOT r24683-4cc6e7192f
Requesting package lists...
 kmod-crypto-gf128: 5.15.143-1 -> 5.15.142-1
 kmod-usb-core: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-manager: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-ctr: 5.15.143-1 -> 5.15.142-1
 kmod-nft-fib: 5.15.143-1 -> 5.15.142-1
 kmod-nfnetlink: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-hash: 5.15.143-1 -> 5.15.142-1
 kmod-nf-reject6: 5.15.143-1 -> 5.15.142-1
 kmod-tun: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-aead: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-md5: 5.15.143-1 -> 5.15.142-1
 kmod-nf-flow: 5.15.143-1 -> 5.15.142-1
 kmod-usb-xhci-mtk: 5.15.143-1 -> 5.15.142-1
 kmod-lib-crc-ccitt: 5.15.143-1 -> 5.15.142-1
 kmod-pppoe: 5.15.143-1 -> 5.15.142-1
 kmod-pppox: 5.15.143-1 -> 5.15.142-1
 kmod-nf-reject: 5.15.143-1 -> 5.15.142-1
 base-files: 1557-r24683-4cc6e7192f -> 1557-r24668-5a85aada3f
 kmod-nf-nat: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-crc32c: 5.15.143-1 -> 5.15.142-1
 kmod-mt7986-firmware: 5.15.143+2023-12-18-bebd9cff-1 -> 5.15.142+2023-12-11-f63f87cd-1
 kmod-usb-xhci-hcd: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-hmac: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-sha256: 5.15.143-1 -> 5.15.142-1
 kmod-lib-crc32c: 5.15.143-1 -> 5.15.142-1
 kmod-iptunnel: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-sha512: 5.15.143-1 -> 5.15.142-1
 kmod-mt76-connac: 5.15.143+2023-12-18-bebd9cff-1 -> 5.15.142+2023-12-11-f63f87cd-1
 kmod-crypto-seqiv: 5.15.143-1 -> 5.15.142-1
 kmod-nft-nat: 5.15.143-1 -> 5.15.142-1
 kmod-usb3: 5.15.143-1 -> 5.15.142-1
 kmod-thermal: 5.15.143-1 -> 5.15.142-1
 kmod-nf-ipt: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-ghash: 5.15.143-1 -> 5.15.142-1
 kmod-hwmon-core: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-hw-safexcel: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-authenc: 5.15.143-1 -> 5.15.142-1
 kmod-mt7915e: 5.15.143+2023-12-18-bebd9cff-1 -> 5.15.142+2023-12-11-f63f87cd-1
 kmod-crypto-ccm: 5.15.143-1 -> 5.15.142-1
 kmod-nf-log: 5.15.143-1 -> 5.15.142-1
 kmod-leds-gpio: 5.15.143-1 -> 5.15.142-1
 kmod-gpio-button-hotplug: 5.15.143-3 -> 5.15.142-3
 kmod-nf-log6: 5.15.143-1 -> 5.15.142-1
 kmod-mac80211: 5.15.143+6.5-2 -> 5.15.142+6.5-2
 kmod-crypto-des: 5.15.143-1 -> 5.15.142-1
 kmod-sit: 5.15.143-1 -> 5.15.142-1
 kmod-ipt-core: 5.15.143-1 -> 5.15.142-1
 kmod-nft-offload: 5.15.143-1 -> 5.15.142-1
 kmod-ppp: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-null: 5.15.143-1 -> 5.15.142-1
 kmod-iptunnel4: 5.15.143-1 -> 5.15.142-1
 kmod-nf-conntrack: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-gcm: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-cmac: 5.15.143-1 -> 5.15.142-1
 kmod-ipt-ipopt: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-rng: 5.15.143-1 -> 5.15.142-1
 kmod-nf-conntrack6: 5.15.143-1 -> 5.15.142-1
 kmod-mt76-core: 5.15.143+2023-12-18-bebd9cff-1 -> 5.15.142+2023-12-11-f63f87cd-1
 kmod-sched-cake: 5.15.143-1 -> 5.15.142-1
 kmod-nft-core: 5.15.143-1 -> 5.15.142-1
 kmod-ifb: 5.15.143-1 -> 5.15.142-1
 kmod-nls-base: 5.15.143-1 -> 5.15.142-1
 kmod-crypto-sha1: 5.15.143-1 -> 5.15.142-1
 kmod-slhc: 5.15.143-1 -> 5.15.142-1
 kmod-cfg80211: 5.15.143+6.5-2 -> 5.15.142+6.5-2
 kmod-sched-core: 5.15.143-1 -> 5.15.142-1
Are you sure you want to continue the upgrade process? [N/y] 

I'm happy that LuCI attended sysupgrade is currently working, but I like to build an image file after packages and/or a kernel update is committed to save locally in case I need to recover the router offline which I currently cannot do.

Wondering what might cause this? Auc has not worked for me since r24668.