Unable to update with OWUT

I'm trying to update to kernel 6.6.48 to install the drivers to get started on installing the BE14 wifi chip on my BPI-R4. I'm currently on 6.6.45, however when I run owut upgrade I get back

Build: Requesting version r27301-a1c7f794da (kernel 6.6.48)
Syntax error: Failed to parse JSON string: unexpected character
In read_tmp_json(), file /usr/bin/owut, line 406, byte 33:
  called from function dl_build (/usr/bin/owut:477:44)
  called from function download (/usr/bin/owut:1716:30)
  called from anonymous function (/usr/bin/owut:1958:18)

I've tried clearing the temp files without success, forced a reinstall of OWUT, checked dependencies, etc but cannot get it to run and it's driving me nuts.

Iโ€™ll bite, what is OWUT?

The new upgrade toolโ€ฆ

@JustMashingKeys
Seems the whole upgrade infrastructure is not working at the momentโ€ฆ

I saw that about it not responding but it seems my error is different being a JSON parser error. I was also able to run OWUT Check which I had read others who were having the upgrade issues couldn't.

I am getting the same error for the same board, so I suspect that there are still issues to be resolved.
(It is different to the errors I was getting for the last two days).

It was working for me yesterday when I ran my test suite, and now a quick check shows it's still up. Is it back for you all now? (Maybe the CDN is acting up again??? Guessing from posting times most of you are in Europe?)

A check just now:

$ owut check
Target         x86/64
Profile        generic
Root-FS-type   squashfs
Sys-type       combined-efi
Package-arch   x86_64
Version-from   SNAPSHOT r27283-85f0128851 (kernel 6.6.48)
Version-to     SNAPSHOT r27300-e7ea93e1e3 (kernel 6.6.48)
Build-FS-type  squashfs
Build-at       2024-09-05T08:16:19Z
Image-prefix   openwrt-x86-64-generic
Image-URL      https://downloads.openwrt.org/snapshots/targets/x86/64
Image-file     openwrt-x86-64-generic-squashfs-combined-efi.img.gz
Installed      283 packages
Top-level       82 packages
Default         46 packages
User-installed  51 packages (top-level only)
...

Yeah, that's bad diagnostics on my part. The file is empty, meaning a server error, but I don't catch that and the above goofy error message misleads you into thinking it's a local error when it's really a server error...

1 Like

Ok, got a fix. owut will say this in the next release, where that 'Internal Server Error' is the message I'm currently getting from the ASU server.

$ owut download
...

Build: Requesting version r27300-e7ea93e1e3 (kernel 6.6.48)

Requesting build ----------------------
ERROR: Invalid response from build server:
  'Internal Server Error'
Check that 'https://sysupgrade.openwrt.org' is up...
4 Likes

I'm US based (just don't get enough sleep), but nope, it's still down for me as of this reply with the same error (well except now it's for 6.6.49).

How hard would it be to set up my own AUC server at home? I do miss it when it is down.

1 Like

https://github.com/openwrt/asu#run-your-own-server

2 Likes

I've been working off and on to get one to work for over a year and have not had any luck getting it to populate the database with the current builds. I can get the API running, so I can test it on fake data, but I have not been able to figure out what's up with collecting the metadata. If you want to start a thread on it, I would gladly contribute anything/everything I know...

But, it is certainly possible, as there are a some non-OpenWrt ones in production, most notably ImmortalWrt at https://sysupgrade.kyarucloud.moe (poking around, it looks like they are using a fairly old rev from the ASU repo, as it's missing some of the files and fields that the current OpenWrt ASU has, so owut dies when I point it to that site).

Isn't the misc/update_all_targets.py script populating all the metadata/build data?
I suppose, you already tried it.

Yup, tried it, tried hacking it, but the asu_worker_1 container dies on everything I try. I suspect container permissions of some sort, but haven't immersed myself in the podman/docker universe deeply enough to debug it...

$ poetry run python3 misc/update_all_targets.py
Reloading 23.05.4
Reloading 23.05.4/kirkwood/generic
Traceback (most recent call last):
  File "/home/efahlgren/asu-venv/lib/python3.11/site-packages/urllib3/connection.py", line 196, in _new_conn
    sock = connection.create_connection(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/efahlgren/asu-venv/lib/python3.11/site-packages/urllib3/util/connection.py", line 85, in create_connection
    raise err
  File "/home/efahlgren/asu-venv/lib/python3.11/site-packages/urllib3/util/connection.py", line 73, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
1 Like

Could it be a simple wrong port issue?
The script pointing to asu_url = "http://localhost:5001" and the API running on port 8000 by default?

Could be, I still can't figure out how the container assigns the port.

Running the server API outside the container does shed some light. I think this one is because there's no worker thread so no redis database; I need to figure out how to start one outside the container. (Looking around inside the containers I've found to be pretty useless, due to how stripped down they are, no ps or ss/netstat or any good diagnostic tools to tell you what's going on. I've been using podman exec -ti container_name /bin/bash to get a shell inside the containers, where container_name is asu_worker_1 or whatever.)

$ poetry run fastapi run asu/main.py &
...
 โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ FastAPI CLI - Production mode โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
 โ”‚                                                     โ”‚
 โ”‚  Serving at: http://0.0.0.0:8000                    โ”‚
 ...

$ curl http://localhost:8000/api/v1/revision/SNAPSHOT/mediatek/mt7622
INFO:     127.0.0.1:33348 - "GET /api/v1/revision/SNAPSHOT/mediatek/mt7622 HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
... redis error blah blah blah ...

Has anyone heard or is there any post I'm missing with information on when the server will be restored? I'm holding off installing the new Wi-Fi card obviously until I can update and am anxious but really don't want to do a manual update either.

Service was restored sometime last night. I've done a couple of upgrades this morning without issue.

1 Like

Awesome, it's up for me now but unfortunately still failing for for a new reason. It probably should be its own thread but it's failing with a 500 because of an OpenSSL wpad-basic-mbedtlsa conflict, is there a way around that? I've updated it using the tool before without it error.

Error message:

Collected errors:
 * check_conflicts_for: The following packages conflict with wpad-openssl:
 * check_conflicts_for:         wpad-basic-mbedtls *
 * opkg_install_cmd: Cannot install package wpad-openssl.
make[2]: *** [Makefile:220: package_install] Error 255
make[1]: *** [Makefile:161: _call_manifest] Error 2
make: *** [Makefile:322: manifest] Error 2

ERROR: Build failed with status 500

That's a new one (at least for owut). It sort of looks like the image builder is adding wpad-basic-mbedtls when you've already got the openssl version specified. Could you post the from owut blob (including any other parameters you used to run the build)? Should look like this

$ owut blob -whatever
{
  "client": "owut/2024.09.07~6564aa2a-r1",
  "target": "x86/64",
  "profile": "generic",
  "version": "SNAPSHOT",
  "version_code": "r27326-15280316fa",
  "filesystem": "squashfs",
  "diff_packages": true,
  "packages": [
    "openssh-sftp-server",
... blah blah ...
  ]
}