Work has been absolutely exhausting lately and I've kinda put this on the back burner unfortunately.
However, I was taking a look at Antichris' partition layout and it turns out he's got the same one as me. I suppose that makes sense; I'm going to guess the changed bits I previously reported in the bootconfig "diff" are either wear counters or parity, then, as they didn't have any affect on the layout.
I'm going to try manually poking the /proc endpoints used by sysupgrade and reading out some generated bootconfig bins, but if anyone else wants to contribute the contents of their bootconfig partitions and the partition layout (script for the latter thanks also to Chris) I'd appreciate it.
The Script:
for i in $(seq 0 31);do p=mtd$i;o=$(cat /sys/class/mtd/$p/offset) && printf '% 5s:% 10d\n' $p $o;done
On that subject, for the USB boot I was considering trying just using an arbitrary name for the itb file in the 'openwrtusb' bootcmd - such as "Dynaboot.itb"
That way I could simply rename any future image file on a USB 'Dynaboot.itb' and boot from it regardless of original filename.
Yes, that's what I did in the end. My comment was simply a warning to other users to carefully look at that name. The rest of the wiki has a dual set of instructions for snapshot and stable, but that final point only uses the snapshot name, with no warning. I stupidly didn't notice that the name was different.
Also, the wiki could be improved by adding instructions on how to check if the USB works (by looking at the system log). If I didn't test it, I would have believed I had a working recovery, but in case of problems it would not have worked (could have been fixed by renaming the file in the USB to the snapshot one, but only if one understands the issue)
In openwrt, after installing the snapshot on a new dynalink router, I go to the software updates and see about 63 updates available. Now I understand one should not blindly start updating the packages and being on snapshot, I usually just assume that the latest packages that will actually work on the router with the most reliability and performance are already installed.
However, there was one specific package I saw that I could not find any information via google about, it's package name is "ipq-wifi-dynalink_dl-wrx36" with the following details:
Details for package ipq-wifi-dynalink_dl-wrx36
Version: 2024-03-04-38c02ae4-1
Size: ~140.00 KiB installed
Description
The Dynalink DL-WRX36 requires board-specific, reference ("cal") data that is not yet present in the upstream wireless firmware distribution. This package supplies board-2.bin file(s) that, in the interim, overwrite those supplied by the ath10k-firmware-* packages. This is package is only necessary for the Dynalink DL-WRX36. Do not install it for any other device!
Require approx. 140.00 KiB size for 1 package(s) to install.
What got me is that it's dated 4 March 2024, so literally released only a day or so ago, and it's specific for the router itself. Is this something recommended/can be updated
I've always been a bit cautious about updates, especially on development stuff, so while it may seem like a given to update, I like to make sure.
This is actually a required file to make sure the Wi-Fi hardware conforms to regulatory domains and works adequately. Also contains calibration for the antennae in the device.
Doing latest Attended Sysupgrade snapshot r25389-fe0081eecf, I get a kernel panic and boot loop:
(I had to flash back my previous Attended sysupgrade backup SNAPSHOT - r25277-44168fda78)
[ 0.000000] Linux version 6.1.79 (builder@buildhost) (aarch64-openwrt-linux-musl-gcc (OpenWrt GCC 12.3.0 r25389-fe0081eecf) 12.3.0, GNU ld (GNU Binutils) 2.40.0) #0 SMP Mon Mar 4 15:28:57 2024
[ 0.000000] Machine model: Dynalink DL-WRX36
...
...
[ 1.896297] Freeing unused kernel memory: 1344K
[ 1.944919] Run /sbin/init as init process
[ 1.945256] Run /etc/init as init process
[ 1.947957] Run /bin/init as init process
[ 1.952018] Run /bin/sh as init process
[ 1.956040] Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/admin-guide/init.rst for guidance.
[ 1.959639] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.79 #0
[ 1.973856] Hardware name: Dynalink DL-WRX36 (DT)
[ 1.979671] Call trace:
[ 1.984527] dump_backtrace.part.0+0xc0/0xd0
[ 1.986787] show_stack+0x18/0x30
[ 1.991298] dump_stack_lvl+0x6c/0x88
[ 1.994512] dump_stack+0x18/0x34
[ 1.998156] panic+0x14c/0x2f0
[ 2.001455] kernel_init+0x128/0x130
[ 2.004408] ret_from_fork+0x10/0x20
[ 2.008141] SMP: stopping secondary CPUs
[ 2.011705] Kernel Offset: disabled
[ 2.015604] CPU features: 0x00000,00000000,0000400b
[ 2.018820] Memory Limit: none
[ 2.023680] Rebooting in 1 seconds..
EDIT:
Problem is in Attended Sysupgrade, the image size is only 5,21 MB (5 468 969 bytes).
My older working Attended Sysupgrade images are around 16,1MB each.
Generating the image with same packages, but with firmware-selector, the image size is 16,1MB and it works well.
EDIT:
Today Attended Sysupgrade is working well again (installed SNAPSHOT - r25402-5b1d6d4607 without issues).
I assume you either deleted or put a different BDF. In that case it seems to perform a checksum or something and that causes the WiFi init to fail.
That's what the log suggests.
I just got this router and installed the snapshot version. I noticed after flashed the sysupgrade firmware, I had to reinstall the luci package. I've since added a number of other packages via the shell. Will I have to reinstall all of them each time I upgrade?
If you use the firmware selector tool and add the packages you use to the customize list, it will build a sysupgrade image that includes your packages. I find that to be the best compromise of convenience and reliability for upgrades.