Hi TI,
We are facing the issue with PRU Ethernet on AM6548 SDK 8.2 SR2. We have observed that intermittently there is no rx packets on the PRU ethernet whereas tx packets are properly increasing. rx - packets are stuck at particular value or maybe at 0. we can see the DHCP request being broadcasted on network and also we are getting the packets reply from DHCP server but if we see the packets count in PRU ethernet we dont see a increase in rx looks like PRU ethernet is stuck for some data or maybe in unknown state waiting for some data. I am attaching the wireshark logs and also shell console logs where you can see rx packets are stuck at a particular value.
~ # sudo ifconfig eth1 down [89415.006053] icssg-prueth icssg1_eth eth1: Link is Down [89415.016286] remoteproc remoteproc8: stopped remote processor b10a000.txpru [89415.023443] remoteproc remoteproc7: stopped remote processor b104000.rtu [89415.030569] remoteproc remoteproc6: stopped remote processor b134000.pru [89415.039577] net eth1: stopped ~ # sudo ifconfig eth1 down ~ # cat /sys/class/remoteproc/remoteproc6/state offline ~ # cat /sys/class/remoteproc/remoteproc7/state offline ~ # cat /sys/class/remoteproc/remoteproc8/state offline ~ # ethtool -S eth1 NIC statistics: rx_good_frames: 3 rx_broadcast_frames: 1 rx_multicast_frames: 3 rx_crc_error_frames: 3 rx_mii_error_frames: 0 rx_odd_nibble_frames: 0 rx_frame_max_size: 2000 rx_max_size_error_frames: 0 rx_frame_min_size: 64 rx_min_size_error_frames: 0 rx_overrun_frames: 3 rx_class0_hits: 6 rx_class1_hits: 0 rx_class2_hits: 0 rx_class3_hits: 0 rx_class4_hits: 0 rx_class5_hits: 0 rx_class6_hits: 0 rx_class7_hits: 0 rx_class8_hits: 4 rx_class9_hits: 4 rx_class10_hits: 0 rx_class11_hits: 0 rx_class12_hits: 0 rx_class13_hits: 0 rx_class14_hits: 0 rx_class15_hits: 0 rx_smd_frags: 0 rx_bucket1_size: 64 rx_bucket2_size: 128 rx_bucket3_size: 256 rx_bucket4_size: 512 rx_64B_frames: 0 rx_bucket1_frames: 0 rx_bucket2_frames: 6 rx_bucket3_frames: 0 rx_bucket4_frames: 0 rx_bucket5_frames: 0 rx_total_bytes: 596 rx_tx_total_bytes: 248833 tx_good_frames: 743 tx_broadcast_frames: 687 tx_multicast_frames: 743 tx_odd_nibble_frames: 0 tx_underflow_errors: 0 tx_frame_max_size: 2000 tx_max_size_error_frames: 0 tx_frame_min_size: 64 tx_min_size_error_frames: 0 tx_bucket1_size: 64 tx_bucket2_size: 128 tx_bucket3_size: 256 tx_bucket4_size: 512 tx_64B_frames: 0 tx_bucket1_frames: 0 tx_bucket2_frames: 56 tx_bucket3_frames: 0 tx_bucket4_frames: 687 tx_bucket5_frames: 0 tx_total_bytes: 248237 ~ # ifconfig eth0 Link encap:Ethernet HWaddr 00:D0:AF:07:00:00 inet6 addr: fe80::2d0:afff:fe07:0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:15654 errors:0 dropped:0 overruns:0 frame:0 TX packets:14936 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:939240 (917.2 KiB) TX bytes:628500 (613.7 KiB) eth2 Link encap:Ethernet HWaddr 8E:C9:BC:86:E8:02 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:9957 errors:0 dropped:0 overruns:0 frame:0 TX packets:9957 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:951166 (928.8 KiB) TX bytes:951166 (928.8 KiB) usb0 Link encap:Ethernet HWaddr EE:AD:A3:ED:58:52 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) ~ # sudo ifconfig eth1 up [89510.662639] remoteproc remoteproc6: powering up b134000.pru [89510.676659] remoteproc remoteproc6: Booting fw image ti-pruss/am65x-sr2-pru0-prueth-fw.elf, size 37264 [89510.692510] remoteproc remoteproc6: unsupported resource 5 [89510.698083] remoteproc remoteproc6: remote processor b134000.pru is now up [89510.705493] remoteproc remoteproc7: powering up b104000.rtu [89510.711431] remoteproc remoteproc7: Booting fw image ti-pruss/am65x-sr2-rtu0-prueth-fw.elf, size 30832 [89510.721069] remoteproc remoteproc7: remote processor b104000.rtu is now up [89510.728527] remoteproc remoteproc8: powering up b10a000.txpru [89510.734724] remoteproc remoteproc8: Booting fw image ti-pruss/am65x-sr2-txpru0-prueth-fw.elf, size 36656 [89510.744477] remoteproc remoteproc8: remote processor b10a000.txpru is now up [89510.765119] TI DP83867 b132400.mdio:00: attached PHY driver [TI DP83867] (mii_bus:phy_addr=b132400.mdio:00, irq=POLL) [89510.776051] net eth1: started ~ # [89513.861808] icssg-prueth icssg1_eth eth1: Link is Up - 1Gbps/Full - flow control off [89513.869673] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready ~ # ifconfig eth0 Link encap:Ethernet HWaddr 00:D0:AF:07:00:00 inet6 addr: fe80::2d0:afff:fe07:0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:15660 errors:0 dropped:0 overruns:0 frame:0 TX packets:14936 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:939600 (917.5 KiB) TX bytes:628500 (613.7 KiB) eth1 Link encap:Ethernet HWaddr 8E:C9:BC:86:E8:01 inet6 addr: fe80::8cc9:bcff:fe86:e801/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:750 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:239907 (234.2 KiB) eth2 Link encap:Ethernet HWaddr 8E:C9:BC:86:E8:02 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:9957 errors:0 dropped:0 overruns:0 frame:0 TX packets:9957 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:951166 (928.8 KiB) TX bytes:951166 (928.8 KiB) usb0 Link encap:Ethernet HWaddr EE:AD:A3:ED:58:52 UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) ~ # cat /sys/class/remoteproc/remoteproc6/state running ~ # cat /sys/class/remoteproc/remoteproc7/state running ~ # cat /sys/class/remoteproc/remoteproc8/state running ~ # ethtool -S eth1 NIC statistics: rx_good_frames: 4 rx_broadcast_frames: 1 rx_multicast_frames: 4 rx_crc_error_frames: 4 rx_mii_error_frames: 0 rx_odd_nibble_frames: 0 rx_frame_max_size: 2000 rx_max_size_error_frames: 0 rx_frame_min_size: 64 rx_min_size_error_frames: 0 rx_overrun_frames: 4 rx_class0_hits: 8 rx_class1_hits: 0 rx_class2_hits: 0 rx_class3_hits: 0 rx_class4_hits: 0 rx_class5_hits: 0 rx_class6_hits: 0 rx_class7_hits: 0 rx_class8_hits: 6 rx_class9_hits: 6 rx_class10_hits: 0 rx_class11_hits: 0 rx_class12_hits: 0 rx_class13_hits: 0 rx_class14_hits: 0 rx_class15_hits: 0 rx_smd_frags: 0 rx_bucket1_size: 64 rx_bucket2_size: 128 rx_bucket3_size: 256 rx_bucket4_size: 512 rx_64B_frames: 0 rx_bucket1_frames: 0 rx_bucket2_frames: 8 rx_bucket3_frames: 0 rx_bucket4_frames: 0 rx_bucket5_frames: 0 rx_total_bytes: 762 rx_tx_total_bytes: 249833 tx_good_frames: 752 tx_broadcast_frames: 687 tx_multicast_frames: 752 tx_odd_nibble_frames: 0 tx_underflow_errors: 0 tx_frame_max_size: 2000 tx_max_size_error_frames: 0 tx_frame_min_size: 64 tx_min_size_error_frames: 0 tx_bucket1_size: 64 tx_bucket2_size: 128 tx_bucket3_size: 256 tx_bucket4_size: 512 tx_64B_frames: 0 tx_bucket1_frames: 0 tx_bucket2_frames: 65 tx_bucket3_frames: 0 tx_bucket4_frames: 687 tx_bucket5_frames: 0 tx_total_bytes: 249071 ~ # sudo udhcpc -b -B -A 30 -t 5 -T 3 -R -i eth1 -s /etc/udhcpc.script udhcpc: started, v1.33.2 udhcpc: sending discover udhcpc: sending discover udhcpc: sending discover udhcpc: sending discover udhcpc: sending discover sh: missing ] udhcpc.script: DHCP failed, falling back... /etc/init.d/ntpd: NOTICE: Wait 5 secs more for service '18246' to stop. udhcpc: no lease, forking to background ~ # ethtool -S eth1 NIC statistics: rx_good_frames: 4 rx_broadcast_frames: 1 rx_multicast_frames: 4 rx_crc_error_frames: 4 rx_mii_error_frames: 0 rx_odd_nibble_frames: 0 rx_frame_max_size: 2000 rx_max_size_error_frames: 0 rx_frame_min_size: 64 rx_min_size_error_frames: 0 rx_overrun_frames: 4 rx_class0_hits: 8 rx_class1_hits: 0 rx_class2_hits: 0 rx_class3_hits: 0 rx_class4_hits: 0 rx_class5_hits: 0 rx_class6_hits: 0 rx_class7_hits: 0 rx_class8_hits: 6 rx_class9_hits: 6 rx_class10_hits: 0 rx_class11_hits: 0 rx_class12_hits: 0 rx_class13_hits: 0 rx_class14_hits: 0 rx_class15_hits: 0 rx_smd_frags: 0 rx_bucket1_size: 64 rx_bucket2_size: 128 rx_bucket3_size: 256 rx_bucket4_size: 512 rx_64B_frames: 0 rx_bucket1_frames: 0 rx_bucket2_frames: 8 rx_bucket3_frames: 0 rx_bucket4_frames: 0 rx_bucket5_frames: 0 rx_total_bytes: 762 rx_tx_total_bytes: 255307 tx_good_frames: 769 tx_broadcast_frames: 702 tx_multicast_frames: 769 tx_odd_nibble_frames: 0 tx_underflow_errors: 0 tx_frame_max_size: 2000 tx_max_size_error_frames: 0 tx_frame_min_size: 64 tx_min_size_error_frames: 0 tx_bucket1_size: 64 tx_bucket2_size: 128 tx_bucket3_size: 256 tx_bucket4_size: 512 tx_64B_frames: 0 tx_bucket1_frames: 0 tx_bucket2_frames: 67 tx_bucket3_frames: 0 tx_bucket4_frames: 702 tx_bucket5_frames: 0 tx_total_bytes: 254545