Xavier NX locks up/resets if LAN cable attached

This was driving me nuts. Xavier NX (8GB] on a Leetop A205 carrier board, which has 2x 1Gbe NIC’s on it.

If an active cable is connected to either LAN port, the Xavier NX will randomly lock up and reset.

  • Disconnect the network cable, runs for hours+ no worries

Have tried different cable and network switch to eliminate those from being at fault/cause.

Any ideas brains trust? This is too bizzare.

kern.log shows the following (tons of these lines) up to the moment of hang/reset.

[15347.358631] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[15415.734809] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[15477.503550] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[15546.015926] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[15621.589303] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[15690.530650] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[15759.214431] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[15831.440052] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[15892.801464] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[15960.137934] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[16026.647654] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)

Hi,

I think you should directly report this issue to Leetop and if they have any issue, they would come to us.

We don’t have any detail about Leetop board and I don’t think you have it either. Thus, better letting them come to us to check.

Been there and done that. They suggest NVidia would know what was happening (oh, they are super helpful).

I have some details, I’ve already had to fix up their supplied somewhat broken and invalid Device Tree to make the CSI-2 connectors work properly (being new to the Jetson ecosystem here, it seems the bar is low for people making carrier boards for these SOMs)

Sorry that I have to say this is unlikely for me to know what happened to this board. For example, I don’t even know where does their second 1GbE NIC come from.

Generally, we only deal with issue that could be reproduced on NV devkit. Is your issue able to be reproduce on nv devkit?

I also doubt being able to help, but can you boot without the LAN cable, start “dmesg --follow”, and record the output of “ifconfig” and “route”? Then attach the cable, show whatever has happened with “dmesg --follow” additional logs, and if possible, then the output of a new “ifconfig” and “route”?

Please keep in mind that if local connections lock up it may still be possible to use serial console. Serial console tends to survive more errors than any other form of I/O. If it turns out that even serial console fails, then this too is a useful clue.

All good, just trying to determine if it’s a Jetson/SOM issue or a carrier board issue (my money is on the carrier board).
The two RJ45 sockets on the board, seem to be connected to the same interface (eth0) … no earthly idea why (thought maybe one acts as a POE PD passthrough or something, but nope).

Here is dmesg output up to it failing/rebooting. (It fully powers off and then starts back up after 5-6 seconds).

[ 36.179211] vdd-sdmmc1-sw: disabling
[ 36.179246] vdd-1v8-sd: disabling
[ 36.179252] vdd-1v8-cvb: disabling
[ 36.179257] vdd-epb-1v0: disabling
[ 36.179261] avdd-cam-2v8: disabling
[ 36.179266] vdd-fan: disabling
[ 36.179271] vdd_sys_en: disabling
[ 60.494326] nvgpu: 17000000.gv11b railgate_enable_store:297 [INFO] railgate is disabled.
[ 5319.119462] eqos 2490000.ether_qos: changing MTU from 1500 to 1460
[ 5319.446859] gpio tegra-gpio wake20 for gpio=52(G:4)
[ 5322.468360] eqos 2490000.ether_qos eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 5495.925074] page:ffffffbf024755c0 count:0 mapcount:0 mapping: (null) index:0x0
[ 5495.925295] flags: 0x4000000000000000()
[ 5495.925375] page dumped because: VM_BUG_ON_PAGE(page_ref_count(page) == 0)
[ 5495.925532] ------------[ cut here ]------------
[ 5495.925536] kernel BUG at …/include/linux/mm.h:455!
[ 5495.925624] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
[ 5495.925721] Modules linked in: ip6t_MASQUERADE nf_nat_masquerade_ipv6 xt_mark ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_filter ip6_tables xt_conntrack ipt_MASQUERADE nf_nat_masquerade_ipv4 nf_conntrack_netlink nfnetlink xt_addrtype iptable_filter iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack br_netfilter zram overlay rtl8821cu cfg80211 userspace_alert nvgpu ip_tables x_tables
[ 5495.926608] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.9.253-tegra #1
[ 5495.926923] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[ 5495.927405] task: ffffff8009e813c0 task.stack: ffffff8009e70000
[ 5495.927862] PC is at __free_page_frag+0x74/0xa0
[ 5495.928214] LR is at __free_page_frag+0x74/0xa0
[ 5495.931602] pc : [] lr : [] pstate: 80400045
[ 5495.938689] sp : ffffffc1ffcf1d10
[ 5495.942360] x29: ffffffc1ffcf1d10 x28: ffffffc1e24b0900
[ 5495.947695] x27: ffffffc1e24ba000 x26: ffffffc1f2bf7008
[ 5495.953208] x25: ffffffc1c8f95a00 x24: 00000000200005ce
[ 5495.958985] x23: ffffff800fff4ab0 x22: 0000000000000040
[ 5495.963883] x21: ffffffc1c8f95a00 x20: ffffffc091d57ec0
[ 5495.968970] x19: ffffffc091d57640 x18: 0000000000000010
[ 5495.974994] x17: 0000000000000002 x16: 0000000000000003
[ 5495.980519] x15: ffffffffffffffff x14: ffffff808a15e5b7
[ 5495.986460] x13: ffffff800a15e5c5 x12: 0000000000000000
[ 5495.991971] x11: 0000000005f5e0ff x10: 0000000000000434
[ 5495.997320] x9 : 00000000ffffffd0 x8 : ffffff80083d6cf0
[ 5496.003346] x7 : ffffff8009ec4468 x6 : ffffffc1ffcf2bf0
[ 5496.008606] x5 : 0000000000000001 x4 : 0000000000000000
[ 5496.014194] x3 : ffffff8009e7b2c0 x2 : 0000000000000040
[ 5496.019284] x1 : 0000000000000000 x0 : 000000000000003e

[ 5496.026024] Process swapper/0 (pid: 0, stack limit = 0xffffff8009e70000)
[ 5496.032401] Call trace:
[ 5496.035029] [] __free_page_frag+0x74/0xa0
[ 5496.040363] [] skb_free_head+0x38/0x48
[ 5496.045439] [] skb_release_data+0x100/0x130
[ 5496.050775] [] skb_release_all+0x30/0x40
[ 5496.055852] [] consume_skb+0x38/0x118
[ 5496.060407] [] __dev_kfree_skb_any+0x54/0x60
[ 5496.066009] [] eqos_napi_poll_rx+0x3e0/0x4f8
[ 5496.071865] [] net_rx_action+0xf4/0x358
[ 5496.076681] [] __do_softirq+0x13c/0x3b0
[ 5496.082015] [] irq_exit+0xd0/0x118
[ 5496.086652] [] __handle_domain_irq+0x6c/0xc0
[ 5496.092511] [] gic_handle_irq+0x5c/0xb0
[ 5496.097763] [] el1_irq+0xe8/0x194
[ 5496.102495] [] cpuidle_enter_state+0xb8/0x380
[ 5496.108439] [] cpuidle_enter+0x34/0x48
[ 5496.113950] [] call_cpuidle+0x44/0x70
[ 5496.119198] [] cpu_startup_entry+0x1b0/0x200
[ 5496.125242] [<ffffff8008f63f

ifconfig output

~$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:9d:89:a1:80 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 192.168.0.199 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::1528:b5a5:ffcb:85e0 prefixlen 64 scopeid 0x20
ether 48:b0:2d:39:ec:3f txqueuelen 1000 (Ethernet)
RX packets 226 bytes 59787 (59.7 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2481 bytes 1562481 (1.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 37

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 2366 bytes 166561 (166.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2366 bytes 166561 (166.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

rndis0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 2a:0f:35:69:3f:7d txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

tailscale0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1280
inet 100.88.40.100 netmask 255.255.255.255 destination 100.88.40.100
inet6 fd7a:115c:a1e0:ab12:4843:cd96:6258:2864 prefixlen 128 scopeid 0x0
inet6 fe80::2d9f:ad7e:8011:ac92 prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 650 bytes 76973 (76.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1127 bytes 116749 (116.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

usb0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 2a:0f:35:69:3f:7f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 192.168.0.176 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::2cd9:b5f2:ba40:e24 prefixlen 64 scopeid 0x20
ether 1c:bf:ce:99:4f:19 txqueuelen 1000 (Ethernet)
RX packets 2364379 bytes 2395980914 (2.3 GB)
RX errors 0 dropped 18 overruns 0 frame 0
TX packets 1361189 bytes 1619242023 (1.6 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

carl@sport4:~$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:9d:89:a1:80 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 192.168.0.199 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::1528:b5a5:ffcb:85e0 prefixlen 64 scopeid 0x20
ether 48:b0:2d:39:ec:3f txqueuelen 1000 (Ethernet)
RX packets 229 bytes 60464 (60.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2497 bytes 1568205 (1.5 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 37

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1 (Local Loopback)
RX packets 2366 bytes 166561 (166.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2366 bytes 166561 (166.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

rndis0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 2a:0f:35:69:3f:7d txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

tailscale0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1280
inet 100.88.40.100 netmask 255.255.255.255 destination 100.88.40.100
inet6 fd7a:115c:a1e0:ab12:4843:cd96:6258:2864 prefixlen 128 scopeid 0x0
inet6 fe80::2d9f:ad7e:8011:ac92 prefixlen 64 scopeid 0x20
unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 500 (UNSPEC)
RX packets 650 bytes 76973 (76.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1127 bytes 116749 (116.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

usb0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 2a:0f:35:69:3f:7f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460
inet 192.168.0.176 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::2cd9:b5f2:ba40:e24 prefixlen 64 scopeid 0x20
ether 1c:bf:ce:99:4f:19 txqueuelen 1000 (Ethernet)
RX packets 2364387 bytes 2395982436 (2.3 GB)
RX errors 0 dropped 18 overruns 0 frame 0
TX packets 1361189 bytes 1619242023 (1.6 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

route output

:~$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default m.home 0.0.0.0 UG 100 0 0 eth0
default m.home 0.0.0.0 UG 600 0 0 wlan0
link-local 0.0.0.0 255.255.0.0 U 1000 0 0 docker0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 600 0 0 wlan0

Ran through again, and got a different dmesg output (ifconfig/route being the same)

[ 36.189008] vdd-1v8-sd: disabling
[ 36.189014] vdd-1v8-cvb: disabling
[ 36.189018] vdd-epb-1v0: disabling
[ 36.189023] avdd-cam-2v8: disabling
[ 36.189027] vdd-fan: disabling
[ 36.189032] vdd_sys_en: disabling
[ 46.136616] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[ 60.495125] nvgpu: 17000000.gv11b railgate_enable_store:297 [INFO] railgate is disabled.
[ 79.140672] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[ 122.140867] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[ 175.143465] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[ 238.152485] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[ 301.138611] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[ 364.130957] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[ 406.748746] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[ 411.623278] start_addr=(0x8000), end_addr=(0x10000), buffer_size=(0x8000), smp_number_max=(4096)
[ 411.737394] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[ 1271.968803] ------------[ cut here ]------------
[ 1271.968945] WARNING: CPU: 0 PID: 3 at /black_hd/jetapck_4.6_nx_xavier/kernel/nvidia/drivers/net/ethernet/nvidia/eqos/desc.c:387 desc_alloc_skb.isra.6+0x13c/0x1c8
[ 1271.969181] Modules linked in: ip6t_MASQUERADE nf_nat_masquerade_ipv6 xt_mark ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_filter ip6_tables xt_conntrack ipt_MASQUERADE nf_nat_masquerade_ipv4 nf_conntrack_netlink nfnetlink xt_addrtype br_netfilter iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter zram overlay rtl8821cu cfg80211 userspace_alert nvgpu ip_tables x_tables

[ 1271.969359] CPU: 0 PID: 3 Comm: ksoftirqd/0 Not tainted 4.9.253-tegra #1
[ 1271.969363] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[ 1271.969367] task: ffffffc1f6b29c00 task.stack: ffffffc1f6b4c000
[ 1271.969374] PC is at desc_alloc_skb.isra.6+0x13c/0x1c8
[ 1271.969393] LR is at eqos_re_alloc_skb+0x68/0x108
[ 1271.969398] pc : [] lr : [] pstate: 20c00045
[ 1271.969402] sp : ffffffc1f6b4fb60
[ 1271.969410] x29: ffffffc1f6b4fb60 x28: ffffffc1e2b58900
[ 1271.969423] x27: ffffffc1e2b5c000 x26: ffffffc1bb970f30
[ 1271.969432] x25: 0000000002080020 x24: 0000000000000000
[ 1271.969440] x23: 000000005dc64cc2 x22: ffffffc1bb970dd0
[ 1271.969448] x21: ffffffc1bb970dc8 x20: ffffffc1e2b58900
[ 1271.969455] x19: ffffffc1cdf5b600 x18: 0000000000000400
[ 1271.969463] x17: 0000000000000002 x16: 0000000000000003
[ 1271.969470] x15: ffffffc1f5426028 x14: 000200000005de01
[ 1271.969477] x13: 0002000000000000 x12: ffffff800c000064
[ 1271.969485] x11: 000000000000000b x10: 0101010101010101
[ 1271.969501] x9 : ffffffffffffffff x8 : 0000000000000002
[ 1271.969508] x7 : 0000000000000003 x6 : ffffffc1f6b29c00
[ 1271.969517] x5 : ffffffc1cdf5b100 x4 : 0000000000000000
[ 1271.969524] x3 : 0000000002080020 x2 : ffffffc1bb970dd0
[ 1271.969532] x1 : ffffffc1bb970dc8 x0 : 0000000000000036

[ 1271.969543] —[ end trace 983f078d9719fbc7 ]—
[ 1271.969628] Call trace:
[ 1271.969636] [] desc_alloc_skb.isra.6+0x13c/0x1c8
[ 1271.969642] [] eqos_re_alloc_skb+0x68/0x108
[ 1271.969648] [] eqos_napi_poll_rx+0x2dc/0x4f8
[ 1271.969656] [] net_rx_action+0xf4/0x358
[ 1271.969664] [] __do_softirq+0x13c/0x3b0
[ 1271.969671] [] run_ksoftirqd+0x48/0x58
[ 1271.969678] [] smpboot_thread_fn+0x160/0x248
[ 1271.969684] [] kthread+0xec/0xf0
[ 1271.969689] [] ret_from_fork+0x10/0x30
[ 1272.083546] skbuff: skb_over_panic: text:ffffff8008944e40 len:1604 put:1514 head:ffffffc1cdcc8800 data:ffffffc1cdcc88e6 tail:0x72a end:0x2c0 dev:eth0
[ 1272.083904] ------------[ cut here ]------------
[ 1272.083914] kernel BUG at …/net/core/skbuff.c:105!
[ 1272.084006] Internal error: Oops - BUG: 0 [#1] PREEMPT SMP
[ 1272.084105] Modules linked in: ip6t_MASQUERADE nf_nat_masquerade_ipv6 xt_mark ip6table_nat nf_conntrack_ipv6 nf_defrag_ipv6 nf_nat_ipv6 ip6table_filter ip6_tables xt_conntrack ipt_MASQUERADE nf_nat_masquerade_ipv4 nf_conntrack_netlink nfnetlink xt_addrtype br_netfilter iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack iptable_filter zram overlay rtl8821cu cfg80211 userspace_alert nvgpu ip_tables x_tables
[ 1272.085045] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G W 4.9.253-tegra #1
[ 1272.085185] Hardware name: NVIDIA Jetson Xavier NX Developer Kit (DT)
[ 1272.085546] task: ffffff8009e813c0 task.stack: ffffff8009e70000

Any insights are appreicated

Hi,

The stack dump and MTU changed from 1500 to 1460 remind me of another topic. → Kernel panic with jumbo frames in L4T 32.5.1 / TX2 4GB

Please try this patch

diff --git a/drivers/net/ethernet/nvidia/eqos/drv.c b/drivers/net/ethernet/nvidia/eqos/drv.c
index 7c7bb26..6e7c98f 100644
--- a/drivers/net/ethernet/nvidia/eqos/drv.c
+++ b/drivers/net/ethernet/nvidia/eqos/drv.c
@@ -2329,8 +2329,15 @@
 #ifdef EQOS_ENABLE_RX_DESC_DUMP
 		dump_rx_desc(qinx, prx_desc, entry);
 #endif
+
+		/* Process rx packets which takes only 1 rx desc buffer
+		 * and drop other packets which are spread across
+		 * descriptors due to MTU mismatch. Do not free the
+		 * buffers but reuse the mapped skb buffer again.
+		 */
 		if (likely(!(status & EQOS_RDESC3_ES_BITS) &&
-			   (status & EQOS_RDESC3_LD))) {
+			   (status & EQOS_RDESC3_LD) &&
+			   (status & EQOS_RDESC3_FD))) {
 			/* Unmap the SKB */
 			skb = prx_swcx_desc->skb;
 			prx_swcx_desc->skb = NULL;
@@ -2364,10 +2371,8 @@
 			}
 
 			eqos_receive_skb(pdata, dev, skb, qinx);
-		} else {
+		} else
 			eqos_update_rx_errors(dev, status);
-			dev_kfree_skb_any(prx_swcx_desc->skb);
-		}
 
 		received++;
 		if (eqos_rx_dirty(prx_ring) >=

Note in the above for wlan0 there are dropped packets. This interface is receiving data, but it is not emptying the buffer in time. Not all interfaces had traffic, but no other interface had such an issue (drops are not necessarily a bug, especially for UDP). Most interfaces are operating as expected.

Also worth noting is that the default route would normally go through eth0 due to having a lower metric versus the other default route, wlan0. So I would say that traffic on wlan0 is specific to its route, rather than being overflow to some upstream gateway.

I would have to agree that the mtu size of 1460 is unusual. I can’t say that this is the cause of an error, but hardware on every hop (e.g., a network switch) on the route up to your router would have to work correctly with that MTU. It is not unusual for some hardware to not correctly handle unusual MTUs.

I am curious now, what do you see from these (which will talk about discovery, which in turn is related to MTU):

sudo ethtool eth0
# This probably has no output:
sudo ethtool wlan0

Don’t know if it matters, but it is worth noting that wlan0 is purely in software (and this is the interface dropping packets). Note that when IPv6 runs on wlan0 that this is when one of the kernel OOPS hits, and it is related to ksoftirqd (versus a hardware interrupt driver):

I can’t say what is going on, but perhaps it is IPv6 or MTU being an issue.

1 Like

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