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
