openwrt/target/linux/ath79
Lech Perczak f024f4b1b0 ath79: generic: disable SPI-NOR write protect unconditionally
Kernel 5.15 introduced a significant change to spi-nor subsystem [1],
which would the SPI-NOR core to no longer unprotect the Flash chips if
their protection bits are non-volatile, which is the case for MX25L6405D
and MX25L12805D, used in Ubiquiti XW and WA lines of devices [2].

However, their bootloader forcibly enables this protection before
continuing to boot, making the kernel not unprotect the flash upon boot,
causing JFFS2 to be unable write to the filesystem. Because sysupgrade
seems to unlock the flash explicitly, the upgrade will work, but the
system will be unable to save configrationm showing the following symptom
in the kernel log:

[   86.168016] jffs2_scan_eraseblock(): End of filesystem marker found at 0x0
[   86.192344] jffs2_build_filesystem(): unlocking the mtd device...
[   86.192443] done.
[   86.200669] jffs2_build_filesystem(): erasing all blocks after the end marker...
[   86.220646] jffs2: Newly-erased block contained word 0x19852003 at offset 0x001e0000
[   86.292388] jffs2: Newly-erased block contained word 0x19852003 at offset 0x001d0000
[   86.324867] jffs2: Newly-erased block contained word 0x19852003 at offset 0x001c0000
[   86.355316] jffs2: Newly-erased block contained word 0x19852003 at offset 0x001b0000
[   86.402855] jffs2: Newly-erased block contained word 0x19852003 at offset 0x001a0000

Disable the write protection unconditionally for ath79/generic subtarget,
so the XW and WA devices can function again. However, this is only a
stopgap solution - it probably should be investigated if there is a way
to selectively unlock the area used by rootfs_data - but given the lock
granularity, this seems unlikely.

With this patch in place, rootfs_data partition on my Nanostation Loco
M5 XW is writable again.

Fixes: #12882
Fixes: #13750
Fixes: 579703f38c ("ath79: switch to 5.15 as default kernel")
Link: http://www.infradead.org/pipermail/linux-mtd/2020-October/082805.html
Link: https://forum.openwrt.org/t/powerbeam-m5-xw-configuration-loss-after-reboot/141925
Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
2023-12-24 12:42:12 +01:00
..
base-files/etc/hotplug.d/ieee80211 ath79: migrate Archer C5 5GHz radio device paths 2022-03-31 18:07:29 +02:00
dts ath79: fortinet-fap-221-b: convert to nvmem-layout 2023-11-27 00:34:49 +01:00
files ath79: mikrotik: fix build error with kernel 6.1 2023-10-06 21:53:13 +02:00
generic ath79: generic: disable SPI-NOR write protect unconditionally 2023-12-24 12:42:12 +01:00
image image: use helper function for size units 2023-11-26 18:37:20 +01:00
mikrotik ath79: add support for MikroTik RouterBOARD 750 r2 (hEX lite) 2023-09-16 12:49:26 +02:00
nand ath79: make boot-leds service executable 2023-12-12 19:35:03 +01:00
patches-5.15 kernel: bump 5.15 to 5.15.144 2023-12-20 15:43:16 -05:00
patches-6.1 kernel: bump 6.1 to 6.1.69 2023-12-21 11:26:35 +01:00
tiny ath79: add missing symbols by refreshing kernel configs 2023-09-08 18:06:30 +02:00
config-5.15 ath79: add missing symbols by refreshing kernel configs 2023-09-08 18:06:30 +02:00
config-6.1 ath79: refresh patches and configs to introduce kernel 6.1 support 2023-09-08 18:06:30 +02:00
Makefile Revert "ath79: use kernel 6.1 as default" 2023-09-09 08:42:50 +02:00
modules.mk ath79: add new OF only target for QCA MIPS silicon 2018-05-07 08:06:51 +02:00