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.

RTOS/66AK2H14: Forced link issue

Part Number: 66AK2H14

Tool/software: TI-RTOS

Hi,

I am using CCV7 and ti-processor-sdk-rtos-k2hk-evm-04.03.00.05-Windows-x86-Install.

We have designed the custom board using 66AK2H14 . In which  Micro semi Ethernet switch(VCS7429) is connected to the SGMII ports of the K2H processor.

  1. In SGMII to SGMII with Auto-Negotiation Configuration :
    • We are able to get the link up without any error.
    • Packet sent by the processor is received by the Micro semi Ethernet switch(VCS7429).

       2. SGMII to SGMII with Forced Link Configuration:

    • We are able to get the link up without any error.
    • Packet sent by the processor is not received by the Micro semi Ethernet switch(VCS7429).

Whether there is any limitation from 66AK2H14 processor side for forced link configuration?

Is there any changes other than what is specified in section 2.4.3.4 SGMII to SGMII with Forced Link Configuration of the GBE user guide for forced link configuration?

Please clarify.
Thanks and Regards,
Mahima Shanbag

  • Hi,

    Auto-negotiation is recommended way for the connection between SGMII ports. Forced link may be used if the auto-negotiation failed or not supported and you know the capability of both party. I am not aware of any limitation of K2H device SGMII port, the setting is documented 2.4.3.4 SGMII to SGMII with Forced Link Configuration of the GbE user guide.

    If you can't receive any packets at the Micro semi Ethernet switch side, you can look at the KeyStone II Gigabit Ethernet Switch Subsystem Complete Register Listing in the same document, for those Tx packet statistics to see if packets sent out. In the switch side do you have any statistics counter showing number of packets received/dropped?

    Regards, Eric
  • Hi Eric,

    Thank you so much for your support.

    I checked the Tx packet statistics of K2H processor , I can see packets sent out.
    In Ethernet switch side , In MAC layer we have statistics counter and it is showing the count 0.

    With auto negotiation , packets sent by the processor were received by the Ethernet switch.

    So my doubt is whether forced link configuration has any issue with packet forwarding?

    Please clarify.

    Thanks and Regards,
    Mahima Shanbag

  • Hi,

    No, there is no such issue. Does the switch side has any counter showing bad packets/dropped packet, etc?

    Regards, Eric
  • Hi Eric,
    Thank you for your quick response.

    Does the switch side has any counter showing bad packets/dropped packet, etc?
    >>> Yes. I checked the statistics of all the counters and it is showing the value 0.

    In ANEG mode I am able to receive the packets in switch. So I got the doubt that forced link has some issue.
    I wanted to make sure that K2H side configurations are proper.
    Please help me with this.

    Meanwhile I will check with Ethernet switch vendor and make sure the Ethernet switch settings are proper and get back to you ASAP.

    Thank you.
    Regards,
    Mahima Shanbag
  • Hi Eric,
    Thank you for your support.
    We are able to transmit the packets using PA_emacExample_K2HArmBiosExampleProject when configured in CPSW_LOOPBACK_NONE.

    To test the ingress direction I configured the cpswLpbkMode = CPSW_LOOPBACK_EXTERNAL.
    I used packet sender tool to send out packets with controlled MAC address, IP address and UDP port matching the PA layer 2, 3 and 4 classifications, defined by the following functions:
    Add_MACAddress(): ethInfo.dst
    Add_IPAddress(): ipInfo.dst
    Add_Port (): ports.
    No packets received , and when I checked the wire shark of the PC , there is no reply for ARP packet.

    When I sent the broadcast packet from the packet sender tool , processor has received the packets(from RX counter statistics).

    Now my question is:
    Q1. Whether we have to configure any other settings to test the ingress direction with the MAC , IP and UDP port matching the PA layer 2, 3 and 4 classifications other than cpswLpbkMode = CPSW_LOOPBACK_EXTERNAL?
    Q2 . As PA_emacExample_K2HArmBiosExampleProject broadcast the packets , Is there any other application to send unicast packets?

    Please help me with this.

    Thanks and Regards,
    Mahima Shanbag
  • Hi,

    Please clarify the goal for the test the latest PA level testing.

    From the beginning of the thread, you verified that with auto-negotiation setup between K2H and switch "Packet sent by the processor is received by the Micro semi Ethernet switch(VCS7429)." What is the method sending packets from K2H to switch, is some EMAC/PA level code or NDK level code? Was ingress direction ever worked before?

    "To test the ingress direction I configured the cpswLpbkMode = CPSW_LOOPBACK_EXTERNAL.
    I used packet sender tool to send out packets with controlled MAC address, IP address and UDP port matching the PA layer 2, 3 and 4 classifications, defined by the following functions:
    Add_MACAddress(): ethInfo.dst
    Add_IPAddress(): ipInfo.dst
    Add_Port (): ports.
    No packets received , and when I checked the wire shark of the PC , there is no reply for ARP packet. " >>>>>>>>>

    Can you try the cpswLpbkMode = CPSW_LOOPBACK_NONE?

    No packets received , >>>>>>>>> At what level no packet received? host level or EMAC statistics level?
    "there is no reply for ARP packet." >>>>>>>> why you expect "PA_emacExample_K2HArmBiosExampleProject" will sends out a packet when it receives one? This is just a loopback test. Tx 10 packet, loopback and receive it.

    As PA_emacExample_K2HArmBiosExampleProject broadcast the packets >>>>>>>> No, you define the packet yourself, it is unicast packet by default.

    Regards, Eric
  • Hi Eric,

    1) What is the method sending packets from K2H to switch, is some EMAC/PA level code or NDK level code?
    I am using PA_emacExample_K2HArmBiosExampleProject .

    2) Was ingress direction ever worked before?
    I didn't check the ingress direction before.

    3) Can you try the cpswLpbkMode = CPSW_LOOPBACK_NONE?
    I tested this configuration and able to receive the packets at PC.

    4) At what level no packet received? host level or EMAC statistics level?
    When I sent the packet from the PC using packet sender tool with IP and ports as
    Add_IPAddress(): ipInfo.dst
    Add_Port (): ports.
    No packets received at the EMAC statistics level.

    >>>No, you define the packet yourself, it is unicast packet by default
    Packets sent by the processor is broadcasted to all the ports of the Ethernet switch. So I got the doubt that processor is sending out the broadcast packets.
    In the packet header I see the destination IP as 192.168.1.10 and it is sent to PC(configured to static IP - 192.168.1.20).
    How the PC received the packet as the destination IP in the packet header is different than what is set in PC?
    Please clarify me.

    Thank you.
    Regards,
    Mahima Shanbag
  • Hi,

    Before you developed this board with K2H and Microsemi switch, you have testing of K2H EVM directly connected to PC for the Tx and Rx, correct? I recalled you opened such query in the past, can you confirm that K2H + PC was working?

    Now, let's move to the new board, is that K2H--------Microsemi switch ------PC topology? And you confirmed the Tx path is working. For the Rx path, are you able to see that switch received packets from PC and sent to the K2H? Why the K2H didn't receive any packets at the EMAC statistics? Is the link stable and did you see any info at EMAC statistics like packet drop?

    Your K2H just connected to one port of the switch and the PA example sent the packets defined by
    uint8_t pktMatch[] = {
    0x10, 0x11, 0x12, 0x13, 0x14, 0x15, /* Dest MAC */
    0x00, 0x01, 0x02, 0x03, 0x04, 0x05, /* Src MAC */
    0x08, 0x00, /* Ethertype = IPv4 */
    0x45, 0x00, 0x00, 0x6c, /* IP version, services, total length */
    0x00, 0x00, 0x00, 0x00, /* IP ID, flags, fragment offset */
    0x05, 0x11, 0x32, 0x26, /* IP ttl, protocol (UDP), header checksum */
    0xc0, 0xa8, 0x01, 0x01, /* Source IP address */
    0xc0, 0xa8, 0x01, 0x0a, /* Destination IP address */

    This is a unicast packet and the switch doesn't know where this packet should go, so it broadcasts to all ports. If your PC is 192.168.1.20, you can change above code for packet destination IP address and rebuild your application.

    Regards, Eric
  • Hi Eric,
    Thank you so much for your support.

    >>Before you developed this board with K2H and Microsemi switch, you have testing of K2H EVM directly connected to PC for the Tx and >>Rx, correct? I recalled you opened such query in the past, can you confirm that K2H + PC was working?
    I tested only the egress direction in the K2H EVM and that was working. I am able to receive the packets at PC.

    >>is that K2H--------Microsemi switch ------PC topology?
    Yes.

    >>For the Rx path, are you able to see that switch received packets from PC and sent to the K2H?
    I changed the tool I was using to send the packet from the PC , Now I am able to receive the packet at the TI processor confirmed from the EMAC statistic counters.

    I changed the destination MAC address to my PC address in pktMatch[] and able to send the uni cast packet.

    Thank you.
    Regards,
    Mahima Shanbag
  • So, what is the issue left?

    Regards, Eric
  • Hi Eric ,
    Thank you so much for your time and support.

    No issue left , It is working fine.

    Thanks and Regards,
    Mahima Shanbag