Linksys e8450 - semi-damaged by brown-out?

My Linksys e8450 started to have bad messages in dmesg:

[  109.493877] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x84700 phys_seg 32 prio class 0
[  109.505522] blk_update_request: I/O error, dev mtdblock2, sector 264 op 0x0:(READ) flags 0x84700 phys_seg 31 prio class 0
[  109.517064] blk_update_request: I/O error, dev mtdblock2, sector 272 op 0x0:(READ) flags 0x84700 phys_seg 30 prio class 0
[  109.528220] blk_update_request: I/O error, dev mtdblock2, sector 280 op 0x0:(READ) flags 0x84700 phys_seg 29 prio class 0
[  109.539396] blk_update_request: I/O error, dev mtdblock2, sector 288 op 0x0:(READ) flags 0x84700 phys_seg 28 prio class 0
[  109.550546] blk_update_request: I/O error, dev mtdblock2, sector 296 op 0x0:(READ) flags 0x84700 phys_seg 27 prio class 0
[  109.561676] blk_update_request: I/O error, dev mtdblock2, sector 304 op 0x0:(READ) flags 0x84700 phys_seg 26 prio class 0
[  109.572783] blk_update_request: I/O error, dev mtdblock2, sector 312 op 0x0:(READ) flags 0x84700 phys_seg 25 prio class 0
[  109.583915] blk_update_request: I/O error, dev mtdblock2, sector 320 op 0x0:(READ) flags 0x84700 phys_seg 24 prio class 0
[  109.595036] blk_update_request: I/O error, dev mtdblock2, sector 328 op 0x0:(READ) flags 0x84700 phys_seg 23 prio class 0
[  109.614709] Buffer I/O error on dev mtdblock2, logical block 32, async page read
[  109.622291] Buffer I/O error on dev mtdblock2, logical block 32, async page read

It may or may not be relevant, but there was an electricity brown-out earlier today.

I do have a backup of mtd2, created when I followed the installation instructions, using the "full backup" method.

I have manually checked, and the first 128 KB of the backup does match the readable portion of mtdblock2 before the first error. The only other non-0000 and non-ffff area in the original backup is very small, just 12 bytes:

0007fff0: ffff ffff e89f 80d4 9ec4 e89f 80d4 9ec3  ................

Is it possible/safe to use that backup to paper over the read error, by overwriting mtdblock2 with the backup? Or, what's the proper way to proceed?

EDIT: the backup successfully verifies:

root@OpenWrt:/tmp# mtd verify mtd2 /dev/mtd2
Verifying /dev/mtd2 against mtd2 ...
30a428094ece3fd77af06d4a59d8d598 - /dev/mtd2
30a428094ece3fd77af06d4a59d8d598 - mtd2
Success

So the error only affects /dev/mtdblock2, not /dev/mtd2.

EDIT 2: I remember that I created a similar topic for Netgear R7800. There, I was assured that it is not dying. Could anyone please reconfirm that, especially because the "bad" sectors are not in the very beginning, and because the whole saga with UBI mentioned rewriting something to get rid of ECC errors?

You might be hit by the changes in the mt7622 nand flash driver, which exposed the missing ecc bits.

See discussion in summer 2021.
Around this

Also

Yes, that's it.

So I did this:

opkg install kmod-mtd-rw
insmod mtd-rw i_want_a_brick=1
cp /path/to/linksys-e8450-backup/mtd2 /tmp/
mtd write /tmp/mtd2 /dev/mtd2

And there are no I/O errors on /dev/mtdblock2 anymore. After a reboot, the router still works, and the full contents of mtdblock2 can be downloaded via LuCI.

2 Likes

I have started to see these in one of my RT3200 devices:

Sun Jan  8 21:30:56 2023 kern.err kernel: [ 2351.874037] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
Sun Jan  8 21:30:56 2023 kern.err kernel: [ 2351.885780] blk_update_request: I/O error, dev mtdblock2, sector 256 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
Sun Jan  8 21:30:56 2023 kern.warn kernel: [ 2351.898115] buffer_io_error: 31335 callbacks suppressed
Sun Jan  8 21:30:56 2023 kern.err kernel: [ 2351.898120] Buffer I/O error on dev mtdblock2, logical block 32, async page read
Sun Jan  8 21:30:56 2023 kern.err kernel: [ 2351.911808] Buffer I/O error on dev mtdblock2, logical block 32, async page read

And WiFi 2.4Ghz seems to be playing up. What's going on? Is there a fix that I need to apply?

This is after having used the Release v0.6.4 installer.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.