TL-MR3020 v1 Random disconnection & hanging

Hi, I'm using a small TP-MR3020 box with a second USB eth1. Only recently its becoming unstable (dropping eth1, and locking up). Below i captured from dmesg, and was hoping someone could help me decipher it. I had to /etc/init.d/network restart which brings it up, but drops a few mins later.
note, using custom built Chaos Calmer.
Thanks for any help in advance

[   31.970000] random: nonblocking pool is initialized
[  353.010000] ------------[ cut here ]------------
[  353.010000] WARNING: CPU: 0 PID: 3 at net/sched/sch_generic.c:306 dev_watchdog+0x1d8/0x25c()
[  353.020000] NETDEV WATCHDOG: eth1 (r8152): transmit queue 0 timed out
[  353.020000] Modules linked in: ath9k ath9k_common iptable_nat ath9k_hw ath nf_nat_ipv4 nf_conntrack_ipv4 mac80211 iptable_raw iptable_mangle iptable_filter ipt_REJECT ipt_MASQUERADE ip_tables cfg80211 xt_time xt_tcpudp xt_state xt_nat xt_multiport xt_mark xt_mac xt_limit xt_id xt_conntrack xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_CT x_tables usbnet r8152 nf_reject_ipv4 nf_nat_masquerade_ipv4 nf_nat_ftp nf_nat nf_log_ipv4 nf_log_common nf_defrag_ipv4 nf_conntrack_rtcache nf_conntrack_ftp nf_conntrack crc_ccitt compat ledtrig_usbdev tun arc4 crypto_blkcipher ohci_platform ohci_hcd ehci_platform ehci_hcd gpio_button_hotplug usbcore nls_base usb_common mii
[  353.080000] CPU: 0 PID: 3 Comm: ksoftirqd/0 Not tainted 3.18.84 #9
[  353.090000] Stack : 00000000 00000000 00000000 00000000 803c4292 00000036 00000000 80258c3c
[  353.090000]    00000001 803e5898 8030c3a4 803645e3 00000003 803c34d0 81828bf8 803e5898
[  353.090000]    00000200 00000001 00000004 800a3934 00000003 800804f0 00000132 803e5898
[  353.090000]    8030fa34 8183bd1c 00000000 00000000 00000000 00000000 00000000 00000000
[  353.090000]    00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[  353.090000]    ...
[  353.120000] Call Trace:
[  353.120000] [<800710d4>] show_stack+0x54/0x88
[  353.130000] [<800805f8>] warn_slowpath_common+0x84/0xb4
[  353.130000] [<80080654>] warn_slowpath_fmt+0x2c/0x38
[  353.140000] [<80258c3c>] dev_watchdog+0x1d8/0x25c
[  353.140000] [<800ab410>] call_timer_fn.isra.38+0x24/0x84
[  353.150000] [<800abc54>] run_timer_softirq+0x1c4/0x204
[  353.150000] [<80082b10>] __do_softirq+0xf8/0x230
[  353.160000] [<80082c70>] run_ksoftirqd+0x28/0x58
[  353.160000] [<80098c88>] smpboot_thread_fn+0x134/0x164
[  353.170000] [<800961c0>] kthread+0xd8/0xe4
[  353.170000] [<80060878>] ret_from_kernel_thread+0x14/0x1c
[  353.180000]
[  353.180000] ---[ end trace 1b78d88189b1878f ]---
[  353.180000] r8152 1-1:1.0 eth1: Tx timeout
[  358.010000] r8152 1-1:1.0 eth1: Tx timeout
[  363.010000] r8152 1-1:1.0 eth1: Tx timeout
[  368.010000] r8152 1-1:1.0 eth1: Tx timeout
[  373.010000] r8152 1-1:1.0 eth1: Tx timeout
[  378.010000] r8152 1-1:1.0 eth1: Tx timeout
[  383.010000] r8152 1-1:1.0 eth1: Tx timeout
[  388.010000] r8152 1-1:1.0 eth1: Tx timeout
[  393.010000] r8152 1-1:1.0 eth1: Tx timeout
[  398.010000] r8152 1-1:1.0 eth1: Tx timeout
[  403.010000] r8152 1-1:1.0 eth1: Tx timeout
[  408.010000] r8152 1-1:1.0 eth1: Tx timeout
[  413.010000] r8152 1-1:1.0 eth1: Tx timeout
[  418.010000] r8152 1-1:1.0 eth1: Tx timeout
[  423.010000] r8152 1-1:1.0 eth1: Tx timeout
[  428.010000] r8152 1-1:1.0 eth1: Tx timeout
[  433.010000] r8152 1-1:1.0 eth1: Tx timeout
[  438.010000] r8152 1-1:1.0 eth1: Tx timeout
[  443.010000] r8152 1-1:1.0 eth1: Tx timeout
[  448.010000] r8152 1-1:1.0 eth1: Tx timeout
[  453.010000] r8152 1-1:1.0 eth1: Tx timeout
[  458.010000] r8152 1-1:1.0 eth1: Tx timeout
[  463.010000] r8152 1-1:1.0 eth1: Tx timeout
[  463.740000] br-lan: port 1(eth1) entered disabled state
[  463.740000] device eth1 left promiscuous mode

A few things:

  1. Chaos Calmer is REALLY old and you'll likely have difficulty finding someone who even remembers the details of how to configure that version. With each new version, things change -- we've now gone through 4 major revisions since Chaos Calmer was released. CC is has been EOL for a long time.
  2. There are security vulnerabilities that have been discovered in the earlier versions of OpenWrt, so anything older than 19.07 is considered to be insecure.
  3. What does custom built mean in your context? An image created using the image builder based on the official release, or a truly customized version with differences in the code? If image builder based 'customization' is the answer here, you might be able to find some solutions here, but if it is customized by another party, you should contact them since they will know what they have done to customize it and how that may affect other things (and help you get here will not necessarily apply).
  4. Your device is REALLY old and underpowered as 4/32 device. Unless you happen to have an MR3020 v3 -- if that's the case, upgrade immediately to either 19.07 or 21.02.
  5. It is possible that your r8152 ethernet adapter or the USB port is dying. It could be as simple as a power issue (try a powered hub between the MR3020 and the dongle), or it could be failing hardware.

But regardless, get yourself something newer -- that has really been hanging on way too long.

Thanks for the reply. Understand everything is very dated, especially the CC base. Mostly due to the 4/32 limitation i'm facing (its basically MR3020 v1). Hence the custom build, i had to strip everything down the bare minimal just so that i have USB eth, OpenVPN & TinyProxy running within 4MB. Anything above CC was impossible to trim down, but i understand thats another discussion thread

I'll try the powered USB hub suggestion.
Thanks!