OpenWrt 23.05.2 - Service Release

sha256sum image.bin
d50e1c28e7c2a56e5b35eb3f179c79450fc03f307e49f76c6c917d3dbbadf15f  image.bin
/tmp# gzip image.bin
/tmp# sha256sum image.bin.gz
881045913f0ac401a46535a2db1907164b25d18337ef52113a0db93f3b68c1ac  image.bin.gz

Ok, now I'm completely confused. Your image and mine are apparently identical, yet sysupgrade doesn't like yours, but thinks mine is ok? wtf

I was hoping to revert back to using auc method but still getting a invalid argument 22 error

Yeah, I just tried an auc build on my x86 squashfs box and I get this. Something is going on with auc or this machine's package list, because I also did a build just now on a different x86 ext4 box using my homemade build tool and it worked fine. I have not tried the Firmware Selector for a while...

error: ext4_allocate_best_fit_partial: failed to allocate 1 blocks, out of space?
make[3]: *** [/builder/include/image.mk:348: /builder/build_dir/target-x86_64_musl/linux-x86_64/root.ext4] Error 1
make[2]: *** [Makefile:208: build_image] Error 2
make[1]: *** [Makefile:146: _call_image] Error 2
make: *** [Makefile:262: image] Error 2
Error: Error while building firmware. See stdout/stderr
Bad message (74)

Ok , so only option is to download a generic x86/64 image, flash that using sysupgrade and restore my config post flashing?

I don’t mind doing that if that is the only option ( as thanks to you I do know exactly how to install the additional packages back again) however will that process maintain my partition that was extended or will I need to through the fdisk process of extending the partition again?

Also I would need to do this process at a very late hour to avoid the family vengeance with Internet being down :sweat_smile:

Please stop extending the partition, as anything extra that you write there will be lost after the sysupgrade, so this "ext4 on an extended partition" setup is not maintainable long-term.

My recommendation would be to stick with squashfs and an extra partition (with a gigabyte of free space before it just in case if the upstream builds become larger), which is properly preserved during upgrades.

3 Likes

thanks for the advice @patrakov . I thought "ext4 on an extended partition" was the best option if you had a large ssd on a x86 h/w after reading several posts.

@efahl I also tried downloading the f=generic image and testing a sysupgrade with that and still got exactly the same error. So definitely something in my config. When you did a text with ext4 image was that with a extended partition?

wget https://downloads.openwrt.org/releases/23.05.2/targets/x86/64/openwrt-23.05.2-x86-64-generic-ext4-combined-efi.img.gz
Downloading 'https://downloads.openwrt.org/releases/23.05.2/targets/x86/64/openwrt-23.05.2-x86-64-generic-ext4-combined-efi.img.gz'
Connecting to 151.101.166.132:443
Writing to 'openwrt-23.05.2-x86-64-generic-ext4-combined-efi.img.gz'
openwrt-23.05.2-x86- 100% |*******************************| 11236k  0:00:00 ETA
Download completed (11506309 bytes)
/tmp# sysupgrade --test openwrt-23.05.2-x86-64-generic-ext4-combined-efi.img.gz
Mon Jan 29 20:55:22 NZDT 2024 upgrade: Image metadata not present
Mon Jan 29 20:55:22 NZDT 2024 upgrade: Unable to determine upgrade device
Image check failed.

Ah, there you go. I've been using ext4 on one of my devices just as another data point, and have never extended the partitions for the very reason you state (partition table gets rewritten on every update). Thanks for clearing that up!

I think @patrakov has uncovered your problem, extended partitions get mangled/wiped on upgrade and things go badly. In fact, I just did an auc update on my ext4 machine and it worked just fine, but I have standard partition sizes.

$ auc -y
...
 kmod-sched-core: 6.1.70-1 -> 6.1.74-1
Requesting build.......................................
Downloading image from https://sysupgrade.openwrt.org/store/cb92773db57dcbc3a0410b374bf26bd7/openwrt-49e0153c27c3-x86-64-generic-ext4-combined-efi.img.gz
Writing to 'openwrt-49e0153c27c3-x86-64-generic-ext4-combined-efi.img.gz'
Mon Jan 29 07:48:47 PST 2024 upgrade: Image metadata not present
Mon Jan 29 07:48:47 PST 2024 upgrade: Reading partition table from bootdisk...
Mon Jan 29 07:48:47 PST 2024 upgrade: Extract boot sector from the image
Mon Jan 29 07:48:47 PST 2024 upgrade: Reading partition table from image...
invoking sysupgrade
Connection to 10.1.1.20 closed by remote host.
Connection to 10.1.1.20 closed.

# ssh openwrt
...
$ uname -a
Linux openwrt-vm 6.1.74 #0 SMP Sun Jan 28 09:07:55 2024 x86_64 GNU/Linux

Interesting. I get the whole wanting to extend partition thing. Using further partition and keeping 1GB free seems a bit naff. Seems like there might be a better way to address the desire to make full use of available space?

In my experience, not. A 128 MB partition is enough even for the Docker daemon (but only if you use squashfs, not ext4). Anything more that you want to use is for data (counting the actual Docker containers as data), not for code - that's why a separate partition makes sense.

I did hit the limitation that the online web-based image builder at https://firmware-selector.openwrt.org/ cannot build an image with Docker included because that would exceed the default ext4 image size, and there is no way to disable that on the web. What I did was to build a squashfs-based image without Docker and then use attended sysupgrade to add Docker. This way, the useless ext4 image is not even attempted to be created.

Thaks for the insight @patrakov and @efahl .

So I need clarity on how do I get to a squashfs-combined-efi.img.gz based image from where I am right now. I really don't want to take out the SSD from the PC and mount it on my Windows PC and write the squashfs image to it which is what I did initially.

Can I do the following:

  1. Use sysupgrade to force a generic squash image knowing it will wipe out everything.
  2. Restore my config files (as I don't want to redo my networking/dhcp as it took me while to initially do that and I am not very technical)
  3. Create an extra partition (with a gigabyte of free space before it just in case if the upstream builds become larger) >> how do I do that? my SSD is 118GB

If the above is not feasible what would you suggest? I want the method that will enable me to restore my network config so that the Router is up and running quickly. i can install the packages afterwards as there only handful and adguard is one of them.

Your best option would be to run the image builder yourself, that way you can stay with ext4, set the partition sizes as you wish, directly include all the extra packages and all the config files.

Thanks for the suggestion however I am not very technical so prefer a solution that will enable automated updates without the least amount of effort.

Have you or anyone found a cause or solution? I have exactly the same problem. Several sites are not loading, including duckduckgo.com, airbus.com

  • I'm also using a pppoe connection
  • I set my MTU to 1484 which is recommended by my ISP (M-Net)
  • Disabled IPv6
  • I only have a LAN with Wifi and a WAN, nothing complicated.

tcpdump:
The whole transmission has been captured. The missing previous segment is part of the problem.

35	3.736114	93.104.189.250	40.114.177.156	TCP	86	35124 β†’ 80 [FIN, ACK] Seq=1 Ack=1 Win=502 Len=0 TSval=3324066197 TSecr=4047076876 SLE=1449 SRE=2435
36	3.743782	93.104.189.250	40.114.177.156	TCP	82	36258 β†’ 80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM TSval=3324066206 TSecr=0 WS=128
37	3.753560	40.114.177.156	93.104.189.250	TCP	74	80 β†’ 35124 [ACK] Seq=2435 Ack=2 Win=6820 Len=0 TSval=4047108076 TSecr=3324066197
38	3.761524	40.114.177.156	93.104.189.250	TCP	82	80 β†’ 36258 [SYN, ACK] Seq=0 Ack=1 Win=7240 Len=0 MSS=1440 SACK_PERM TSval=3230053957 TSecr=3324066206 WS=1
39	3.763970	93.104.189.250	40.114.177.156	TCP	74	36258 β†’ 80 [ACK] Seq=1 Ack=1 Win=64256 Len=0 TSval=3324066226 TSecr=3230053957
40	3.764142	93.104.189.250	40.114.177.156	HTTP	493	GET / HTTP/1.1 
41	3.782062	40.114.177.156	93.104.189.250	TCP	74	80 β†’ 36258 [ACK] Seq=1 Ack=420 Win=6821 Len=0 TSval=3230053978 TSecr=3324066226
42	3.782301	40.114.177.156	93.104.189.250	HTTP	897	[TCP Previous segment not captured] Continuation
43	3.782781	40.114.177.156	93.104.189.250	HTTP	236	Continuation
44	3.784996	93.104.189.250	40.114.177.156	TCP	86	[TCP Dup ACK 39#1] 36258 β†’ 80 [ACK] Seq=420 Ack=1 Win=64256 Len=0 TSval=3324066247 TSecr=3230053978 SLE=1449 SRE=2272
45	3.785166	93.104.189.250	40.114.177.156	TCP	86	[TCP Dup ACK 39#2] 36258 β†’ 80 [ACK] Seq=420 Ack=1 Win=64256 Len=0 TSval=3324066248 TSecr=3230053978 SLE=1449 SRE=2434

[several connection retries after that]

I have not found a solution other than suggested by @logmod. I had to reset the device and reconfigure everything without using the backup archive.
Now its working fine.

I have spend some more time to do a comparison of the changes between my config backup and a new config from scratch. Somehow it escaped me that the MSS Clamping config of my WAN Zone firewall config was unticked. I do not remember unsetting this option (mtu_fix in UCI), but that was the culprit.

as far as i have information OpenWrt rescheduled 23.05.3 until summer, due to hard working and massive issues with OpenWrt One - celebrating 20 years of OpenWrt can anyone confirm this?

where did you get this info???

3 Likes

Congrat you recieve Most Bizarre post of the day award :joy:

6 Likes