Hi,
I figured out what was going on. I just thought I would share the solution. The devicetree for the phy was incorrect, since the kernel driver at803x.c updated the way the tx and rx delays are set in the phy. So if you use a kernel version with the following commit you will need to update the phy mode to rgmii-id (delay both rx and tx) instead of rgmii-txid (delay just the tx) in the device tree. The setting seems more “correct” since the MAC (cpsw) does not impliment any internel delays for RGMII mode.
Hi,
I wanted to update my post.
With Wireshark I was able to capture arp requests coming from the eval board
but they had bad checksum errors. Not sure if this is a phy problem or a cpsw
problem. So packets are leaving the eval board with bad checksums.
Attached is a wireshark image capture. I also uploaded the devicetree that
didn’t upload because of the file extension.
Ethtool reports that we are getting Rx CRC Errors.
root@beaglebone:~# ethtool -S eth0
NIC statistics:
Good Rx Frames: 0
Broadcast Rx Frames: 0
Multicast Rx Frames: 0
Pause Rx Frames: 0
Rx CRC Errors: 14
Rx Align/Code Errors: 0
Oversize Rx Frames: 0
Rx Jabbers: 0
Undersize (Short) Rx Frames: 0
Rx Fragments: 0
Rx Octets: 0
Good Tx Frames: 34
Broadcast Tx Frames: 18
Multicast Tx Frames: 16
Pause Tx Frames: 0
Deferred Tx Frames: 0
Collisions: 0
Single Collision Tx Frames: 0
Multiple Collision Tx Frames: 0
Excessive Collisions: 0
Late Collisions: 0
Tx Underrun: 0
Carrier Sense Errors: 0
Tx Octets: 2584
Rx + Tx 64 Octet Frames: 3
Rx + Tx 65-127 Octet Frames: 42
Rx + Tx 128-255 Octet Frames: 2
Rx + Tx 256-511 Octet Frames: 0
Rx + Tx 512-1023 Octet Frames: 0
Rx + Tx 1024-Up Octet Frames: 1
Net Octets: 5052
Rx Start of Frame Overruns: 0
Rx Middle of Frame Overruns: 0
Rx DMA Overruns: 0
Rx DMA chan 0: head_enqueue: 1
Rx DMA chan 0: tail_enqueue: 127
Rx DMA chan 0: pad_enqueue: 0
Rx DMA chan 0: misqueued: 0
Rx DMA chan 0: desc_alloc_fail: 0
Rx DMA chan 0: pad_alloc_fail: 0
Rx DMA chan 0: runt_receive_buf: 0
Rx DMA chan 0: runt_transmit_bu: 0
Rx DMA chan 0: empty_dequeue: 0
Rx DMA chan 0: busy_dequeue: 0
Rx DMA chan 0: good_dequeue: 0
Rx DMA chan 0: requeue: 0
Rx DMA chan 0: teardown_dequeue: 0
Tx DMA chan 0: head_enqueue: 34
Tx DMA chan 0: tail_enqueue: 0
Tx DMA chan 0: pad_enqueue: 0
Tx DMA chan 0: misqueued: 0
Tx DMA chan 0: desc_alloc_fail: 0
Tx DMA chan 0: pad_alloc_fail: 0
Tx DMA chan 0: runt_receive_buf: 0
Tx DMA chan 0: runt_transmit_bu: 18
Tx DMA chan 0: empty_dequeue: 34
Tx DMA chan 0: busy_dequeue: 0
Tx DMA chan 0: good_dequeue: 34
Tx DMA chan 0: requeue: 0
Tx DMA chan 0: teardown_dequeue: 0
Octavo Systems LLC all rights reserved
OCTAVO is registered in the U.S. Patent and Trademark Office. OSD, C-SiP, and the Octavo Logo are trademarks of Octavo Systems LLC.
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields
"*" indicates required fields