TP-Link TL-1043ND v2 freezes

Hello,

I was running OpenWrt for many months on 1043ND v2 without any freezes.
I did a clean installation of LEDE 17.01.0 stable (r3205-59508e3) approx 2 weeks ago. Currently the router started to freeze. Today 3 times already. When it freezes it's not possible to login via ssh, so it's not possible to get any logs.

Any help appreciated.

could you give more details. stock lede or did u do any modifications ?

It's stock LEDE with extroot.
Last dmesg

I am using F2FS for extroot currently. On OpenWrt, I used ext4. Could this be related to some partition corruption on the F2FS extroot partition due to power loss ?

It seems like the F2FS is really the culprit.
I rebooted without extroot and issued fsck.f2fs -f for the F2FS partitions. It wrote a lot of messages about fixing some nid errors.
After that the partitions are not possible to mount in LEDE nor Linux Mint and getting these errors in dmesg:
[ 23.057246] F2FS-fs (sda2): Failed to read root inode
[ 23.095222] F2FS-fs (sda2): Failed to read root inode

I also found this
https://github.com/openwrt/packages/issues/1848

fsck.f2fs from f2fstools 1.7.0 is heavily broken on ar71xx (mips32 big endian) platform
It corrupts valid f2fs partitions.

Seems like reformatting to ext4 and setting up anew is the only option.

When F2FS is so broken, why on earth is it used in the extroot example, without at least a serious warning?
https://lede-project.org/docs/user-guide/extroot_configuration

@bobafetthotmail

[quote="dweller, post:5, topic:2379, full:true"]When F2FS is so broken, why on earth is it used in the extroot example, without at least a serious warning?
https://lede-project.org/docs/user-guide/extroot_configuration[/quote]Because when that tutorial was written, I had no such issues on a
TL-1043ND V1, or a nexx3020 (both mips24k so MIPS32, dunno the endianness), and that bug report was not posted yet either (it's also posted in the wrong place, but anyway).

I don't know if they are big or little endian, maybe they are little endians so they work fine because of that.

In a few days I'll try updating the nexx to LEDE release and test f2fs again. In the meantime feel free to add a warning in the tutorial.

https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git/log/
There are a lot of fixes in 1.8.0, not sure if everything is fixed however.
https://github.com/lede-project/source/pull/958

1 Like

Sorry, if my post seemed a bit harsh.
I updated the wiki with warning and option to format extroot as ext4. I hope it's ok, as I am new here.

I reformatted my extroot and other partition to ext4 and since then no freezes.

No problem, I figured you were not in your best mood after troubleshooting issues.

The wiki additions are ok, thanks.

I've tried as said above, and my TL-1043ND V1 (ar71xx) is affected by the fsck.f2fs -f bug (and when fsck.f2fs without -f it hangs) but it has been running with a f2fs extroot for months. Did you enable the filesystem check on boot perhaps? I didn't.

I can't reproduce the issue on my nexx3020 (ramips) or on my LEDE VM (x86).

I've just recompiled a new firmware image for my affected device with the updated package as posted above by dizzyy. The partition that was corrupted by the older version of f2fs tools isn't recoverable, but after a reformat and a couple fsck.f2fs -f no corruption happens, and I can mount it afterwards. Seems like it fixes the bug.

Will add this info to the PR.