So, the reason was the ECC thing as I thought ?
I compiled your installer myself, and after reflashing the router with it, both radios work again and there aren't that many logged errors.
Curiously, there seems to an error regarding mtdblock2 "sector 256" or "logical block 32" that gets to the kernel log a dozen times at boot.
[ 13.857812] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 0
[ 13.868862] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 13.879390] Buffer I/O error on dev mtdblock2, logical block 32, async page read
Looking at the install.sh
code, the sectors in mtd2 after the wifi calibration data are left unwritten, right?
- /dev/mtdblock2 seems to show contents only until
0x020000
, the 128 kB rewritten and ECC fixed, while
- /dev/mtd2 shows contents until
0x100000
and MACs are visible at 0x07fff4
Apparently the mtdblock parser throws error at the end of the ECC fixed part, and determines that the mtdblock2 ends there, while the partition actually goes until 1 MB, with MACs at the middle.
Accessing mtdblock2 e.g. with hexdump causes errors to surface regarding the remaining sectors.
Sun Aug 29 09:54:32 2021 kern.warn kernel: [40943.627391] print_req_error: 54 callbacks suppressed
Sun Aug 29 09:54:32 2021 kern.err kernel: [40943.627399] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x84700 phys_seg 28 prio class 0
Sun Aug 29 09:54:32 2021 kern.err kernel: [40943.643487] blk_update_request: I/O error, dev mtdblock2, sector 264 op 0x0:(READ) flags 0x84700 phys_seg 27 prio class 0
Sun Aug 29 09:54:32 2021 kern.err kernel: [40943.654621] blk_update_request: I/O error, dev mtdblock2, sector 272 op 0x0:(READ) flags 0x84700 phys_seg 26 prio class 0
Sun Aug 29 09:54:32 2021 kern.err kernel: [40943.665712] blk_update_request: I/O error, dev mtdblock2, sector 280 op 0x0:(READ) flags 0x84700 phys_seg 25 prio class 0
Probably harmless, but strange that the new driver is so picky.
I wonder if it might make sense to rewrite also the remaining mtd2 (after the first 128 kB).