Owut: OpenWrt Upgrade Tool

Thanks for the info.

I do not have rc1 yet. I'm still on 24.10-SNAPSHOT. I'll wait for rc2 tomorrow then and will do an owut upgrade -V 24.10 --force on my devices.

1 Like

Just for fun, I though I'd try out 24.10-rc1 on my Allwinner D1 board, but now I'm seeing an error when I attempt to run owut:

root@cpi-r01:/etc# owut check
owut - OpenWrt Upgrade Tool 2024.10.25~8c8907c6-r2 (/usr/bin/owut)
ERROR: Unsupported profile: sipeed_lichee-rv-dock
  Valid profiles are [ "dongshan_nezha_stu", "lichee_rv_dock", "mangopi_mq_pro", "nezha" ]

It looks like there's some sort of inconsistency with the profile names in this target which owut is tripping up on.

Could you do ubus call system board and post the output? The board_name might be where the disconnect is... Usually there are commas which get replaced by underscores for the json keys, but this platform looks like it's got dashes there instead. It appears to be correct in the profiles.json (https://downloads.openwrt.org/releases/24.10.0-rc1/targets/d1/generic/profiles.json and filter on dock).

Yeah, here's the system board output:

{
	"kernel": "6.6.63",
	"hostname": "cpi-r01",
	"system": "RISC-V (rv64imafdc_zicntr_zicsr_zifencei_zihpm)",
	"model": "Sipeed Lichee RV Dock",
	"board_name": "sipeed,lichee-rv-dock",
	"rootfs_type": "ext4",
	"release": {
		"distribution": "OpenWrt",
		"version": "24.10.0-rc1",
		"revision": "r28158-d276b4c91a",
		"target": "d1/generic",
		"description": "OpenWrt 24.10.0-rc1 r28158-d276b4c91a",
		"builddate": "1732901136"
	}
}

It looks like the profiles.json file has lichee,rv,dock but on the system I get sipeed,lichee-rv-dock instead.

Yup, it's a mismatch in the generation of those "supported_devices" that I need to get to the bottom of somewhere in the target build Makefiles probably. (Edit: PR submitted https://github.com/openwrt/openwrt/pull/17155)

In the meantime, here's a workaround that should bypass the errors, just add the device spec on the command line.

owut check --device d1/generic:lichee_rv_dock

Or, now that I'm thinking about, you could make it permanent in the config and you won't have to remember the command line bit. (But, test it out with the above CLI first, make sure that works for you.)

$ uci set attendedsysupgrade.owut.device='d1/generic:lichee_rv_dock'
$ uci commit

$ owut check
...
Target         d1/generic
Profile        lichee_rv_dock
Package-arch   riscv64_riscv64
Root-FS-type   squashfs
Sys-type       sdcard

@efahl , what happened to 24.10-SNAPSHOT? I could have sworn it was there yesterday morning.

root@blah:~# owut check
owut - OpenWrt Upgrade Tool 2024.10.25~8c8907c6-r2 (/usr/bin/owut)
Available 'version-to' values:
..
  23.05 release branch
    23.05.0
    23.05.2
    23.05.3
    23.05.4
    23.05.5 (latest)
    23.05-SNAPSHOT
  24.10 release branch
    24.10.0-rc2 (latest)
  SNAPSHOT main branch
    SNAPSHOT (latest)

Your specified version-to '(null)' is not available.  Pick one from above.
root@blah:~#

seeing invalid argument here trying to upgrade from 23.05.5 to 24.10 using auc, something seems broken on the ASU

Yeah, I thought it was there. I'm not sure how the server is getting any 24.10 versions at all, it's not in the main list here https://downloads.openwrt.org/.versions.json Paul must have hacked something on the production ASU server to let them through.

Correct, the docker image generation has a bug for the RCs. I've got PRs in to fix it, so sometime soon. Details: OpenWrt 24.10.0-rc1 - First release candidate - #45 by efahl

@efahl looking at the discussion all this is related, that owut is not working from 24.10-SNAPSHOT to 24.10.0-rc2 as it reports for every target

Unsupported profile

The Sysupgrade images are on download.openwrt.org and selectable in firmware-selector.

But having no means to sysupgrade while keeping everything, hinders my participation in testing 24.10 greatly.

Thanks for your effort.

This is not owut - one can't build images through the firmware selector either. A message above yours suggests that it'll be fixed soon.

2 Likes

Thanks for the heads up.

Building through firmware-selector is fine for me though.

Interesting. I get an "unsupported profile" message when I try to build rc2, this happens for all (3) devices I tried. Building snapshot works.

Yes, I found that one of my devices is building fine, which I didn't try before. The rest is "unsupported_profile".

likewise here for my 3200acm

Request:
Version r28161-ea17e958b9 (kernel 6.6.63)

Status: Unsupported profile: linksys_wrt3200acm
Progress: 0s total = 0s in queue + 0s in build

Build failed in 0s total = 0s in queue + 0s to build:
ERROR: Build failed with status 400
The above errors are often due to the upgrade server lagging behind the
build server, first suggestion is to wait a while and try again.

works fine with upgrade now, thank you :wink:

2 Likes

Github user @torrpenn56 has reported a bug that affects all recent snapshot users.

The latest ucode update in snapshot (and only in snapshot), has a lexer bug, so owut will crash out at startup like this:

$ owut
Syntax error: Expecting label
In /usr/bin/owut, line 221, byte 6:

 `        default:   [], // Another simple name list.`
          ^-- Near here

The version of ucode that causes the issue is 2024.12.02:

$ apk list ucode
ucode-2024.12.02~b0b5d938-r1 x86_64 {feeds/base/package/utils/ucode} (ISC) [installed]

This has been reported upstream and the fix has been committed, but it will take a while to filter through. In the meantime, if you see the above syntax error, you can mangle the owut installation in-place with this sed command:

$ sed -i '221s;default;//default;' /usr/bin/owut

Verify workaround has applied properly:

$ owut
Usage: owut COMMAND [-V VERSION_TO] ...

@robimarko :+1:t3: committed the fix to main just now, so when you see ucode at 2024.12.06, the issue will be resolved. Probably a day or so before it gets through to all targets/builds...

Is sysupgrade server down? Recently I tried owut check and got error

root@OpenWrt:~# owut check
ERROR: uclient error code=1
  This could be due to the server being down or inaccessible, check
  https://sysupgrade.openwrt.org/json/v1/overview.json
ERROR: Response status 0 while downloading
  https://sysupgrade.openwrt.org/json/v1/overview.json

From my pc

❯ dig sysupgrade.openwrt.org

; <<>> DiG 9.20.3 <<>> sysupgrade.openwrt.org
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2131
;; flags: qr rd ad; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;sysupgrade.openwrt.org.                IN      A

;; ANSWER SECTION:
sysupgrade.openwrt.org. 0       IN      CNAME   asu-02.infra.openwrt.org.
asu-02.infra.openwrt.org. 0     IN      A       45.140.183.87

;; Query time: 4 msec
;; SERVER: 172.31.240.1#53(172.31.240.1) (UDP)
;; WHEN: Sat Dec 07 12:54:26 +07 2024
;; MSG SIZE  rcvd: 140

❯ ping -c 5 sysupgrade.openwrt.org
PING asu-02.infra.openwrt.org (45.140.183.87) 56(84) bytes of data.
From gw0.scc.kae.bb.vzffnrmo.de (45.140.183.69) icmp_seq=1 Destination Host Unreachable
From gw0.scc.kae.bb.vzffnrmo.de (45.140.183.69) icmp_seq=2 Destination Host Unreachable
From gw0.scc.kae.bb.vzffnrmo.de (45.140.183.69) icmp_seq=3 Destination Host Unreachable
From gw0.scc.kae.bb.vzffnrmo.de (45.140.183.69) icmp_seq=4 Destination Host Unreachable
From gw0.scc.kae.bb.vzffnrmo.de (45.140.183.69) icmp_seq=5 Destination Host Unreachable

--- asu-02.infra.openwrt.org ping statistics ---
5 packets transmitted, 0 received, +5 errors, 100% packet loss, time 4054ms
pipe 4

❯ date
Sat Dec  7 12:54:38 PM +07 2024

I got the same just now and 12h ago so leaning towards, yes it's down. Possibly related to https://lists.openwrt.org/pipermail/openwrt-announce/2024-December/000061.html

2 Likes