i.MX8M Mini PCIe Ethernet hang

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX8M Mini PCIe Ethernet hang

Jump to solution
1,200 Views
m_c
Senior Contributor I

HW: i.MX8M Mini LPDDR4 EVK

SW: Linux 4.14.98

eth0: on board

eth1: PCIe RTL8119

PC1 iperf client

PC2 iperf server

PC1 <-> eth0 <-> eth1 <-> PC2

ifconfig eth0 192.168.127.254
ifconfig eth1 192.168.128.254
echo 1 > /proc/sys/net/ipv4/ip_forward

Customer found PCIe Ethernet will hang when doing iperf test.

kernel print error message as below and iperf server didn't receive packet and PC1 can't ping eth1.

Also found dropped packet in ifconfig status.

Is there any direction we can debug for this issue?

eth0 Link encap:Ethernet HWaddr 00:04:9F:05:CF:BD
inet addr:192.168.127.254 Bcast:192.168.127.255 Mask:255.255.255.0
inet6 addr: fe80::204:9fff:fe05:cfbd/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:64471 errors:0 dropped:0 overruns:0 frame:0
TX packets:6769 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:97476880 (92.9 MiB) TX bytes:456694 (445.9 KiB)

eth1 Link encap:Ethernet HWaddr 00:90:E8:65:43:22
inet addr:192.168.128.254 Bcast:192.168.128.255 Mask:255.255.255.0
inet6 addr: fe80::290:e8ff:fe65:4322/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:7299 errors:0 dropped:0 overruns:0 frame:0
TX packets:66641 errors:0 dropped:534 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:510236 (498.2 KiB) TX bytes:84596120 (80.6 MiB)
Interrupt:232 Base address:0xd000

[ 284.991827] NETDEV WATCHDOG: eth1 (r8168): transmit queue 0 timed out
[ 284.998359] ------------[ cut here ]------------
[ 285.002990] WARNING: CPU: 3 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x2d8/0x2e0
[ 285.011252] Modules linked in: r8168(O)
[ 285.015096] CPU: 3 PID: 0 Comm: swapper/3 Tainted: G O 4.14.98 #1
[ 285.022317] Hardware name: FSL i.MX8MM EVK board (DT)
[ 285.027368] task: ffff80007a523800 task.stack: ffff000009bf8000
[ 285.033287] PC is at dev_watchdog+0x2d8/0x2e0
[ 285.037644] LR is at dev_watchdog+0x2d8/0x2e0
[ 285.042001] pc : [<ffff000008dc53a8>] lr : [<ffff000008dc53a8>] pstate: 20000145
[ 285.049394] sp : ffff00000801bd70
[ 285.052708] x29: ffff00000801bd70 x28: 0000000000000002
[ 285.058021] x27: ffff000009895188 x26: ffff80007bb60000
[ 285.063335] x25: 00000000ffffffff x24: 0000000000000003
[ 285.068649] x23: ffff000009896000 x22: ffff80007bb6041c
[ 285.073962] x21: 0000000000000000 x20: ffff80007bb60000
[ 285.079276] x19: ffff80007b798e00 x18: ffffffffffffffff
[ 285.084589] x17: 0000000000000000 x16: 0000000000000000
[ 285.089903] x15: ffff000009898b88 x14: ffff000089afc547
[ 285.095216] x13: ffff000009afc555 x12: ffff0000098b8000
[ 285.100530] x11: ffff000009898e00 x10: ffff00000873c810
[ 285.105843] x9 : 00000000ffffffd0 x8 : 0000000000000006
[ 285.111157] x7 : 2074696d736e6172 x6 : 0000000000000281
[ 285.116470] x5 : 0000000000000008 x4 : 0000000000000004
[ 285.121783] x3 : 0000000000000000 x2 : 0000000000000040
[ 285.127097] x1 : ffff80007a523800 x0 : 0000000000000039
[ 285.132411] Call trace:
[ 285.134859] Exception stack(0xffff00000801bc30 to 0xffff00000801bd70)
[ 285.141300] bc20: 0000000000000039 ffff80007a523800
[ 285.149129] bc40: 0000000000000040 0000000000000000 0000000000000004 0000000000000008
[ 285.156959] bc60: 0000000000000281 2074696d736e6172 0000000000000006 00000000ffffffd0
[ 285.164789] bc80: ffff00000873c810 ffff000009898e00 ffff0000098b8000 ffff000009afc555
[ 285.172619] bca0: ffff000089afc547 ffff000009898b88 0000000000000000 0000000000000000
[ 285.180449] bcc0: ffffffffffffffff ffff80007b798e00 ffff80007bb60000 0000000000000000
[ 285.188279] bce0: ffff80007bb6041c ffff000009896000 0000000000000003 00000000ffffffff
[ 285.196109] bd00: ffff80007bb60000 ffff000009895188 0000000000000002 ffff00000801bd70
[ 285.203939] bd20: ffff000008dc53a8 ffff00000801bd70 ffff000008dc53a8 0000000020000145
[ 285.211769] bd40: ffff00000109dff8 0000000000000000 0000ffffffffffff 00000000000000c0
[ 285.219597] bd60: ffff00000801bd70 ffff000008dc53a8
[ 285.224476] [<ffff000008dc53a8>] dev_watchdog+0x2d8/0x2e0
[ 285.229880] [<ffff000008156428>] call_timer_fn+0x38/0x1e0
[ 285.235280] [<ffff0000081566a0>] expire_timers+0xd0/0x170
[ 285.240680] [<ffff0000081567fc>] run_timer_softirq+0xbc/0x180
[ 285.246427] [<ffff000008081c6c>] __do_softirq+0x13c/0x3a0
[ 285.251828] [<ffff0000080e6ae0>] irq_exit+0xd0/0x110
[ 285.256795] [<ffff00000813b15c>] __handle_domain_irq+0x6c/0xc0
[ 285.262628] [<ffff000008081a24>] gic_handle_irq+0x84/0x184
[ 285.268113] Exception stack(0xffff000009bfbd80 to 0xffff000009bfbec0)
[ 285.274553] bd80: 0000000000000000 ffff80007a523800 0000000000000008 0000000000000008
[ 285.282383] bda0: 000a037a00000000 00ffffffffffffff 000000008afca0e6 0000000000000003
[ 285.290213] bdc0: 00000032b5503510 ffff000008082000 0000000000001000 0000000000000000
[ 285.298042] bde0: 0000000034d5d91d 0000800076720000 ffff80007a523800 0000000000000000
[ 285.305872] be00: 0000000000000000 0000000000000000 0000000000000000 000000425ad5aa56
[ 285.313702] be20: 0000000000000001 ffff80007b094e00 0000000000000001 ffff80007b167400
[ 285.321532] be40: 0000000000000001 0000004245dbb5d7 ffff80007a523800 0000000000000000
[ 285.329361] be60: 0000000000000000 ffff000009bfbec0 ffff000008bbdf9c ffff000009bfbec0
[ 285.337191] be80: ffff000008bbdfa0 0000000080000145 ffff80007b167478 0000000000000001
[ 285.345021] bea0: ffffffffffffffff ffff000008bbdf9c ffff000009bfbec0 ffff000008bbdfa0
[ 285.352851] [<ffff000008083230>] el1_irq+0xb0/0x124
[ 285.357734] [<ffff000008bbdfa0>] cpuidle_enter_state+0xb0/0x3a0
[ 285.363655] [<ffff000008bbe304>] cpuidle_enter+0x34/0x50
[ 285.368969] [<ffff000008129b44>] call_cpuidle+0x44/0x80
[ 285.374194] [<ffff000008129e7c>] do_idle+0x1ac/0x1f0
[ 285.379159] [<ffff00000812a0a8>] cpu_startup_entry+0x28/0x30
[ 285.384821] [<ffff0000080921b0>] secondary_start_kernel+0x110/0x120
[ 285.391086] ---[ end trace b2b1ef72c84b9dcc ]---

Labels (1)
0 Kudos
1 Solution
972 Views
igorpadykov
NXP Employee
NXP Employee

Hi m.c.

as described on below links there is no linux RTL8119 driver

The pain of an Realtek (RTL8111/RTL8168) ethernet card – Unixblogger 

Ubuntu Forums 

and it is necessary to use other other card drivers or sotware tweaks.

So may be suggested to apply to realtek for updated driver for that card,

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

View solution in original post

0 Kudos
1 Reply
973 Views
igorpadykov
NXP Employee
NXP Employee

Hi m.c.

as described on below links there is no linux RTL8119 driver

The pain of an Realtek (RTL8111/RTL8168) ethernet card – Unixblogger 

Ubuntu Forums 

and it is necessary to use other other card drivers or sotware tweaks.

So may be suggested to apply to realtek for updated driver for that card,

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos