This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/AM3358: Ethernet not settling to 1GBPS

Part Number: AM3358

Tool/software: Linux

Hello All

We have designed a custom board using AM3358 and have taken General Purpose EVM as reference.

The issue we observed is that our board is settling to 10MBps and not crossing it. We want 1GBps. Schematic is same as general purpose evm and attached here for reference. dts files and boot log has also been attached.

The linux sdk we are using is 05.03.00.07.

Kinjdly help me in resolving this issue by replying at the earliest.

Regards

Mad_hu

https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/791/ti.7z

  • Hello Mad_hu,

    Can you also attach the logs from this page?

    ethtool eth0
    ethtool -i eth0
    ethtool -S eth0
    ifconfig

    Best regards,
    Kemal

  • Hello Kemal

    Kindly find the attachment for the log you required.

    Regards

    Mad_hu

    root@BEL-MVR:~# 
    root@BEL-MVR:~# 
    root@BEL-MVR:~# ethtool eth0
    Settings for eth0:
    	Supported ports: [ TP MII ]
    	Supported link modes:   10baseT/Half 10baseT/Full 
    	                        100baseT/Half 100baseT/Full 
    	                        1000baseT/Full 
    	Supported pause frame use: Symmetric Receive-only
    	Supports auto-negotiation: Yes
    	Supported FEC modes: Not reported
    	Advertised link modes:  10baseT/Half 10baseT/Full 
    	                        100baseT/Half 100baseT/Full 
    	                        1000baseT/Full 
    	Advertised pause frame use: No
    	Advertised auto-negotiation: Yes
    	Advertised FEC modes: Not reported
    	Link partner advertised link modes:  10baseT/Half 10baseT/Full 
    	                                     100baseT/Half 100baseT/Full 
    	                                     1000baseT/Full 
    	Link partner advertised pause frame use: Symmetric
    	Link partner advertised auto-negotiation: Yes
    	Link partner advertised FEC modes: Not reported
    	Speed: 10Mb/s
    	Duplex: Full
    	Port: MII
    	PHYAD: 0
    	Transceiver: internal
    	Auto-negotiation: on
    	Supports Wake-on: g
    	Wake-on: d
    	Current message level: 0x00000000 (0)
    			       
    	Link detected: yes
    root@BEL-MVR:~# ethtool -i eth0
    driver: cpsw
    version: 1.0
    firmware-version: 
    expansion-rom-version: 
    bus-info: 4a100000.ethernet
    supports-statistics: yes
    supports-test: no
    supports-eeprom-access: no
    supports-register-dump: yes
    supports-priv-flags: no
    root@BEL-MVR:~# ethtool -S eth0
    NIC statistics:
         Good Rx Frames: 197
         Broadcast Rx Frames: 15
         Multicast Rx Frames: 128
         Pause Rx Frames: 0
         Rx CRC Errors: 0
         Rx Align/Code Errors: 0
         Oversize Rx Frames: 0
         Rx Jabbers: 0
         Undersize (Short) Rx Frames: 0
         Rx Fragments: 0
         Rx Octets: 34246
         Good Tx Frames: 138
         Broadcast Tx Frames: 34
         Multicast Tx Frames: 47
         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: 15611
         Rx + Tx 64 Octet Frames: 5
         Rx + Tx 65-127 Octet Frames: 254
         Rx + Tx 128-255 Octet Frames: 29
         Rx + Tx 256-511 Octet Frames: 20
         Rx + Tx 512-1023 Octet Frames: 27
         Rx + Tx 1024-Up Octet Frames: 0
         Net Octets: 49857
         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: 196
         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: 54
         Rx DMA chan 0: good_dequeue: 69
         Rx DMA chan 0: requeue: 0
         Rx DMA chan 0: teardown_dequeue: 0
         Tx DMA chan 0: head_enqueue: 136
         Tx DMA chan 0: tail_enqueue: 2
         Tx DMA chan 0: pad_enqueue: 0
         Tx DMA chan 0: misqueued: 2
         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: 32
         Tx DMA chan 0: empty_dequeue: 136
         Tx DMA chan 0: busy_dequeue: 0
         Tx DMA chan 0: good_dequeue: 138
         Tx DMA chan 0: requeue: 0
         Tx DMA chan 0: teardown_dequeue: 0
    root@BEL-MVR:~# ifconfig
    eth0      Link encap:Ethernet  HWaddr 98:5D:AD:36:DE:20  
              inet addr:10.10.200.103  Bcast:10.10.200.255  Mask:255.255.255.0
              inet6 addr: fe80::9a5d:adff:fe36:de20%775872/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:82 errors:0 dropped:0 overruns:0 frame:0
              TX packets:152 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:6349 (6.2 KiB)  TX bytes:16195 (15.8 KiB)
              Interrupt:46 
    
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1%775872/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:193 errors:0 dropped:0 overruns:0 frame:0
              TX packets:193 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:16336 (15.9 KiB)  TX bytes:16336 (15.9 KiB)
    
    usb0      Link encap:Ethernet  HWaddr 4A:E6:6D:C4:EE:68  
              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)
    
    root@BEL-MVR:~# 

  • Hi,

    Since auto negotiation is being used here it looks like the two link partners are agreeing on selecting 10Mbps full duplex for the bit rate and duplex mode. Both link partners are advertising that they each support 1Gbps but 10Mbps is the result after negotiation. Auto negotiation happens between the two PHYs without interfacing with the MAC so for the moment this most likely points to a analog side of the PHY issue. I would recommend contacting the PHY vendor on for advice on possible debug options. 

    Best Regards,

    Schuyler

  • Hello Schuyler,

    The PHY IC is the same as being used in the evaluation board and we didn't change the schematic even. What made this board different from evaluation module? When we connect evaluation module its settling to 1GBps. So my boards should also settle to 1GBps... How can it become PHY issue specific to me ?/

    Regards

    Mad_hu

  • Hi,

    One possibility might be that while the schematic is the same but the board layout is impacting you on the analog side of the PHY or the connector magnetics. The auto-negotiation starts at the highest speed and full duplex mode and then works down the advertised link speeds between the two PHYs. This board is settling on 10Mbps because the higher speeds were not usable. 

    Best Regards,

    Schuyler

  • Hello Schuyler ,

    Layout wise we have taken care that it resembles same but the other point what you have mentioned may be the issue i.e. magnetics of the connector.

    As the connector on EVM became obsolete we have gone to another connector with some different magnetics.

    Do you really feel that magnetics cause issue in settling to 1GBps?

    Regards

    Mad_hu

  • Hi,

    The recommendation I have is this is something that you will have to investigate with the PHY vendor or the connector vendor. Most likely whatever is going wrong is on the analog side of the PHY and is beyond the scope of support that TI can provide on the AM3358.

    Best Regards,

    Schuyler