BPI-R4 openwrt ethernet driver disconnect

Originally reported at mediatek: switch to Linux 6.1 and add BananaPi BPi-R4 by dangowrt · Pull Request #14140 · openwrt/openwrt · GitHub

I believe this is the same issue as:

Except I believe I’m the person to report it on the R4. Basicly, eventually, sometimes after an hour, sometimes after a week, I get

[ 5465.991635] mtk_soc_eth 15100000.ethernet eth0: Link is Down
[ 5466.130890] mtk_soc_eth 15100000.ethernet: warm reset failed
[ 5466.150758] mtk_soc_eth 15100000.ethernet eth0: configuring for fixed/internal link mode
[ 5466.158883] mtk_soc_eth 15100000.ethernet eth1: configuring for inband/10gbase-r link mode
[ 5466.158891] mtk_soc_eth 15100000.ethernet eth0: Link is Up - 10Gbps/Full - flow control rx/tx
[ 5466.179623] mtk_soc_eth 15100000.ethernet eth2: configuring for inband/10gbase-r link mode
[ 5506.019977] ------------[ cut here ]------------
[ 5506.024605] NETDEV WATCHDOG: eth0 (mtk_soc_eth): transmit queue 6 timed out
[ 5506.031574] WARNING: CPU: 3 PID: 0 at dev_watchdog+0x238/0x240
[ 5506.037402] Modules linked in: pppoe ppp_async nft_fib_inet nf_flow_table_inet pppox ppp_generic nft_reject_ipv6 nft_reject_ipv4 nft_reject_inet nft_reject nft_redir nft_quota nft_objref nft_numgen nft_nat nft_masq nft_log nft_limit nft_hash nft_flow_offload nft_fib_ipv6 nft_fib_ipv4 nft_fib nft_ct nft_chain_nat nf_tables mt7996e mt7915e mt76_connac_lib mt76 mac80211 ipt_REJECT cfg80211 xt_time xt_tcpudp xt_state xt_quota xt_pkttype xt_physdev xt_owner xt_nat xt_multiport xt_mark xt_mac xt_limit xt_conntrack xt_comment xt_cgroup xt_addrtype xt_TCPMSS xt_REDIRECT xt_MASQUERADE xt_LOG xt_CT slhc sfp rtc_pcf8563 nfnetlink nf_reject_ipv4 nf_log_syslog nf_flow_table mdio_i2c iptable_nat iptable_mangle iptable_filter ip_tables compat br_netfilter at24 crypto_safexcel pwm_fan i2c_mux_pca954x i2c_mux ip6table_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 ip6t_NPT ip6table_mangle ip6table_filter ip6_tables ip6t_REJECT x_tables nf_reject_ipv6 ahci libahci netlink_diag veth btrfs xor
[ 5506.037557]  xor_neon raid6_pq libcrc32c sha1_generic seqiv md5 des_generic libdes authencesn authenc leds_gpio xhci_plat_hcd xhci_pci xhci_mtk_hcd xhci_hcd gpio_button_hotplug usbcore usb_common aquantia
[ 5506.142484] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.1.78 #0
[ 5506.148392] Hardware name: Bananapi BPI-R4 (DT)
[ 5506.152911] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 5506.159860] pc : dev_watchdog+0x238/0x240
[ 5506.163858] lr : dev_watchdog+0x238/0x240
[ 5506.167856] sp : ffffffc008ca3e40
[ 5506.171159] x29: ffffffc008ca3e40 x28: ffffffc008b669c0 x27: ffffffc008ca3f10
[ 5506.178284] x26: 00000000000000e0 x25: 0000000000000000 x24: dead000000000122
[ 5506.185409] x23: 0000000000000000 x22: ffffffc008b66000 x21: 0000000000000006
[ 5506.192534] x20: ffffff80c09c4000 x19: ffffff80c09c44c0 x18: 0000000000000285
[ 5506.199658] x17: ffffffc0f6c51000 x16: ffffffc008ca0000 x15: ffffffc008b79aa0
[ 5506.206782] x14: 000000000000078f x13: 0000000000000285 x12: 00000000ffffffea
[ 5506.213906] x11: 00000000ffffefff x10: ffffffc008bd1aa0 x9 : ffffffc008b79a48
[ 5506.221030] x8 : 0000000000017fe8 x7 : c0000000ffffefff x6 : 0000000000000001
[ 5506.228154] x5 : 0000000000000000 x4 : 0000000000000000 x3 : 0000000000000000
[ 5506.235278] x2 : 0000000000000004 x1 : 0000000000000004 x0 : 000000000000003f
[ 5506.242402] Call trace:
[ 5506.244837]  dev_watchdog+0x238/0x240
[ 5506.248489]  call_timer_fn.constprop.0+0x20/0x80
[ 5506.253099]  __run_timers.part.0+0x208/0x284
[ 5506.257357]  run_timer_softirq+0x38/0x70
[ 5506.261269]  _stext+0x10c/0x278
[ 5506.264401]  ____do_softirq+0xc/0x14
[ 5506.267967]  call_on_irq_stack+0x24/0x40
[ 5506.271879]  do_softirq_own_stack+0x18/0x2c
[ 5506.276051]  __irq_exit_rcu+0xcc/0xd4
[ 5506.279706]  irq_exit_rcu+0xc/0x14
[ 5506.283098]  el1_interrupt+0x34/0x50
[ 5506.286665]  el1h_64_irq_handler+0x14/0x20
[ 5506.290750]  el1h_64_irq+0x68/0x6c
[ 5506.294140]  arch_cpu_idle+0x14/0x20
[ 5506.297705]  do_idle+0xc8/0x150
[ 5506.300838]  cpu_startup_entry+0x34/0x40
[ 5506.304750]  arch_show_interrupts+0x0/0x15c
[ 5506.308922]  __secondary_switched+0x64/0x68
[ 5506.313095] ---[ end trace 0000000000000000 ]---

in the logs, and all networking stops working (I’ve attached a full dmesg). I retrieved these logs through the serial port. Many sources note that thermals may be an issue, but I’ve never seen temps over 75C…

bpi-r4-no-networking.log (50.1 KB)