LuCI disappears after sysupgrade on OpenWrt One

Hi,

I just got an OpenWrt One, and upgraded OpenWrt on it straight away.

Here's the steps I undertook:

  • set a root password
  • changed the network interface IP from 192.168.1.1 to 192.168.2.1
  • enabled HTTPS for LuCI
  • rebooted and verified ssh and the web interface worked (still wasn't using https, though)
  • upgraded OpenWrt using the LuCI interface, kept the "keep settings" box checked

It did the upgrade, because when I ssh into it it's using a newer kernel. However, the web interface is no longer working, it seems the HTTP server is simply not running.

~> ssh root@192.168.2.1 -p 22
root@192.168.2.1's password:


BusyBox v1.37.0 (2024-12-26 17:18:06 UTC) built-in shell (ash)

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 -----------------------------------------------------
 OpenWrt SNAPSHOT, r28410-a85059438f
 -----------------------------------------------------
root@OpenWrt:~# uname -a
Linux OpenWrt 6.6.67 #0 SMP Thu Dec 26 17:18:06 2024 aarch64 GNU/Linux
root@OpenWrt:~#  find / -iname uhttpd
/etc/config/uhttpd
/overlay/upper/etc/config/uhttpd
root@OpenWrt:~# ls /etc/init.d/
boot             cron             done             firewall         led              network          packet_steering  sysfixtime       system           umount           urngd
bootcount        dnsmasq          dropbear         gpio_switch      log              odhcpd           sysctl           sysntpd          ubihealthd       urandom_seed     wpad
root@OpenWrt:~# netstat -p -l -t
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 localhost:domain        0.0.0.0:*               LISTEN      2554/dnsmasq
tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      1572/dropbear
tcp        0      0 OpenWrt.lan:domain      0.0.0.0:*               LISTEN      2554/dnsmasq
tcp        0      0 :::ssh                  :::*                    LISTEN      1572/dropbear
tcp        0      0 fe80::2205:b6ff:feff:20e1:domain :::*                    LISTEN      2554/dnsmasq
tcp        0      0 OpenWrt.lan:domain      :::*                    LISTEN      2554/dnsmasq
tcp        0      0 localhost:domain        :::*                    LISTEN      2554/dnsmasq
root@OpenWrt:~# 

Here's the output of everything that's running

root@OpenWrt:~# ps -w
  PID USER       VSZ STAT COMMAND
    1 root      2300 S    /sbin/procd
    2 root         0 SW   [kthreadd]
    3 root         0 SW   [pool_workqueue_]
    4 root         0 IW<  [kworker/R-rcu_g]
    5 root         0 IW<  [kworker/R-rcu_p]
    6 root         0 IW<  [kworker/R-slub_]
    7 root         0 IW<  [kworker/R-netns]
   12 root         0 IW<  [kworker/R-mm_pe]
   13 root         0 IW   [rcu_tasks_trace]
   14 root         0 SW   [ksoftirqd/0]
   15 root         0 IW   [rcu_sched]
   16 root         0 SW   [migration/0]
   17 root         0 SW   [cpuhp/0]
   18 root         0 SW   [cpuhp/1]
   19 root         0 SW   [migration/1]
   20 root         0 SW   [ksoftirqd/1]
   23 root         0 IW<  [kworker/R-inet_]
   24 root         0 IW   [kworker/u4:1-ev]
   26 root         0 SW   [oom_reaper]
   27 root         0 IW<  [kworker/R-write]
   28 root         0 SW   [kcompactd0]
   29 root         0 IW<  [kworker/R-pencr]
   30 root         0 IW<  [kworker/R-pdecr]
   31 root         0 IW<  [kworker/R-crypt]
   32 root         0 IW<  [kworker/R-kbloc]
   33 root         0 IW<  [kworker/R-blkcg]
   34 root         0 IW<  [kworker/R-ata_s]
   36 root         0 SW   [watchdogd]
   37 root         0 IW<  [kworker/0:1H-kb]
   38 root         0 SW   [kswapd0]
   39 root         0 IW   [kworker/u4:3-ev]
   48 root         0 IW<  [kworker/R-kthro]
   55 root         0 IW   [kworker/1:2-rcu]
  215 root         0 IW   [kworker/0:3-eve]
  216 root         0 IW   [kworker/0:4-eve]
  250 root         0 SW   [spi0]
  280 root         0 SW   [spi1]
  296 root         0 SW   [ubi_bgt0d]
  309 root         0 SW   [spi2]
  420 root         0 SW   [napi/mtk_eth-5]
  421 root         0 RW   [napi/mtk_eth-6]
  459 root         0 IW<  [kworker/R-mld]
  462 root         0 IW<  [kworker/R-ipv6_]
  464 root         0 IW<  [kworker/1:1H-kb]
  465 root         0 IW<  [kworker/R-dsa_o]
  466 root         0 IW<  [kworker/R-kstrp]
  468 root         0 IW   [kworker/1:7-eve]
  690 root         0 SW   [irq/15-gpio-key]
  691 root         0 SW   [irq/16-gpio-key]
  697 root         0 IW<  [kworker/R-nvme-]
  699 root         0 IW<  [kworker/R-nvme-]
  700 root         0 IW<  [kworker/R-nvme-]
  742 root         0 IW<  [kworker/1:2H]
  832 root         0 SW   [ubifs_bgt0_5]
  912 ubus      1460 S    /sbin/ubusd
  913 root       932 S    /sbin/askfirst /usr/libexec/login.sh
  948 root      1088 S    /sbin/urngd
 1016 root         0 SW   [irq/84-10320000]
 1017 root         0 IW<  [kworker/R-wq_ri]
 1018 root         0 SW   [irq/85-10320000]
 1019 root         0 IW<  [kworker/R-wq_ri]
 1020 root         0 SW   [irq/86-10320000]
 1021 root         0 IW<  [kworker/R-wq_ri]
 1022 root         0 SW   [irq/87-10320000]
 1023 root         0 IW<  [kworker/R-wq_ri]
 1043 root         0 IW<  [kworker/R-cfg80]
 1052 root         0 SW   [napi/phy0-7]
 1053 root         0 SW   [napi/phy0-8]
 1054 root         0 SW   [napi/phy0-9]
 1055 root         0 SW   [napi/phy0-10]
 1056 root         0 SW   [napi/phy0-11]
 1057 root         0 SW   [napi/phy0-12]
 1075 root         0 SW   [mt76-tx phy0]
 1312 logd      2064 S    /sbin/logd -S 128
 1572 root      1132 S    /usr/sbin/dropbear -F -P /var/run/dropbear.cfg014dd4.pid -p 22 -K 300 -T 3 -W 262144
 1620 root         0 IW<  [kworker/0:2H]
 1679 root      2852 S    {hostapd} /sbin/ujail -t 5 -n hostapd -U network -G network -C /etc/capabilities/wpad.json -c -- /usr/sbi
 1680 root      2852 S    {wpa_supplicant} /sbin/ujail -t 5 -n wpa_supplicant -U network -G network -C /etc/capabilities/wpad.json 
 1724 network   5100 S    /usr/sbin/hostapd -s -g /var/run/hostapd/global
 1725 network   5052 S    /usr/sbin/wpa_supplicant -n -s -g /var/run/wpa_supplicant/global
 1744 root      2632 S    /sbin/netifd
 1864 root      1636 S    /usr/sbin/odhcpd
 2121 root         0 SW   [irq/53-mdio-bus]
 2185 root      2852 S    {ntpd} /sbin/ujail -t 5 -n ntpd -U ntp -G ntp -C /etc/capabilities/ntpd.json -c -u -r /bin/ubus -r /usr/b
 2235 ntp       1336 S    /usr/sbin/ntpd -n -N -S /usr/sbin/ntpd-hotplug -p 0.openwrt.pool.ntp.org -p 1.openwrt.pool.ntp.org -p 2.o
 2247 root      1000 S    /usr/sbin/ubihealthd -f -d /dev/ubi0
 2537 root      2852 S    {dnsmasq} /sbin/ujail -t 5 -n dnsmasq -u -l -r /bin/ubus -r /etc/TZ -r /etc/dnsmasq.conf -r /etc/ethers -
 2554 dnsmasq   1668 S    /usr/sbin/dnsmasq -C /var/etc/dnsmasq.conf.cfg01411c -k -x /var/run/dnsmasq/dnsmasq.cfg01411c.pid
 2819 root         0 IW   [kworker/u4:2-ev]
 2847 root      1156 R    /usr/sbin/dropbear -F -P /var/run/dropbear.cfg014dd4.pid -p 22 -K 300 -T 3 -W 262144 -2 9
 2848 root      1352 S    -ash
 2857 root      1344 R    ps -w

I'm coming from DD-WRT, so not familiar with OpenWrt yet. Not sure on what to do, seems like the uhttpd binary and init script are gone?

Snapshot images don't include luci/ the webinterface by default, release images (including 24.10.0-rc4) do.

Either install the current -rc or use the (online-)imagebuilder to create an image including luci-ssl for your device.

This is the same for all devices and not specific to the OO.

In addition you can install from the command line, snapshots have apk instead of opkg:
https://openwrt.org/docs/guide-user/additional-software/opkg-to-apk-cheatsheet

Thanks for the quick responses. Just came across someone else having the same issue here: https://www.reddit.com/r/openwrt/comments/1hiko8d/openwrt_one_tried_to_upgrade_it_via_sysupgrade/

I ran these commands: "apk update && apk add luci-ssl" and it's running again.

Seems like something the OpenWrt One wiki should mention, since it pushes for doing an upgrade straight away :slight_smile:

Anything else that's gone after installing the snapshot image and that I need to reinstall / fix?
E.g. is the usb serial interface stuff still there?

Why install snapshot and not one of the 24.10 pre-release snapshots? Those do include LuCI.

pre-release snapshots sounds even more bleeding edge than snapshots, is that assumption correct?
I just want a solid, working, stable, up-to-date AP. No need for daily updates.

maybe because the corresponding wiki states accordingly ... or at least not explaining clearly what the stable vs snapshot release difference is. for a new user the assumption that "Supported current rel" is the latest recommended version would be a legit assumption. unfortunately it is pointing to the snapshot version and it is not explaining the lack of luci in snapshot release.

4 Likes

Install owut and for upgrading run: "out upgrade" and profit.

Much to the contrary, the snapshot you have installed is bleeding edge, the images I'm suggesting are built from the 24.10 branch and will end up being the next stable release. You can even install a 24.10 RC if you'd like, I believe we're at 4.

That should be amended, when the entry got created there probably was no 24.10 branch yet.

3 Likes

Yeah I did that now, currently it tells me "There are no changes to upgrade".

So if I upgrade using owut in the future, it'll automatically install the latest snapshot, but it'll keep LuCI and other packages I install?

If so, then my main concern now is what other packages were removed by installing the snapshot (eg serial usb or other stuff).

Can I easily reinstall the initial version of OpenWrt that was installed, and then use owut to upgrade? Any link to a sysupgrade version of the original image?

So you are running the latest snapshot the buildbot built.

Yes :slight_smile:

Everything except for base packages. You can see a list of those when going to the firmware selector, selecting a device and branch and then clicking the triangle with " Customize installed packages and/or first boot script" behind it.

I would generate an image with the firmware selector. While it looks best practice to flash a stable branch image, it is not for your device (yet). Choose snapshot with your changes, and profit.

If you are on snapshot, then yes, if on 24.10, it will stay on 24.10. Owut: OpenWrt Upgrade Tool - #370 by efahl

2 Likes

Is there no way to flash back the original image that the OpenWrt One shipped with?

I see the "factory snapshot image" is at https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/openwrt-mediatek-filogic-openwrt_one-initramfs.itb, but if I pass that image to LuCI's "Flash new firmware image" it shows me a red warning ("The uploaded image file does not contain a supported format. Make sure that you choose the generic image format for your platform.")

Any other way to revert to the original image, so I can ensure I don't lose anything when upgrading?

Not really, as they appear to have shipped with various versions of OpenWrt so it would be hard to figure out which specific one it was that yours had... From following the various One threads, it looks like they grabbed a new version somewhere around each kernel bump or something like that. The factory did what any good user should do: upgrade when a security update is available.

Before moving on though, is your intended use as your main gateway router ("production" use) or are you going to use the One as an experimental/development box? If the former, I'd suggest you want to get on the 24.10 release branch if you're not already there; for cutting edge and playing around, SNAPSHOT is probably good.

The issue you're seeing there is that you want the "sysupgrade" image, not the initramfs image. So, grab one of these and give that a try:

https://downloads.openwrt.org/releases/24.10.0-rc4/targets/mediatek/filogic/openwrt-24.10.0-rc4-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb
https://downloads.openwrt.org/snapshots/targets/mediatek/filogic/openwrt-mediatek-filogic-openwrt_one-squashfs-sysupgrade.itb

Note that the above 24.10 image will contain luci, but the snapshot will not. So, if you want that either build a new image at https://firmware-selector.openwrt.org/ or run apk -U add luci as soon as you get it up.

The preferred version for relative beginners would be 24.10.x, which currently means using 24.10.0-rc4.

Snapshots are usually fine, but there may be occasional problems - as your device is virtually unbrickable, that sounds more scary than it usually is (or could be on other devices), with the caveat that luci doesn't come preinstalled (unless you use the imagebuilder, owut, building from source, etc. pp.). I'm not trying to scare you away from using snapshots, I'm running them myself on a variety of devices (not including the OO though) - it's just not primarily intended to be used by endusers.

Are you sure 24.10.0-rc includes LuCI? Haven't tried, but the 24.10 RC images are about 330 kB smaller than usual, which more or less corresponds to the luci package size.

Also the firmware selector is not functional... ASU is down again, probably due to the weekend.

A stable release always includes LuCI.
The firmware selector and especially the ASU part is a complicated beast so things tend to break sometimes. Use an image generator or setup a build to generate a sysupgrade file if you need it right now.

1 Like

Working on it...