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.

AM2434: ICSS-EMAC switch mode operation fail

Part Number: AM2434


Hi Expert,

When I tested ICSS-EMAC switch mode operation with TI example, "hsr_prp_demo(prp_mii_demo)", I found ICSS-EMAC switch mode operation is not working.

I ethernet-connected two AM243x GP EVMs and my PC in a daisy chain topology as below:

  • PC <--> (port1) 1st AM243x GP EVM (port2) <--> (port1) 2nd AM243x GP EVM
  • IP address
    • PC: 169.254.217.116
    • 1st EVM: 169.254.217.1
    • 2st EVM: 169.254.217.2

In "ping" test, 

  • ping from PC to 1st EVM was successful.
  • ping from PC to 2nd EVM failed.

I expected that TI example using "ICSS-EMAC switch mode" would enable switching operation, but in my test, 1st EVM did not operate as a switch. please let me know if there was any missing point in my switching operation test.

For our product, we implemented our application using ICSS-EMAC switch mode by referring to TI "prp_mii_demo example" since we have to use daisy chain topology. However, it seems not to work in the way we expected.

I would appreciate it if you share any checkpoints and your knowledge on this issue.

Best,

Moonil

  • Hi Moonil,

    I have started looking into it and will share once I have an update

    BR

    Nilabh A.

  • Hi Nilabh,

    could you please let me know your progress on this topic if you have? was this issue reproduced at your end?

    Best,

    Moonil

  • Hi Moonil,

    For PRP, Only Host will do the forwarding, as per spec. There will be no port forwarding.

    For HSR, Port forwarding is done, It supports cut through mode.

    Regards

    Nilabh A.

  • Hi Nilabh,

    For PRP, Only Host will do the forwarding, as per spec. There will be no port forwarding.

    For HSR, Port forwarding is done, It supports cut through mode.

    Do you mean the example can do switching operation if PRP is disabled from hsr_prp_demo example? correct? We are using SDK 08.02.00.31. 

    In our project, lwip is working on ICSS-EMAC switch mode based on the code of "hsr_prp_demo example" from SDK 08.02.00.31.  Should we refer to "hsr" example from SDK 08.04.00.17?

    Regards,

    Moonil

  • Hi Nilabh,

    To see port forwarding and cut-through mode in HSR, I tested HSR example in SDK 08.04.00.17. it started without any error as below.

    but when I did "ping 169.254.217.1 -t" to TI EVM from PC, there was no correct ICMP response (EVB and PC were connected directly) and also I was not able to find the switching operation in two TI EVM connection test.

    could you please let me know how I can verify the switching operation of PRU HSR firmware to apply it to our product?

    Regards,

    Moonil

     

  • Hi Moonil,

    I have a few questions, if can please answer them:

    1. What is the use case here, as I am not aware of it?(Do you want HSR operation or a standard switch using ICSS EMAC)

    2. Is the PC and evm on same network(i.e gateway and subnet mask are same or not)

    Regards

    BR

    Nilabh A.

  • Hi Nilabh,

    1. What is the use case here, as I am not aware of it?(Do you want HSR operation or a standard switch using ICSS EMAC)

    we need only a standard switch using ICSS EMAC for now. (no plan to use HSR or PRP yet). LWIP must operate on our product and our product must function as a switch.

    2. Is the PC and evm on same network(i.e gateway and subnet mask are same or not)

    yes, in my test, they are directly connected. so, they are on the same network (the same subnet mask but no gateway, 0.0.0.0)

    FYI, when I tested HSR_PRP_DEMO in SDK 08.02.00.31, the ping test to EVB directly connected from PC was okay but the switching operation was not working as I described in the first post in this thread.

    BR,

    Moonil

  • Hi Nilabh,

    I replied to your email attaching the previous email including a summary of the conference with your team. I hope this helps your understanding of the background on this topic. I think you and your team started to work on a solution. I would appreciate it if you share the estimated schedule first. It will help our project planning on this feature.

    Regards,

    Moonil

  • Hi Moonil,

    We are in discussion with the concerned team. The ETA is by EOW.

    BR

    Nilabh A.

  • Hi Moonil,

    Apologies for the delay, Our software experts are on leave, please expect some delay in response. 

    BR

    Nilabh A.

  • Hi Nilabh,

    Could you please update me on this? Please be aware that our project is in the stage of testing all features on our protoboard for the product and this switching operation feature is one of the important and basic functions we have to get it "pass".

    I would appreciate it if you share your patch or a feasible plan to resolve this issue.

    FYI, we are using SDK 08.02.00.31 in our project, so when you provide a patch, this SDK version base is currently preferred for our project. but let me know if the update to the latest SDK is essentially required for the fix.

    Regards,

    Moonil

  • Hi Moonil,

    Could you please update me on this?

    Apologies for the delay in getting back. Thanks for your patience. We are planning to provide you with following:

    EIP sample example/init file: Which shows how to initialize EIP Fw hal(which essential to use EIP Firmware), initialize LWIP and documentation on how to integrate it to SDK.

    There are some challenges we see, which we are trying to overcome. I would be able to give exact schedule only by next week. I do understand the criticality on your part, we are trying our best.

    FYI, we are using SDK 08.02.00.31 in our project, so when you provide a patch, this SDK version base is currently preferred for our project. but let me know if the update to the latest SDK is essentially required for the fix.

    Please do move to latest SDK as it helps in addressing any previously reported bugs and additional features.

    BR

    Nilabh A.

  • Hi Nilabh,

    Thank you for your feedback.

    For our project, if your team provides a patch for switching operations on top of PRP example we are using, it would be easy way to apply your patch to our project.

    We are planning to provide you with following:

    EIP sample example/init file: Which shows how to initialize EIP Fw hal(which essential to use EIP Firmware), initialize LWIP and documentation on how to integrate it to SDK.

    But since you said like above, one thing I would like to make sure of with you is, we will not use the KUNBUS EIP adapter provided in SDK, instead, our own EIP adapter module will run on top of Lwip TCI/IP stack and needs IP switching operations for daisy-chain topology on ICSS-EMAC (2 ports), which means we are currently not using any EIP specific features TI EIP PRU firmware can provide. Please remind your team when preparing the patch.

    I hope to get your team's schedule for the patch soon.

    Regards,

    Moonil

  • Hi Moonil, 

    Sure, will convey it to the team

  • Hi Nilabh,

    could you please update me on this?

    Regards,

    Moonil

  • HI Moonil,

    Let me get back with the updates from internal team

    BR

    Nilabh A.

  • Moonil,

    we will not use the KUNBUS EIP adapter provided in SDK, instead, our own EIP adapter module will run on top of Lwip TCI/IP stack and needs IP switching operations for daisy-chain topology on ICSS-EMAC (2 ports), which means we are currently not using any EIP specific features TI EIP PRU firmware can provide.

    As per response from software team, they cannot change the EIP firmware, What they can provide is the instructions on how to use EIP firmware without Kunbus Stack. You request was to give icss emac based switch, but that is not part of the TI offering, but you can use EIP firmware in that place.

    (For stand ethernet use cases we recommend using only Enet LLD driver on PRU ICSS)

    The timeline for the same is expected in MCU SDK 8.6 release, I need to get back with a release timeline.

    BR

    Nilabh A.

  • Hi Nilabh,

    thanks for your feedback. 

    What they can provide is the instructions on how to use EIP firmware without Kunbus Stack.

    q1) to resolve the switching mode issue(cut-through for daisy-chain) on PRP firmware, do you mean, we have to use EIP firmware instead PRP your team guided before? correct?

    q2) the instruction and example for EIP firmware working without KUNBUS will come to us along with  MCU SDK 8.6 release? correct?

    q3) can you provide an example or clear instructions in advance about how to use EIP firmware without Kunbus Stack and still use LWIP from any application on icss emac? we need to review it as soon as possible to check our additional effort or any issues with our existing implementation since we are already in the testing stage but not the development stage. Please be with our urgency.

    q4) MCU SDK 8.6 release date?

    I am looking forward to your reply on my questions. 

    Regards,

    Moonil

  • HI Moonil,

    q1) to resolve the switching mode issue(cut-through for daisy-chain) on PRP firmware, do you mean, we have to use EIP firmware instead PRP your team guided before? correct?

    => Yes correct. PRP was suggested as it had LWIP interface layer for ICSS EMAC already implemented. But there seems to be a misunderstanding with respect to capability of PRP firmware, as it cannot support Switching feature(since its basically supports only mac mode). 

    q2) the instruction and example for EIP firmware working without KUNBUS will come to us along with  MCU SDK 8.6 release? correct?

    => Yes correct. The instructions and porting guide would be available with 8.6. Example feasibility would need to be evaluated.

    q3) can you provide an example or clear instructions in advance about how to use EIP firmware without Kunbus Stack and still use LWIP from any application on icss emac? we need to review it as soon as possible to check our additional effort or any issues with our existing implementation since we are already in the testing stage but not the development stage. Please be with our urgency.

    => We are trying to prepare this porting guide to use EIP firmware without Kunbus stack. Timeline for the same is expected to be 8.6 SDK release.

    q4) MCU SDK 8.6 release date?

    => Q1 2023(Exact dates are yet to be finalized).

    I will keep this forum posted on any update on dates of SDK release.

    BR

    Nilabh A.

  • Hi Nilabh,

    could you please update me on the MCU SDK 8.6 release date?

    We are trying to prepare this porting guide to use EIP firmware without Kunbus stack.

    Is EIP firmware in SDK 8.3 working with only the Kunbus stack? it seems "yes" according to your reply.

    as mentioned, we need the switch operation and LWIP stack for our product but no need EIP specific operation from EIP firmware. so I would like to confirm with you again this. Could you please explain again the reason why we have to wait for EIP firmware in 8.6 instead of using the one in 8.3?

    Regards,

    Moonil

  • Hi, Moonil,

    I sincerely apologize for any inconvenience caused due to this. Let me clarify, TI suggests is to use  CPSW peripheral for general-purpose ethernet requirements and it has lwip support available. We do not recommend ICSS EMAC for the same, neither we support it in SDK. Coming to your use case

    i.e. ICSS EMAC driver with lwip, you will need an interface layer for lwip, which by the way is designed only for HSR-PRP FWHAL(built on top of ICSS EMAC driver) and you started testing with that, but inherently HSR/PRP FW doesn't support switching. So we are suggesting you to use EIP.

    Next why you need EIP is due to fact that it is closest to Switch firmware(with the exception of DLR Handling), but still, for EIP + lwip you will still need an interface layer, which currently is not there. We are working towards preparing the documentation/porting guide for the same.

    Also, I think you can use it with 8.3 too with some changes.

    BR

    Nilabh A.